diff --git a/patches/0002-Shared-features.patch b/patches/0002-Shared-features.patch index 1db2c8a145..727b5498e5 100644 --- a/patches/0002-Shared-features.patch +++ b/patches/0002-Shared-features.patch @@ -19,10 +19,10 @@ index d3723a3480..4953bff3b7 100644 + return true +} diff --git a/internal/provider/features.go b/internal/provider/features.go -index 57238f1db2..a01fe3586c 100644 +index ac7f6da7d6..e41f13d5a6 100644 --- a/internal/provider/features.go +++ b/internal/provider/features.go -@@ -354,7 +354,7 @@ func schemaFeatures(supportLegacyTestSuite bool) *pluginsdk.Schema { +@@ -369,7 +369,7 @@ func schemaFeatures(supportLegacyTestSuite bool) *pluginsdk.Schema { return &pluginsdk.Schema{ Type: pluginsdk.TypeList, diff --git a/patches/0005-Modify-resources.patch b/patches/0005-Modify-resources.patch index e700f5a57a..3654a142b9 100644 --- a/patches/0005-Modify-resources.patch +++ b/patches/0005-Modify-resources.patch @@ -292,10 +292,10 @@ index d1de175cb8..d18589669e 100644 "size_gb": { diff --git a/internal/services/compute/linux_virtual_machine_resource.go b/internal/services/compute/linux_virtual_machine_resource.go -index 18857dca52..9120f6a6bd 100644 +index fdeed2c65d..eb99645011 100644 --- a/internal/services/compute/linux_virtual_machine_resource.go +++ b/internal/services/compute/linux_virtual_machine_resource.go -@@ -361,11 +361,11 @@ func resourceLinuxVirtualMachine() *pluginsdk.Resource { +@@ -368,11 +368,11 @@ func resourceLinuxVirtualMachine() *pluginsdk.Resource { }, "platform_fault_domain": { @@ -457,7 +457,7 @@ index b4421f2947..0eb8adf83a 100644 return nil diff --git a/internal/services/containers/kubernetes_cluster_resource.go b/internal/services/containers/kubernetes_cluster_resource.go -index d147df68f2..f726cb9772 100644 +index e4a6c70f92..3706fdcb8f 100644 --- a/internal/services/containers/kubernetes_cluster_resource.go +++ b/internal/services/containers/kubernetes_cluster_resource.go @@ -1060,7 +1060,7 @@ func resourceKubernetesCluster() *pluginsdk.Resource { @@ -1136,7 +1136,7 @@ index bdf780b66a..5a0bb36d62 100644 ConflictsWith: []string{"release_criteria.0.recurrence.0.schedule.0.month_days", "release_criteria.0.recurrence.0.schedule.0.monthly"}, }, diff --git a/internal/services/logic/logic_app_standard_resource.go b/internal/services/logic/logic_app_standard_resource.go -index 0c29d3383e..4faec6e9f7 100644 +index 61dd7f0622..cd5000e953 100644 --- a/internal/services/logic/logic_app_standard_resource.go +++ b/internal/services/logic/logic_app_standard_resource.go @@ -10,6 +10,8 @@ import ( @@ -1267,7 +1267,7 @@ index 2766565528..b7af892e01 100644 }, "hours": { diff --git a/internal/services/mssql/mssql_database_resource.go b/internal/services/mssql/mssql_database_resource.go -index bf746a51b7..59b2cb83ec 100644 +index f2531818d2..f6b10d8969 100644 --- a/internal/services/mssql/mssql_database_resource.go +++ b/internal/services/mssql/mssql_database_resource.go @@ -6,6 +6,7 @@ package mssql @@ -1278,7 +1278,7 @@ index bf746a51b7..59b2cb83ec 100644 "log" "strings" "time" -@@ -1657,7 +1658,8 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1680,7 +1681,8 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { "Sql_Injection", "Sql_Injection_Vulnerability", "Access_Anomaly", @@ -1288,7 +1288,7 @@ index bf746a51b7..59b2cb83ec 100644 }, }, -@@ -1668,7 +1670,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1691,7 +1693,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { Optional: true, Default: EmailAccountAdminsStatusDisabled, ValidateFunc: validation.StringInSlice(PossibleValuesForEmailAccountAdminsStatus(), @@ -1297,7 +1297,7 @@ index bf746a51b7..59b2cb83ec 100644 }, "email_addresses": { -@@ -1696,7 +1698,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1719,7 +1721,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { Optional: true, Default: string(serversecurityalertpolicies.SecurityAlertsPolicyStateDisabled), ValidateFunc: validation.StringInSlice(serversecurityalertpolicies.PossibleValuesForSecurityAlertsPolicyState(), @@ -1711,7 +1711,7 @@ index 783d4697cc..f29ea8b4da 100644 "sku_tier": { diff --git a/internal/services/network/route_resource.go b/internal/services/network/route_resource.go -index 2676be7944..865bfbb836 100644 +index 948650490b..9fba7427fd 100644 --- a/internal/services/network/route_resource.go +++ b/internal/services/network/route_resource.go @@ -5,6 +5,8 @@ package network @@ -1722,7 +1722,7 @@ index 2676be7944..865bfbb836 100644 + "github.com/hashicorp/terraform-provider-azurerm/internal/tf/suppress" "time" - "github.com/hashicorp/go-azure-helpers/lang/response" + "github.com/hashicorp/go-azure-helpers/lang/pointer" @@ -71,7 +73,8 @@ func resourceRoute() *pluginsdk.Resource { string(routes.RouteNextHopTypeInternet), string(routes.RouteNextHopTypeVirtualAppliance), @@ -1734,19 +1734,21 @@ index 2676be7944..865bfbb836 100644 "next_hop_in_ip_address": { diff --git a/internal/services/network/route_table_resource.go b/internal/services/network/route_table_resource.go -index 72be88cc09..fa4cfce350 100644 +index 426dcd90a5..d4da8f1051 100644 --- a/internal/services/network/route_table_resource.go +++ b/internal/services/network/route_table_resource.go -@@ -5,6 +5,8 @@ package network - - import ( - "fmt" +@@ -15,8 +15,10 @@ import ( + "github.com/hashicorp/go-azure-sdk/resource-manager/network/2023-09-01/routetables" + "github.com/hashicorp/terraform-provider-azurerm/helpers/tf" + "github.com/hashicorp/terraform-provider-azurerm/internal/clients" + "github.com/hashicorp/terraform-provider-azurerm/internal/features" + "github.com/hashicorp/terraform-provider-azurerm/internal/services/network/validate" + "github.com/hashicorp/terraform-provider-azurerm/internal/tf/pluginsdk" + "github.com/hashicorp/terraform-provider-azurerm/internal/tf/suppress" - "log" - "time" - -@@ -84,7 +86,8 @@ func resourceRouteTable() *pluginsdk.Resource { + "github.com/hashicorp/terraform-provider-azurerm/internal/tf/validation" + "github.com/hashicorp/terraform-provider-azurerm/internal/timeouts" + "github.com/hashicorp/terraform-provider-azurerm/utils" +@@ -83,7 +85,8 @@ func resourceRouteTable() *pluginsdk.Resource { string(routetables.RouteNextHopTypeInternet), string(routetables.RouteNextHopTypeVirtualAppliance), string(routetables.RouteNextHopTypeNone), @@ -2025,7 +2027,7 @@ index 32b5de4a99..081e69a07f 100644 "target_disk_encryption_set_id": { diff --git a/internal/services/redis/redis_cache_resource.go b/internal/services/redis/redis_cache_resource.go -index 528b79961e..fc7196b399 100644 +index 4913e2d7d6..1ad3808d29 100644 --- a/internal/services/redis/redis_cache_resource.go +++ b/internal/services/redis/redis_cache_resource.go @@ -6,6 +6,7 @@ package redis @@ -2471,7 +2473,7 @@ index b215edff58..4381151544 100644 if !ok { return fmt.Errorf("could not determine Storage domain suffix for environment %q", meta.(*clients.Client).Account.Environment.Name) diff --git a/internal/services/storage/storage_account_resource.go b/internal/services/storage/storage_account_resource.go -index a68e2afada..dfefdbb1ed 100644 +index 8e4d3eae4a..351df0b49a 100644 --- a/internal/services/storage/storage_account_resource.go +++ b/internal/services/storage/storage_account_resource.go @@ -13,6 +13,9 @@ import ( diff --git a/patches/0007-Update-documentation.patch b/patches/0007-Update-documentation.patch index 036ca4c25e..4b277b245f 100644 --- a/patches/0007-Update-documentation.patch +++ b/patches/0007-Update-documentation.patch @@ -1921,7 +1921,7 @@ index 656e81119f..b9a4cae44f 100644 scope = "/subscriptions/00000000-0000-0000-0000-000000000000" diff --git a/website/docs/r/linux_virtual_machine.html.markdown b/website/docs/r/linux_virtual_machine.html.markdown -index 8ec721ea72..7f7c4ec1a7 100644 +index 72b87a1694..4499a5cded 100644 --- a/website/docs/r/linux_virtual_machine.html.markdown +++ b/website/docs/r/linux_virtual_machine.html.markdown @@ -12,9 +12,9 @@ Manages a Linux Virtual Machine. @@ -1946,7 +1946,7 @@ index 8ec721ea72..7f7c4ec1a7 100644 ```hcl resource "azurerm_resource_group" "example" { diff --git a/website/docs/r/linux_virtual_machine_scale_set.html.markdown b/website/docs/r/linux_virtual_machine_scale_set.html.markdown -index 8d4115f936..c7eeb5a18b 100644 +index ed31892957..6d21326467 100644 --- a/website/docs/r/linux_virtual_machine_scale_set.html.markdown +++ b/website/docs/r/linux_virtual_machine_scale_set.html.markdown @@ -12,15 +12,11 @@ Manages a Linux Virtual Machine Scale Set. @@ -2775,7 +2775,7 @@ index 6786f8eb01..38823a0fd4 100644 name = "example-resources" location = "West Europe" diff --git a/website/docs/r/subnet.html.markdown b/website/docs/r/subnet.html.markdown -index eb2020be7a..6f8b64b8c3 100644 +index 24b8800c76..4504555426 100644 --- a/website/docs/r/subnet.html.markdown +++ b/website/docs/r/subnet.html.markdown @@ -11,7 +11,7 @@ description: |- @@ -3018,7 +3018,7 @@ index f96d4cc7bd..416bf679b8 100644 --- diff --git a/website/docs/r/virtual_network.html.markdown b/website/docs/r/virtual_network.html.markdown -index 3efa150d43..2029b1f009 100644 +index ec5ffc78a6..91e07e2778 100644 --- a/website/docs/r/virtual_network.html.markdown +++ b/website/docs/r/virtual_network.html.markdown @@ -11,10 +11,10 @@ description: |- @@ -3037,7 +3037,7 @@ index 3efa150d43..2029b1f009 100644 ## Example Usage diff --git a/website/docs/r/windows_virtual_machine.html.markdown b/website/docs/r/windows_virtual_machine.html.markdown -index 1aa2daca46..5782ed68c1 100644 +index dcdb453b43..758e33df0d 100644 --- a/website/docs/r/windows_virtual_machine.html.markdown +++ b/website/docs/r/windows_virtual_machine.html.markdown @@ -12,9 +12,9 @@ Manages a Windows Virtual Machine. @@ -3062,7 +3062,7 @@ index 1aa2daca46..5782ed68c1 100644 ```hcl provider "azurerm" { diff --git a/website/docs/r/windows_virtual_machine_scale_set.html.markdown b/website/docs/r/windows_virtual_machine_scale_set.html.markdown -index 62bcb654c6..ae15668114 100644 +index 0cd4f20871..4071837e34 100644 --- a/website/docs/r/windows_virtual_machine_scale_set.html.markdown +++ b/website/docs/r/windows_virtual_machine_scale_set.html.markdown @@ -12,17 +12,15 @@ Manages a Windows Virtual Machine Scale Set. diff --git a/provider/cmd/pulumi-resource-azure/bridge-metadata.json b/provider/cmd/pulumi-resource-azure/bridge-metadata.json index 0edadc11b7..8cfa3a0903 100644 --- a/provider/cmd/pulumi-resource-azure/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-azure/bridge-metadata.json @@ -4065,6 +4065,10 @@ "current": "azure:containerapp/environmentCertificate:EnvironmentCertificate", "majorVersion": 5 }, + "azurerm_container_app_environment_custom_domain": { + "current": "azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", + "majorVersion": 5 + }, "azurerm_container_app_environment_dapr_component": { "current": "azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent", "majorVersion": 5, @@ -4084,6 +4088,139 @@ "current": "azure:containerapp/environmentStorage:EnvironmentStorage", "majorVersion": 5 }, + "azurerm_container_app_job": { + "current": "azure:containerapp/job:Job", + "majorVersion": 5, + "fields": { + "event_trigger_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "scale": { + "maxItemsOne": false, + "elem": { + "fields": { + "rules": { + "maxItemsOne": false, + "elem": { + "fields": { + "authentication": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + }, + "identity": { + "maxItemsOne": true, + "elem": { + "fields": { + "identity_ids": { + "maxItemsOne": false + } + } + } + }, + "manual_trigger_config": { + "maxItemsOne": true + }, + "outbound_ip_addresses": { + "maxItemsOne": false + }, + "registries": { + "maxItemsOne": false + }, + "schedule_trigger_config": { + "maxItemsOne": true + }, + "secrets": { + "maxItemsOne": false + }, + "template": { + "maxItemsOne": true, + "elem": { + "fields": { + "container": { + "maxItemsOne": false, + "elem": { + "fields": { + "args": { + "maxItemsOne": false + }, + "command": { + "maxItemsOne": false + }, + "env": { + "maxItemsOne": false + }, + "liveness_probe": { + "maxItemsOne": false, + "elem": { + "fields": { + "header": { + "maxItemsOne": false + } + } + } + }, + "readiness_probe": { + "maxItemsOne": false, + "elem": { + "fields": { + "header": { + "maxItemsOne": false + } + } + } + }, + "startup_probe": { + "maxItemsOne": false, + "elem": { + "fields": { + "header": { + "maxItemsOne": false + } + } + } + }, + "volume_mounts": { + "maxItemsOne": false + } + } + } + }, + "init_container": { + "maxItemsOne": false, + "elem": { + "fields": { + "args": { + "maxItemsOne": false + }, + "command": { + "maxItemsOne": false + }, + "env": { + "maxItemsOne": false + }, + "volume_mounts": { + "maxItemsOne": false + } + } + } + }, + "volume": { + "maxItemsOne": false + } + } + } + } + } + }, "azurerm_container_connected_registry": { "current": "azure:containerservice/connectedRegistry:ConnectedRegistry", "majorVersion": 5, @@ -4935,6 +5072,18 @@ } } }, + "azurerm_data_factory_credential_service_principal": { + "current": "azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", + "majorVersion": 5, + "fields": { + "annotations": { + "maxItemsOne": false + }, + "service_principal_key": { + "maxItemsOne": true + } + } + }, "azurerm_data_factory_credential_user_managed_identity": { "current": "azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity", "majorVersion": 5, @@ -11758,6 +11907,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } @@ -12123,6 +12275,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } @@ -12833,6 +12988,41 @@ "current": "azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost", "majorVersion": 5 }, + "azurerm_maintenance_assignment_dynamic_scope": { + "current": "azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", + "majorVersion": 5, + "fields": { + "filter": { + "maxItemsOne": true, + "elem": { + "fields": { + "locations": { + "maxItemsOne": false + }, + "os_types": { + "maxItemsOne": false + }, + "resource_groups": { + "maxItemsOne": false + }, + "resource_types": { + "maxItemsOne": false + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "values": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "azurerm_maintenance_assignment_virtual_machine": { "current": "azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine", "majorVersion": 5 @@ -21053,6 +21243,10 @@ } } }, + "azurerm_virtual_machine_automanage_configuration_assignment": { + "current": "azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", + "majorVersion": 5 + }, "azurerm_virtual_machine_data_disk_attachment": { "current": "azure:compute/dataDiskAttachment:DataDiskAttachment", "majorVersion": 5 @@ -21069,6 +21263,10 @@ } } }, + "azurerm_virtual_machine_gallery_application_assignment": { + "current": "azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", + "majorVersion": 5 + }, "azurerm_virtual_machine_packet_capture": { "current": "azure:compute/packetCapture:PacketCapture", "majorVersion": 5, @@ -23027,6 +23225,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } @@ -23412,6 +23613,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } @@ -27270,6 +27474,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } @@ -28499,6 +28706,18 @@ } } }, + "azurerm_network_manager_connectivity_configuration": { + "current": "azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", + "majorVersion": 5, + "fields": { + "applies_to_group": { + "maxItemsOne": false + }, + "hub": { + "maxItemsOne": false + } + } + }, "azurerm_network_manager_network_group": { "current": "azure:network/getNetworkManagerNetworkGroup:getNetworkManagerNetworkGroup", "majorVersion": 5 @@ -30708,6 +30927,9 @@ "slow_request": { "maxItemsOne": false }, + "slow_request_with_path": { + "maxItemsOne": false + }, "status_code": { "maxItemsOne": false } diff --git a/provider/cmd/pulumi-resource-azure/schema.json b/provider/cmd/pulumi-resource-azure/schema.json index e48e01f753..511a4d8ead 100644 --- a/provider/cmd/pulumi-resource-azure/schema.json +++ b/provider/cmd/pulumi-resource-azure/schema.json @@ -8103,7 +8103,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -9424,7 +9424,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -10841,7 +10841,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -11676,12 +11676,19 @@ "$ref": "#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSiteConfigAutoHealSettingTriggerRequests", "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { "$ref": "#/types/azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest" }, - "description": "One or more `slow_request` blocks as defined above.\n" + "description": "A `slow_request` blocks as defined above.\n" }, "statusCodes": { "type": "array", @@ -11711,6 +11718,33 @@ ] }, "azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of Slow Requests in the time `interval` to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path for which this slow request rule applies.\n\n\u003e **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "timeTaken" + ] + }, + "azure:appservice/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -12370,7 +12404,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -13209,12 +13243,19 @@ "$ref": "#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests", "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { "$ref": "#/types/azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest" }, - "description": "One or more `slow_request` blocks as defined above.\n" + "description": "A `slow_request` block as defined above.\n" }, "statusCodes": { "type": "array", @@ -13244,6 +13285,33 @@ ] }, "azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of Slow Requests in the time `interval` to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path for which this slow request rule applies.\n\n\u003e **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "timeTaken" + ] + }, + "azure:appservice/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -15007,7 +15075,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -16286,7 +16354,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -17661,7 +17729,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -18563,12 +18631,19 @@ "$ref": "#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSiteConfigAutoHealSettingTriggerRequests", "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { "$ref": "#/types/azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest" }, - "description": "One or more `slow_request` blocks as defined above.\n" + "description": "A `slow_request` block as defined above.\n" }, "statusCodes": { "type": "array", @@ -18598,6 +18673,33 @@ ] }, "azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of Slow Requests in the time `interval` to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path for which this slow request rule applies.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "timeTaken" + ] + }, + "azure:appservice/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -19320,7 +19422,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n\n\u003e **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -20223,12 +20325,19 @@ "$ref": "#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests", "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { "$ref": "#/types/azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest" }, - "description": "One or more `slow_request` blocks as defined above.\n" + "description": "A `slow_request` block as defined above.\n" }, "statusCodes": { "type": "array", @@ -20258,6 +20367,33 @@ ] }, "azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of Slow Requests in the time `interval` to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path for which this slow request rule applies.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "timeTaken" + ] + }, + "azure:appservice/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath:WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -22230,7 +22366,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -23892,7 +24028,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -24919,6 +25055,13 @@ }, "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "(Optional) One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { @@ -24937,6 +25080,8 @@ "type": "object", "required": [ "requests", + "slowRequests", + "slowRequestWithPaths", "statusCodes" ], "language": { @@ -24968,6 +25113,39 @@ } }, "azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path to which this rule status code applies.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "path", + "timeTaken" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "azure:appservice/getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -24983,7 +25161,7 @@ }, "timeTaken": { "type": "string", - "description": "The amount of time that qualifies as slow for this rule.\n" + "description": "(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" } }, "type": "object", @@ -25946,7 +26124,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -27551,7 +27729,7 @@ }, "tenantAuthEndpoint": { "type": "string", - "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`\n" + "description": "The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`\n" }, "wwwAuthenticationDisabled": { "type": "boolean", @@ -28643,6 +28821,13 @@ }, "description": "A `requests` block as defined above.\n" }, + "slowRequestWithPaths": { + "type": "array", + "items": { + "$ref": "#/types/azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath" + }, + "description": "(Optional) One or more `slow_request_with_path` blocks as defined above.\n" + }, "slowRequests": { "type": "array", "items": { @@ -28663,6 +28848,7 @@ "privateMemoryKb", "requests", "slowRequests", + "slowRequestWithPaths", "statusCodes" ], "language": { @@ -28694,6 +28880,39 @@ } }, "azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest": { + "properties": { + "count": { + "type": "integer", + "description": "The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule.\n" + }, + "interval": { + "type": "string", + "description": "The time interval in the form `hh:mm:ss`.\n" + }, + "path": { + "type": "string", + "description": "The path to which this rule status code applies.\n", + "deprecationMessage": "`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider." + }, + "timeTaken": { + "type": "string", + "description": "(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" + } + }, + "type": "object", + "required": [ + "count", + "interval", + "path", + "timeTaken" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "azure:appservice/getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath:getWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath": { "properties": { "count": { "type": "integer", @@ -28709,7 +28928,7 @@ }, "timeTaken": { "type": "string", - "description": "The amount of time that qualifies as slow for this rule.\n" + "description": "(Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`.\n" } }, "type": "object", @@ -36823,6 +37042,11 @@ }, "azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities": { "properties": { + "hibernationEnabled": { + "type": "boolean", + "description": "Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created.\n", + "willReplaceOnChanges": true + }, "ultraSsdEnabled": { "type": "boolean", "description": "Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`.\n" @@ -36870,7 +37094,7 @@ }, "order": { "type": "integer", - "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`.\n" + "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`.\n" }, "tag": { "type": "string", @@ -37592,6 +37816,10 @@ "type": "integer", "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.\n" }, + "maximumSurgeInstancesEnabled": { + "type": "boolean", + "description": "Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`.\n\n\u003e **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified.\n" + }, "pauseTimeBetweenBatches": { "type": "string", "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.\n" @@ -40157,6 +40385,11 @@ }, "azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities": { "properties": { + "hibernationEnabled": { + "type": "boolean", + "description": "Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created.\n", + "willReplaceOnChanges": true + }, "ultraSsdEnabled": { "type": "boolean", "description": "Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`.\n" @@ -40205,7 +40438,7 @@ }, "order": { "type": "integer", - "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`.\n" + "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`.\n" }, "tag": { "type": "string", @@ -40930,6 +41163,10 @@ "type": "integer", "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.\n" }, + "maximumSurgeInstancesEnabled": { + "type": "boolean", + "description": "Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`.\n\n\u003e **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified.\n" + }, "pauseTimeBetweenBatches": { "type": "string", "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.\n" @@ -42458,6 +42695,9 @@ "recoveryService": { "$ref": "#/types/azure:config/featuresRecoveryService:featuresRecoveryService" }, + "recoveryServicesVaults": { + "$ref": "#/types/azure:config/featuresRecoveryServicesVaults:featuresRecoveryServicesVaults" + }, "resourceGroup": { "$ref": "#/types/azure:config/featuresResourceGroup:featuresResourceGroup" }, @@ -42598,6 +42838,14 @@ }, "type": "object" }, + "azure:config/featuresRecoveryServicesVaults:featuresRecoveryServicesVaults": { + "properties": { + "recoverSoftDeletedBackupProtectedVm": { + "type": "boolean" + } + }, + "type": "object" + }, "azure:config/featuresResourceGroup:featuresResourceGroup": { "properties": { "preventDeletionIfContainsResources": { @@ -44012,7 +44260,7 @@ }, "value": { "type": "string", - "description": "The value for this secret.\n\n!\u003e **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided.\n\n!\u003e **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `\"\"`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details.\n", + "description": "The value for this secret.\n\n!\u003e **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided.\n", "secret": true } }, @@ -44468,7 +44716,774 @@ } } }, - "azure:containerapp/AppTemplateContainerStartupProbeHeader:AppTemplateContainerStartupProbeHeader": { + "azure:containerapp/AppTemplateContainerStartupProbeHeader:AppTemplateContainerStartupProbeHeader": { + "properties": { + "name": { + "type": "string", + "description": "The HTTP Header Name.\n" + }, + "value": { + "type": "string", + "description": "The HTTP Header value.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "azure:containerapp/AppTemplateContainerVolumeMount:AppTemplateContainerVolumeMount": { + "properties": { + "name": { + "type": "string", + "description": "The name of the Volume to be mounted in the container.\n" + }, + "path": { + "type": "string", + "description": "The path in the container at which to mount this volume.\n" + } + }, + "type": "object", + "required": [ + "name", + "path" + ] + }, + "azure:containerapp/AppTemplateCustomScaleRule:AppTemplateCustomScaleRule": { + "properties": { + "authentications": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication" + }, + "description": "Zero or more `authentication` blocks as defined below.\n" + }, + "customRuleType": { + "type": "string", + "description": "The Custom rule type. Possible values include: `activemq`, `artemis-queue`, `kafka`, `pulsar`, `aws-cloudwatch`, `aws-dynamodb`, `aws-dynamodb-streams`, `aws-kinesis-stream`, `aws-sqs-queue`, `azure-app-insights`, `azure-blob`, `azure-data-explorer`, `azure-eventhub`, `azure-log-analytics`, `azure-monitor`, `azure-pipelines`, `azure-servicebus`, `azure-queue`, `cassandra`, `cpu`, `cron`, `datadog`, `elasticsearch`, `external`, `external-push`, `gcp-stackdriver`, `gcp-storage`, `gcp-pubsub`, `graphite`, `http`, `huawei-cloudeye`, `ibmmq`, `influxdb`, `kubernetes-workload`, `liiklus`, `memory`, `metrics-api`, `mongodb`, `mssql`, `mysql`, `nats-jetstream`, `stan`, `tcp`, `new-relic`, `openstack-metric`, `openstack-swift`, `postgresql`, `predictkube`, `prometheus`, `rabbitmq`, `redis`, `redis-cluster`, `redis-sentinel`, `redis-streams`, `redis-cluster-streams`, `redis-sentinel-streams`, `selenium-grid`,`solace-event-queue`, and `github-runner`.\n" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of string key-value pairs to configure the Custom Scale Rule.\n" + }, + "name": { + "type": "string", + "description": "The name of the Scaling Rule\n" + } + }, + "type": "object", + "required": [ + "customRuleType", + "metadata", + "name" + ] + }, + "azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication": { + "properties": { + "secretName": { + "type": "string", + "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" + }, + "triggerParameter": { + "type": "string", + "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" + } + }, + "type": "object", + "required": [ + "secretName", + "triggerParameter" + ] + }, + "azure:containerapp/AppTemplateHttpScaleRule:AppTemplateHttpScaleRule": { + "properties": { + "authentications": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication" + }, + "description": "Zero or more `authentication` blocks as defined below.\n" + }, + "concurrentRequests": { + "type": "string", + "description": "The number of concurrent requests to trigger scaling.\n" + }, + "name": { + "type": "string", + "description": "The name of the Scaling Rule\n" + } + }, + "type": "object", + "required": [ + "concurrentRequests", + "name" + ] + }, + "azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication": { + "properties": { + "secretName": { + "type": "string", + "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" + }, + "triggerParameter": { + "type": "string", + "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" + } + }, + "type": "object", + "required": [ + "secretName" + ] + }, + "azure:containerapp/AppTemplateInitContainer:AppTemplateInitContainer": { + "properties": { + "args": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of extra arguments to pass to the container.\n" + }, + "commands": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n" + }, + "cpu": { + "type": "number", + "description": "The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. When there's a workload profile specified, there's no such constraint.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0`\n" + }, + "envs": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv" + }, + "description": "One or more `env` blocks as detailed below.\n" + }, + "ephemeralStorage": { + "type": "string", + "description": "The amount of ephemeral storage available to the Container App.\n\n\u003e **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time.\n" + }, + "image": { + "type": "string", + "description": "The image to use to create the container.\n" + }, + "memory": { + "type": "string", + "description": "The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. When there's a workload profile specified, there's no such constraint.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi`\n" + }, + "name": { + "type": "string", + "description": "The name of the container\n" + }, + "volumeMounts": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount" + }, + "description": "A `volume_mounts` block as detailed below.\n" + } + }, + "type": "object", + "required": [ + "image", + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "ephemeralStorage", + "image", + "name" + ] + } + } + }, + "azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv": { + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable for the container.\n" + }, + "secretName": { + "type": "string", + "description": "The name of the secret that contains the value for this environment variable.\n" + }, + "value": { + "type": "string", + "description": "The value for this environment variable.\n\n\u003e **NOTE:** This value is ignored if `secret_name` is used\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount": { + "properties": { + "name": { + "type": "string", + "description": "The name of the Volume to be mounted in the container.\n" + }, + "path": { + "type": "string", + "description": "The path in the container at which to mount this volume.\n" + } + }, + "type": "object", + "required": [ + "name", + "path" + ] + }, + "azure:containerapp/AppTemplateTcpScaleRule:AppTemplateTcpScaleRule": { + "properties": { + "authentications": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication" + }, + "description": "Zero or more `authentication` blocks as defined below.\n" + }, + "concurrentRequests": { + "type": "string", + "description": "The number of concurrent requests to trigger scaling.\n" + }, + "name": { + "type": "string", + "description": "The name of the Scaling Rule\n" + } + }, + "type": "object", + "required": [ + "concurrentRequests", + "name" + ] + }, + "azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication": { + "properties": { + "secretName": { + "type": "string", + "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" + }, + "triggerParameter": { + "type": "string", + "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" + } + }, + "type": "object", + "required": [ + "secretName" + ] + }, + "azure:containerapp/AppTemplateVolume:AppTemplateVolume": { + "properties": { + "name": { + "type": "string", + "description": "The name of the volume.\n" + }, + "storageName": { + "type": "string", + "description": "The name of the `AzureFile` storage.\n" + }, + "storageType": { + "type": "string", + "description": "The type of storage volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. Defaults to `EmptyDir`.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata": { + "properties": { + "name": { + "type": "string", + "description": "The name of the Metadata configuration item.\n" + }, + "secretName": { + "type": "string", + "description": "The name of a secret specified in the `secrets` block that contains the value for this metadata configuration item.\n" + }, + "value": { + "type": "string", + "description": "The value for this metadata configuration item.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret": { + "properties": { + "identity": { + "type": "string", + "description": "The identity to use for accessing key vault reference.\n" + }, + "keyVaultSecretId": { + "type": "string", + "description": "The Key Vault Secret ID. Could be either one of `id` or `versionless_id`.\n" + }, + "name": { + "type": "string", + "description": "The Secret name.\n" + }, + "value": { + "type": "string", + "description": "The value for this secret.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile": { + "properties": { + "maximumCount": { + "type": "integer", + "description": "The maximum number of instances of workload profile that can be deployed in the Container App Environment.\n" + }, + "minimumCount": { + "type": "integer", + "description": "The minimum number of instances of workload profile that can be deployed in the Container App Environment.\n" + }, + "name": { + "type": "string", + "description": "The name of the workload profile.\n" + }, + "workloadProfileType": { + "type": "string", + "description": "Workload profile type for the workloads to run on. Possible values include `Consumption`, `D4`, `D8`, `D16`, `D32`, `E4`, `E8`, `E16` and `E32`.\n\n\u003e **NOTE:** A `Consumption` type must have a name of `Consumption` and an environment may only have one `Consumption` Workload Profile.\n\n\u003e **NOTE:** Defining a `Consumption` profile is optional, however, Environments created without an initial Workload Profile cannot have them added at a later time and must be recreated. Similarly, an environment created with Profiles must always have at least one defined Profile, removing all profiles will force a recreation of the resource.\n" + } + }, + "type": "object", + "required": [ + "name", + "workloadProfileType" + ] + }, + "azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig": { + "properties": { + "parallelism": { + "type": "integer", + "description": "Number of parallel replicas of a job that can run at a given time.\n" + }, + "replicaCompletionCount": { + "type": "integer", + "description": "Minimum number of successful replica completions before overall job completion.\n" + }, + "scales": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfigScale:JobEventTriggerConfigScale" + }, + "description": "A `scale` block as defined below.\n" + } + }, + "type": "object" + }, + "azure:containerapp/JobEventTriggerConfigScale:JobEventTriggerConfigScale": { + "properties": { + "maxExecutions": { + "type": "integer", + "description": "Maximum number of job executions that are created for a trigger.\n" + }, + "minExecutions": { + "type": "integer", + "description": "Minimum number of job executions that are created for a trigger.\n" + }, + "pollingIntervalInSeconds": { + "type": "integer", + "description": "Interval to check each event source in seconds.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfigScaleRule:JobEventTriggerConfigScaleRule" + }, + "description": "A `rules` block as defined below.\n" + } + }, + "type": "object" + }, + "azure:containerapp/JobEventTriggerConfigScaleRule:JobEventTriggerConfigScaleRule": { + "properties": { + "authentications": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfigScaleRuleAuthentication:JobEventTriggerConfigScaleRuleAuthentication" + }, + "description": "A `authentication` block as defined below.\n" + }, + "customRuleType": { + "type": "string", + "description": "Type of the scale rule.\n" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Metadata properties to describe the scale rule.\n" + }, + "name": { + "type": "string", + "description": "Name of the scale rule.\n" + } + }, + "type": "object", + "required": [ + "customRuleType", + "metadata", + "name" + ] + }, + "azure:containerapp/JobEventTriggerConfigScaleRuleAuthentication:JobEventTriggerConfigScaleRuleAuthentication": { + "properties": { + "secretName": { + "type": "string", + "description": "Name of the secret from which to pull the auth params.\n" + }, + "triggerParameter": { + "type": "string", + "description": "Trigger Parameter that uses the secret.\n" + } + }, + "type": "object", + "required": [ + "secretName", + "triggerParameter" + ] + }, + "azure:containerapp/JobIdentity:JobIdentity": { + "properties": { + "identityIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Managed Identity IDs to assign to the Container App Job.\n" + }, + "principalId": { + "type": "string" + }, + "tenantId": { + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`.\n" + } + }, + "type": "object", + "required": [ + "type" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "principalId", + "tenantId", + "type" + ] + } + } + }, + "azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig": { + "properties": { + "parallelism": { + "type": "integer", + "description": "Number of parallel replicas of a job that can run at a given time.\n" + }, + "replicaCompletionCount": { + "type": "integer", + "description": "Minimum number of successful replica completions before overall job completion.\n" + } + }, + "type": "object" + }, + "azure:containerapp/JobRegistry:JobRegistry": { + "properties": { + "identity": { + "type": "string", + "description": "A Managed Identity to use to authenticate with Azure Container Registry.\n" + }, + "passwordSecretName": { + "type": "string", + "description": "The name of the Secret that contains the registry login password.\n" + }, + "server": { + "type": "string", + "description": "The URL of the Azure Container Registry server.\n" + }, + "username": { + "type": "string", + "description": "The username to use to authenticate with Azure Container Registry.\n" + } + }, + "type": "object", + "required": [ + "server" + ] + }, + "azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig": { + "properties": { + "cronExpression": { + "type": "string", + "description": "Cron formatted repeating schedule of a Cron Job.\n" + }, + "parallelism": { + "type": "integer", + "description": "Number of parallel replicas of a job that can run at a given time.\n" + }, + "replicaCompletionCount": { + "type": "integer", + "description": "Minimum number of successful replica completions before overall job completion.\n" + } + }, + "type": "object", + "required": [ + "cronExpression" + ] + }, + "azure:containerapp/JobSecret:JobSecret": { + "properties": { + "identity": { + "type": "string", + "description": "A `identity` block as defined below.\n" + }, + "keyVaultSecretId": { + "type": "string", + "description": "The Key Vault Secret ID. Could be either one of `id` or `versionless_id`.\n" + }, + "name": { + "type": "string", + "description": "Name of the secret.\n" + }, + "value": { + "type": "string", + "description": "Value of the secret.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/JobTemplate:JobTemplate": { + "properties": { + "containers": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainer:JobTemplateContainer" + }, + "description": "A `container` block as defined below.\n" + }, + "initContainers": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateInitContainer:JobTemplateInitContainer" + }, + "description": "A `init_container` block as defined below.\n" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateVolume:JobTemplateVolume" + }, + "description": "A `volume` block as defined below.\n" + } + }, + "type": "object", + "required": [ + "containers" + ] + }, + "azure:containerapp/JobTemplateContainer:JobTemplateContainer": { + "properties": { + "args": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of extra arguments to pass to the container.\n" + }, + "commands": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A command to pass to the container to override the default. This is provided as a list of command line elements without spaces.\n" + }, + "cpu": { + "type": "number", + "description": "The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0`\n" + }, + "envs": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerEnv:JobTemplateContainerEnv" + }, + "description": "One or more `env` blocks as detailed below.\n" + }, + "ephemeralStorage": { + "type": "string", + "description": "The amount of ephemeral storage available to the Container App.\n\n\u003e **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time.\n" + }, + "image": { + "type": "string", + "description": "The image to use to create the container.\n" + }, + "livenessProbes": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerLivenessProbe:JobTemplateContainerLivenessProbe" + }, + "description": "A `liveness_probe` block as detailed below.\n" + }, + "memory": { + "type": "string", + "description": "The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi`\n" + }, + "name": { + "type": "string", + "description": "The name of the container.\n" + }, + "readinessProbes": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerReadinessProbe:JobTemplateContainerReadinessProbe" + }, + "description": "A `readiness_probe` block as detailed below.\n" + }, + "startupProbes": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerStartupProbe:JobTemplateContainerStartupProbe" + }, + "description": "A `startup_probe` block as detailed below.\n" + }, + "volumeMounts": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerVolumeMount:JobTemplateContainerVolumeMount" + }, + "description": "A `volume_mounts` block as detailed below.\n" + } + }, + "type": "object", + "required": [ + "cpu", + "image", + "memory", + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "cpu", + "ephemeralStorage", + "image", + "memory", + "name" + ] + } + } + }, + "azure:containerapp/JobTemplateContainerEnv:JobTemplateContainerEnv": { + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable.\n" + }, + "secretName": { + "type": "string", + "description": "Name of the Container App secret from which to pull the environment variable value.\n" + }, + "value": { + "type": "string", + "description": "The value of the environment variable.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure:containerapp/JobTemplateContainerLivenessProbe:JobTemplateContainerLivenessProbe": { + "properties": { + "failureCountThreshold": { + "type": "integer", + "description": "The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`.\n" + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobTemplateContainerLivenessProbeHeader:JobTemplateContainerLivenessProbeHeader" + }, + "description": "A `header` block as detailed below.\n" + }, + "host": { + "type": "string", + "description": "The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes.\n" + }, + "initialDelay": { + "type": "integer", + "description": "The time in seconds to wait after the container has started before the probe is started.\n" + }, + "intervalSeconds": { + "type": "integer", + "description": "How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`.\n" + }, + "path": { + "type": "string", + "description": "The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n" + }, + "port": { + "type": "integer", + "description": "The port number on which to connect. Possible values are between `1` and `65535`.\n" + }, + "terminationGracePeriodSeconds": { + "type": "integer", + "description": "The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n" + }, + "timeout": { + "type": "integer", + "description": "Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`.\n" + }, + "transport": { + "type": "string", + "description": "Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n" + } + }, + "type": "object", + "required": [ + "port", + "transport" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "path", + "port", + "terminationGracePeriodSeconds", + "transport" + ] + } + } + }, + "azure:containerapp/JobTemplateContainerLivenessProbeHeader:JobTemplateContainerLivenessProbeHeader": { "properties": { "name": { "type": "string", @@ -44485,113 +45500,173 @@ "value" ] }, - "azure:containerapp/AppTemplateContainerVolumeMount:AppTemplateContainerVolumeMount": { + "azure:containerapp/JobTemplateContainerReadinessProbe:JobTemplateContainerReadinessProbe": { "properties": { - "name": { - "type": "string", - "description": "The name of the Volume to be mounted in the container.\n" + "failureCountThreshold": { + "type": "integer", + "description": "The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`.\n" }, - "path": { - "type": "string", - "description": "The path in the container at which to mount this volume.\n" - } - }, - "type": "object", - "required": [ - "name", - "path" - ] - }, - "azure:containerapp/AppTemplateCustomScaleRule:AppTemplateCustomScaleRule": { - "properties": { - "authentications": { + "headers": { "type": "array", "items": { - "$ref": "#/types/azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication" + "$ref": "#/types/azure:containerapp/JobTemplateContainerReadinessProbeHeader:JobTemplateContainerReadinessProbeHeader" }, - "description": "Zero or more `authentication` blocks as defined below.\n" + "description": "A `header` block as detailed below.\n" }, - "customRuleType": { + "host": { "type": "string", - "description": "The Custom rule type. Possible values include: `activemq`, `artemis-queue`, `kafka`, `pulsar`, `aws-cloudwatch`, `aws-dynamodb`, `aws-dynamodb-streams`, `aws-kinesis-stream`, `aws-sqs-queue`, `azure-app-insights`, `azure-blob`, `azure-data-explorer`, `azure-eventhub`, `azure-log-analytics`, `azure-monitor`, `azure-pipelines`, `azure-servicebus`, `azure-queue`, `cassandra`, `cpu`, `cron`, `datadog`, `elasticsearch`, `external`, `external-push`, `gcp-stackdriver`, `gcp-storage`, `gcp-pubsub`, `graphite`, `http`, `huawei-cloudeye`, `ibmmq`, `influxdb`, `kubernetes-workload`, `liiklus`, `memory`, `metrics-api`, `mongodb`, `mssql`, `mysql`, `nats-jetstream`, `stan`, `tcp`, `new-relic`, `openstack-metric`, `openstack-swift`, `postgresql`, `predictkube`, `prometheus`, `rabbitmq`, `redis`, `redis-cluster`, `redis-sentinel`, `redis-streams`, `redis-cluster-streams`, `redis-sentinel-streams`, `selenium-grid`,`solace-event-queue`, and `github-runner`.\n" + "description": "The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes.\n" }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of string key-value pairs to configure the Custom Scale Rule.\n" + "intervalSeconds": { + "type": "integer", + "description": "How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10`\n" }, - "name": { + "path": { "type": "string", - "description": "The name of the Scaling Rule\n" + "description": "The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n" + }, + "port": { + "type": "integer", + "description": "The port number on which to connect. Possible values are between `1` and `65535`.\n" + }, + "successCountThreshold": { + "type": "integer", + "description": "The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`.\n" + }, + "timeout": { + "type": "integer", + "description": "Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`.\n" + }, + "transport": { + "type": "string", + "description": "Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n" } }, "type": "object", "required": [ - "customRuleType", - "metadata", - "name" - ] + "port", + "transport" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "path", + "port", + "transport" + ] + } + } }, - "azure:containerapp/AppTemplateCustomScaleRuleAuthentication:AppTemplateCustomScaleRuleAuthentication": { + "azure:containerapp/JobTemplateContainerReadinessProbeHeader:JobTemplateContainerReadinessProbeHeader": { "properties": { - "secretName": { + "name": { "type": "string", - "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" + "description": "The HTTP Header Name.\n" }, - "triggerParameter": { + "value": { "type": "string", - "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" + "description": "The HTTP Header value.\n" } }, "type": "object", "required": [ - "secretName", - "triggerParameter" + "name", + "value" ] }, - "azure:containerapp/AppTemplateHttpScaleRule:AppTemplateHttpScaleRule": { + "azure:containerapp/JobTemplateContainerStartupProbe:JobTemplateContainerStartupProbe": { "properties": { - "authentications": { + "failureCountThreshold": { + "type": "integer", + "description": "The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`.\n" + }, + "headers": { "type": "array", "items": { - "$ref": "#/types/azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication" + "$ref": "#/types/azure:containerapp/JobTemplateContainerStartupProbeHeader:JobTemplateContainerStartupProbeHeader" }, - "description": "Zero or more `authentication` blocks as defined below.\n" + "description": "A `header` block as detailed below.\n" }, - "concurrentRequests": { + "host": { "type": "string", - "description": "The number of concurrent requests to trigger scaling.\n" + "description": "The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes.\n" + }, + "intervalSeconds": { + "type": "integer", + "description": "How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10`\n" + }, + "path": { + "type": "string", + "description": "The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`.\n" + }, + "port": { + "type": "integer", + "description": "The port number on which to connect. Possible values are between `1` and `65535`.\n" + }, + "terminationGracePeriodSeconds": { + "type": "integer", + "description": "The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n" }, + "timeout": { + "type": "integer", + "description": "Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`.\n" + }, + "transport": { + "type": "string", + "description": "Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`.\n" + } + }, + "type": "object", + "required": [ + "port", + "transport" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "path", + "port", + "terminationGracePeriodSeconds", + "transport" + ] + } + } + }, + "azure:containerapp/JobTemplateContainerStartupProbeHeader:JobTemplateContainerStartupProbeHeader": { + "properties": { "name": { "type": "string", - "description": "The name of the Scaling Rule\n" + "description": "The HTTP Header Name.\n" + }, + "value": { + "type": "string", + "description": "The HTTP Header value.\n" } }, "type": "object", "required": [ - "concurrentRequests", - "name" + "name", + "value" ] }, - "azure:containerapp/AppTemplateHttpScaleRuleAuthentication:AppTemplateHttpScaleRuleAuthentication": { + "azure:containerapp/JobTemplateContainerVolumeMount:JobTemplateContainerVolumeMount": { "properties": { - "secretName": { + "name": { "type": "string", - "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" + "description": "The name of the volume to mount. This must match the name of a volume defined in the `volume` block.\n" }, - "triggerParameter": { + "path": { "type": "string", - "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" + "description": "The path within the container at which the volume should be mounted. Must not contain `:`.\n" } }, "type": "object", "required": [ - "secretName" + "name", + "path" ] }, - "azure:containerapp/AppTemplateInitContainer:AppTemplateInitContainer": { + "azure:containerapp/JobTemplateInitContainer:JobTemplateInitContainer": { "properties": { "args": { "type": "array", @@ -44609,12 +45684,12 @@ }, "cpu": { "type": "number", - "description": "The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. When there's a workload profile specified, there's no such constraint.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0`\n" + "description": "The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0`\n" }, "envs": { "type": "array", "items": { - "$ref": "#/types/azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv" + "$ref": "#/types/azure:containerapp/JobTemplateInitContainerEnv:JobTemplateInitContainerEnv" }, "description": "One or more `env` blocks as detailed below.\n" }, @@ -44628,16 +45703,16 @@ }, "memory": { "type": "string", - "description": "The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. When there's a workload profile specified, there's no such constraint.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi`\n" + "description": "The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`.\n\n\u003e **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi`\n" }, "name": { "type": "string", - "description": "The name of the container\n" + "description": "The name of the container.\n" }, "volumeMounts": { "type": "array", "items": { - "$ref": "#/types/azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount" + "$ref": "#/types/azure:containerapp/JobTemplateInitContainerVolumeMount:JobTemplateInitContainerVolumeMount" }, "description": "A `volume_mounts` block as detailed below.\n" } @@ -44657,19 +45732,19 @@ } } }, - "azure:containerapp/AppTemplateInitContainerEnv:AppTemplateInitContainerEnv": { + "azure:containerapp/JobTemplateInitContainerEnv:JobTemplateInitContainerEnv": { "properties": { "name": { "type": "string", - "description": "The name of the environment variable for the container.\n" + "description": "The name of the environment variable.\n" }, "secretName": { "type": "string", - "description": "The name of the secret that contains the value for this environment variable.\n" + "description": "Name of the Container App secret from which to pull the environment variable value.\n" }, "value": { "type": "string", - "description": "The value for this environment variable.\n\n\u003e **NOTE:** This value is ignored if `secret_name` is used\n" + "description": "The value of the environment variable.\n" } }, "type": "object", @@ -44677,15 +45752,15 @@ "name" ] }, - "azure:containerapp/AppTemplateInitContainerVolumeMount:AppTemplateInitContainerVolumeMount": { + "azure:containerapp/JobTemplateInitContainerVolumeMount:JobTemplateInitContainerVolumeMount": { "properties": { "name": { "type": "string", - "description": "The name of the Volume to be mounted in the container.\n" + "description": "The name of the volume to mount. This must match the name of a volume defined in the `volume` block.\n" }, "path": { "type": "string", - "description": "The path in the container at which to mount this volume.\n" + "description": "The path within the container at which the volume should be mounted. Must not contain `:`.\n" } }, "type": "object", @@ -44694,47 +45769,7 @@ "path" ] }, - "azure:containerapp/AppTemplateTcpScaleRule:AppTemplateTcpScaleRule": { - "properties": { - "authentications": { - "type": "array", - "items": { - "$ref": "#/types/azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication" - }, - "description": "Zero or more `authentication` blocks as defined below.\n" - }, - "concurrentRequests": { - "type": "string", - "description": "The number of concurrent requests to trigger scaling.\n" - }, - "name": { - "type": "string", - "description": "The name of the Scaling Rule\n" - } - }, - "type": "object", - "required": [ - "concurrentRequests", - "name" - ] - }, - "azure:containerapp/AppTemplateTcpScaleRuleAuthentication:AppTemplateTcpScaleRuleAuthentication": { - "properties": { - "secretName": { - "type": "string", - "description": "The name of the Container App Secret to use for this Scale Rule Authentication.\n" - }, - "triggerParameter": { - "type": "string", - "description": "The Trigger Parameter name to use the supply the value retrieved from the `secret_name`.\n" - } - }, - "type": "object", - "required": [ - "secretName" - ] - }, - "azure:containerapp/AppTemplateVolume:AppTemplateVolume": { + "azure:containerapp/JobTemplateVolume:JobTemplateVolume": { "properties": { "name": { "type": "string", @@ -44742,11 +45777,11 @@ }, "storageName": { "type": "string", - "description": "The name of the `AzureFile` storage.\n" + "description": "The name of the storage to use for the volume.\n" }, "storageType": { "type": "string", - "description": "The type of storage volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. Defaults to `EmptyDir`.\n" + "description": "The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`.\n" } }, "type": "object", @@ -44754,76 +45789,6 @@ "name" ] }, - "azure:containerapp/EnvironmentDaprComponentMetadata:EnvironmentDaprComponentMetadata": { - "properties": { - "name": { - "type": "string", - "description": "The name of the Metadata configuration item.\n" - }, - "secretName": { - "type": "string", - "description": "The name of a secret specified in the `secrets` block that contains the value for this metadata configuration item.\n" - }, - "value": { - "type": "string", - "description": "The value for this metadata configuration item.\n" - } - }, - "type": "object", - "required": [ - "name" - ] - }, - "azure:containerapp/EnvironmentDaprComponentSecret:EnvironmentDaprComponentSecret": { - "properties": { - "identity": { - "type": "string", - "description": "The identity to use for accessing key vault reference.\n" - }, - "keyVaultSecretId": { - "type": "string", - "description": "The Key Vault Secret ID. Could be either one of `id` or `versionless_id`.\n" - }, - "name": { - "type": "string", - "description": "The Secret name.\n" - }, - "value": { - "type": "string", - "description": "The value for this secret.\n", - "secret": true - } - }, - "type": "object", - "required": [ - "name" - ] - }, - "azure:containerapp/EnvironmentWorkloadProfile:EnvironmentWorkloadProfile": { - "properties": { - "maximumCount": { - "type": "integer", - "description": "The maximum number of instances of workload profile that can be deployed in the Container App Environment.\n" - }, - "minimumCount": { - "type": "integer", - "description": "The minimum number of instances of workload profile that can be deployed in the Container App Environment.\n" - }, - "name": { - "type": "string", - "description": "The name of the workload profile.\n" - }, - "workloadProfileType": { - "type": "string", - "description": "Workload profile type for the workloads to run on. Possible values include `Consumption`, `D4`, `D8`, `D16`, `D32`, `E4`, `E8`, `E16` and `E32`.\n\n\u003e **NOTE:** A `Consumption` type must have a name of `Consumption` and an environment may only have one `Consumption` Workload Profile.\n\n\u003e **NOTE:** Defining a `Consumption` profile is optional, however, Environments created without an initial Workload Profile cannot have them added at a later time and must be recreated. Similarly, an environment created with Profiles must always have at least one defined Profile, removing all profiles will force a recreation of the resource.\n" - } - }, - "type": "object", - "required": [ - "name", - "workloadProfileType" - ] - }, "azure:containerapp/getAppDapr:getAppDapr": { "properties": { "appId": { @@ -53735,6 +54700,27 @@ "name" ] }, + "azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey": { + "properties": { + "linkedServiceName": { + "type": "string", + "description": "The name of the Linked Service to use for the Service Principal Key.\n" + }, + "secretName": { + "type": "string", + "description": "The name of the Secret in the Key Vault.\n" + }, + "secretVersion": { + "type": "string", + "description": "The version of the Secret in the Key Vault.\n" + } + }, + "type": "object", + "required": [ + "linkedServiceName", + "secretName" + ] + }, "azure:datafactory/CustomDatasetLinkedService:CustomDatasetLinkedService": { "properties": { "name": { @@ -66986,6 +67972,9 @@ "recoveryService": { "$ref": "#/types/azure:index/ProviderFeaturesRecoveryService:ProviderFeaturesRecoveryService" }, + "recoveryServicesVaults": { + "$ref": "#/types/azure:index/ProviderFeaturesRecoveryServicesVaults:ProviderFeaturesRecoveryServicesVaults" + }, "resourceGroup": { "$ref": "#/types/azure:index/ProviderFeaturesResourceGroup:ProviderFeaturesResourceGroup" }, @@ -67126,6 +68115,14 @@ }, "type": "object" }, + "azure:index/ProviderFeaturesRecoveryServicesVaults:ProviderFeaturesRecoveryServicesVaults": { + "properties": { + "recoverSoftDeletedBackupProtectedVm": { + "type": "boolean" + } + }, + "type": "object" + }, "azure:index/ProviderFeaturesResourceGroup:ProviderFeaturesResourceGroup": { "properties": { "preventDeletionIfContainsResources": { @@ -71811,6 +72808,70 @@ } } }, + "azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter": { + "properties": { + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of locations to scope the query to.\n" + }, + "osTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of allowed operating systems.\n" + }, + "resourceGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of allowed resource groups.\n" + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of allowed resources.\n" + }, + "tagFilter": { + "type": "string", + "description": "Filter VMs by `Any` or `All` specified tags. Defaults to `Any`.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/azure:maintenance/AssignmentDynamicScopeFilterTag:AssignmentDynamicScopeFilterTag" + }, + "description": "A mapping of tags for the VM\n" + } + }, + "type": "object" + }, + "azure:maintenance/AssignmentDynamicScopeFilterTag:AssignmentDynamicScopeFilterTag": { + "properties": { + "tag": { + "type": "string", + "description": "Specifies the tag to filter by.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of values the defined tag can have.\n" + } + }, + "type": "object", + "required": [ + "tag", + "values" + ] + }, "azure:maintenance/ConfigurationInstallPatches:ConfigurationInstallPatches": { "properties": { "linuxes": { @@ -87426,7 +88487,7 @@ "properties": { "enforcement": { "type": "string", - "description": "Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`.\n" + "description": "Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`.\n\n\u003e **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information.\n" } }, "type": "object", @@ -90650,6 +91711,60 @@ } } }, + "azure:network/getNetworkManagerConnectivityConfigurationAppliesToGroup:getNetworkManagerConnectivityConfigurationAppliesToGroup": { + "properties": { + "globalMeshEnabled": { + "type": "boolean", + "description": "Whether global mesh is supported.\n" + }, + "groupConnectivity": { + "type": "string", + "description": "The group connectivity type.\n" + }, + "networkGroupId": { + "type": "string", + "description": "The ID of the Network Manager Network Group.\n" + }, + "useHubGateway": { + "type": "boolean", + "description": "Whether hub gateway is used.\n" + } + }, + "type": "object", + "required": [ + "globalMeshEnabled", + "groupConnectivity", + "networkGroupId", + "useHubGateway" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "azure:network/getNetworkManagerConnectivityConfigurationHub:getNetworkManagerConnectivityConfigurationHub": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource ID used as hub in Hub and Spoke topology.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type used as hub in Hub and Spoke topology.\n" + } + }, + "type": "object", + "required": [ + "resourceId", + "resourceType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "azure:network/getNetworkManagerCrossTenantScope:getNetworkManagerCrossTenantScope": { "properties": { "managementGroups": { @@ -99227,6 +100342,10 @@ "days": { "type": "integer", "description": "Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`.\n" + }, + "permanentDeleteEnabled": { + "type": "boolean", + "description": "Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`.\n\n\u003e **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined.\n" } }, "type": "object" @@ -138589,6 +139708,55 @@ "type": "object" } }, + "azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment": { + "description": "Manages a Virtual Machine Automanage Configuration Profile Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"westus\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"examplevnet\",\n addressSpaces: [\"10.0.0.0/16\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"internal\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n name: \"exampleni\",\n location: example.location,\n resourceGroupName: example.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n name: \"examplevm\",\n resourceGroupName: example.name,\n location: example.location,\n size: \"Standard_F2\",\n adminUsername: \"adminuser\",\n adminPassword: \"P@$$w0rd1234!\",\n disablePasswordAuthentication: false,\n networkInterfaceIds: [exampleNetworkInterface.id],\n osDisk: {\n caching: \"ReadWrite\",\n storageAccountType: \"Standard_LRS\",\n },\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"0001-com-ubuntu-server-jammy\",\n sku: \"22_04-lts\",\n version: \"latest\",\n },\n});\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n name: \"exampleconfig\",\n resourceGroupName: example.name,\n location: example.location,\n});\nconst exampleAutomanageConfigurationAssignment = new azure.compute.AutomanageConfigurationAssignment(\"example\", {\n virtualMachineId: exampleLinuxVirtualMachine.id,\n configurationId: exampleConfiguration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"westus\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"examplevnet\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example.location,\n resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"internal\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n name=\"exampleni\",\n location=example.location,\n resource_group_name=example.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n name=\"examplevm\",\n resource_group_name=example.name,\n location=example.location,\n size=\"Standard_F2\",\n admin_username=\"adminuser\",\n admin_password=\"P@$$w0rd1234!\",\n disable_password_authentication=False,\n network_interface_ids=[example_network_interface.id],\n os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(\n caching=\"ReadWrite\",\n storage_account_type=\"Standard_LRS\",\n ),\n source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"0001-com-ubuntu-server-jammy\",\n sku=\"22_04-lts\",\n version=\"latest\",\n ))\nexample_configuration = azure.automanage.Configuration(\"example\",\n name=\"exampleconfig\",\n resource_group_name=example.name,\n location=example.location)\nexample_automanage_configuration_assignment = azure.compute.AutomanageConfigurationAssignment(\"example\",\n virtual_machine_id=example_linux_virtual_machine.id,\n configuration_id=example_configuration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"westus\",\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"examplevnet\",\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"internal\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n });\n\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n {\n Name = \"exampleni\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n IpConfigurations = new[]\n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n\n var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n {\n Name = \"examplevm\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Size = \"Standard_F2\",\n AdminUsername = \"adminuser\",\n AdminPassword = \"P@$$w0rd1234!\",\n DisablePasswordAuthentication = false,\n NetworkInterfaceIds = new[]\n {\n exampleNetworkInterface.Id,\n },\n OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n {\n Caching = \"ReadWrite\",\n StorageAccountType = \"Standard_LRS\",\n },\n SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"0001-com-ubuntu-server-jammy\",\n Sku = \"22_04-lts\",\n Version = \"latest\",\n },\n });\n\n var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n {\n Name = \"exampleconfig\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n });\n\n var exampleAutomanageConfigurationAssignment = new Azure.Compute.AutomanageConfigurationAssignment(\"example\", new()\n {\n VirtualMachineId = exampleLinuxVirtualMachine.Id,\n ConfigurationId = exampleConfiguration.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"examplevnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName: pulumi.String(\"internal\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName: pulumi.String(\"exampleni\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName: pulumi.String(\"examplevm\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tSize: pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername: pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword: pulumi.String(\"P@$$w0rd1234!\"),\n\t\t\tDisablePasswordAuthentication: pulumi.Bool(false),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching: pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer: pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku: pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName: pulumi.String(\"exampleconfig\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewAutomanageConfigurationAssignment(ctx, \"example\", \u0026compute.AutomanageConfigurationAssignmentArgs{\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t\tConfigurationId: exampleConfiguration.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.compute.AutomanageConfigurationAssignment;\nimport com.pulumi.azure.compute.AutomanageConfigurationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-rg\")\n .location(\"westus\")\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder() \n .name(\"examplevnet\")\n .addressSpaces(\"10.0.0.0/16\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .name(\"internal\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .build());\n\n var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder() \n .name(\"exampleni\")\n .location(example.location())\n .resourceGroupName(example.name())\n .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n .name(\"internal\")\n .subnetId(exampleSubnet.id())\n .privateIpAddressAllocation(\"Dynamic\")\n .build())\n .build());\n\n var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder() \n .name(\"examplevm\")\n .resourceGroupName(example.name())\n .location(example.location())\n .size(\"Standard_F2\")\n .adminUsername(\"adminuser\")\n .adminPassword(\"P@$$w0rd1234!\")\n .disablePasswordAuthentication(false)\n .networkInterfaceIds(exampleNetworkInterface.id())\n .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n .caching(\"ReadWrite\")\n .storageAccountType(\"Standard_LRS\")\n .build())\n .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n .publisher(\"Canonical\")\n .offer(\"0001-com-ubuntu-server-jammy\")\n .sku(\"22_04-lts\")\n .version(\"latest\")\n .build())\n .build());\n\n var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder() \n .name(\"exampleconfig\")\n .resourceGroupName(example.name())\n .location(example.location())\n .build());\n\n var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment(\"exampleAutomanageConfigurationAssignment\", AutomanageConfigurationAssignmentArgs.builder() \n .virtualMachineId(exampleLinuxVirtualMachine.id())\n .configurationId(exampleConfiguration.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: westus\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: examplevnet\n addressSpaces:\n - 10.0.0.0/16\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: internal\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n exampleNetworkInterface:\n type: azure:network:NetworkInterface\n name: example\n properties:\n name: exampleni\n location: ${example.location}\n resourceGroupName: ${example.name}\n ipConfigurations:\n - name: internal\n subnetId: ${exampleSubnet.id}\n privateIpAddressAllocation: Dynamic\n exampleLinuxVirtualMachine:\n type: azure:compute:LinuxVirtualMachine\n name: example\n properties:\n name: examplevm\n resourceGroupName: ${example.name}\n location: ${example.location}\n size: Standard_F2\n adminUsername: adminuser\n adminPassword: P@$$w0rd1234!\n disablePasswordAuthentication: false\n networkInterfaceIds:\n - ${exampleNetworkInterface.id}\n osDisk:\n caching: ReadWrite\n storageAccountType: Standard_LRS\n sourceImageReference:\n publisher: Canonical\n offer: 0001-com-ubuntu-server-jammy\n sku: 22_04-lts\n version: latest\n exampleConfiguration:\n type: azure:automanage:Configuration\n name: example\n properties:\n name: exampleconfig\n resourceGroupName: ${example.name}\n location: ${example.location}\n exampleAutomanageConfigurationAssignment:\n type: azure:compute:AutomanageConfigurationAssignment\n name: example\n properties:\n virtualMachineId: ${exampleLinuxVirtualMachine.id}\n configurationId: ${exampleConfiguration.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default\n```\n\n", + "properties": { + "configurationId": { + "type": "string", + "description": "The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n" + }, + "virtualMachineId": { + "type": "string", + "description": "The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n" + } + }, + "required": [ + "configurationId", + "virtualMachineId" + ], + "inputProperties": { + "configurationId": { + "type": "string", + "description": "The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "virtualMachineId": { + "type": "string", + "description": "The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "configurationId", + "virtualMachineId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AutomanageConfigurationAssignment resources.\n", + "properties": { + "configurationId": { + "type": "string", + "description": "The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "virtualMachineId": { + "type": "string", + "description": "The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:compute/availabilitySet:AvailabilitySet": { "description": "Manages an Availability Set for Virtual Machines.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAvailabilitySet = new azure.compute.AvailabilitySet(\"example\", {\n name: \"example-aset\",\n location: example.location,\n resourceGroupName: example.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_availability_set = azure.compute.AvailabilitySet(\"example\",\n name=\"example-aset\",\n location=example.location,\n resource_group_name=example.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet(\"example\", new()\n {\n Name = \"example-aset\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewAvailabilitySet(ctx, \"example\", \u0026compute.AvailabilitySetArgs{\n\t\t\tName: pulumi.String(\"example-aset\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.AvailabilitySet;\nimport com.pulumi.azure.compute.AvailabilitySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAvailabilitySet = new AvailabilitySet(\"exampleAvailabilitySet\", AvailabilitySetArgs.builder() \n .name(\"example-aset\")\n .location(example.location())\n .resourceGroupName(example.name())\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAvailabilitySet:\n type: azure:compute:AvailabilitySet\n name: example\n properties:\n name: example-aset\n location: ${example.location}\n resourceGroupName: ${example.name}\n tags:\n environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAvailability Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/availabilitySet:AvailabilitySet group1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/availabilitySets/webAvailSet\n```\n\n", "properties": { @@ -138752,6 +139920,10 @@ "type": "boolean", "description": "Is IP Connect feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`.\n" }, + "kerberosEnabled": { + "type": "boolean", + "description": "Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`.\n" + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n" @@ -138813,6 +139985,10 @@ "type": "boolean", "description": "Is IP Connect feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`.\n" }, + "kerberosEnabled": { + "type": "boolean", + "description": "Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`.\n" + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n", @@ -138880,6 +140056,10 @@ "type": "boolean", "description": "Is IP Connect feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`.\n" }, + "kerberosEnabled": { + "type": "boolean", + "description": "Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`.\n\n\u003e **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`.\n" + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations.\n", @@ -140473,6 +141653,95 @@ "type": "object" } }, + "azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment": { + "description": "Manages a Virtual Machine Gallery Application Assignment.\n\n\u003e **Note:** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignore_changes` for the `gallery_application` block on the associated virtual machine resources, to avoid a persistent diff when using this resource.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.compute.getVirtualMachine({\n name: \"example-vm\",\n resourceGroupName: \"example-resources-vm\",\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n name: \"examplegallery\",\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleGalleryApplication = new azure.compute.GalleryApplication(\"example\", {\n name: \"example-app\",\n galleryId: exampleSharedImageGallery.id,\n location: exampleResourceGroup.location,\n supportedOsType: \"Linux\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"examplestorage\",\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"example-container\",\n storageAccountName: exampleAccount.name,\n containerAccessType: \"blob\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n name: \"scripts\",\n storageAccountName: exampleAccount.name,\n storageContainerName: exampleContainer.name,\n type: \"Block\",\n sourceContent: \"[scripts file content]\",\n});\nconst exampleGalleryApplicationVersion = new azure.compute.GalleryApplicationVersion(\"example\", {\n name: \"0.0.1\",\n galleryApplicationId: exampleGalleryApplication.id,\n location: exampleGalleryApplication.location,\n manageAction: {\n install: \"[install command]\",\n remove: \"[remove command]\",\n },\n source: {\n mediaLink: exampleBlob.id,\n },\n targetRegions: [{\n name: exampleGalleryApplication.location,\n regionalReplicaCount: 1,\n }],\n});\nconst exampleGalleryApplicationAssignment = new azure.compute.GalleryApplicationAssignment(\"example\", {\n galleryApplicationVersionId: exampleGalleryApplicationVersion.id,\n virtualMachineId: example.then(example =\u003e example.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_virtual_machine(name=\"example-vm\",\n resource_group_name=\"example-resources-vm\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n name=\"examplegallery\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_gallery_application = azure.compute.GalleryApplication(\"example\",\n name=\"example-app\",\n gallery_id=example_shared_image_gallery.id,\n location=example_resource_group.location,\n supported_os_type=\"Linux\")\nexample_account = azure.storage.Account(\"example\",\n name=\"examplestorage\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n name=\"example-container\",\n storage_account_name=example_account.name,\n container_access_type=\"blob\")\nexample_blob = azure.storage.Blob(\"example\",\n name=\"scripts\",\n storage_account_name=example_account.name,\n storage_container_name=example_container.name,\n type=\"Block\",\n source_content=\"[scripts file content]\")\nexample_gallery_application_version = azure.compute.GalleryApplicationVersion(\"example\",\n name=\"0.0.1\",\n gallery_application_id=example_gallery_application.id,\n location=example_gallery_application.location,\n manage_action=azure.compute.GalleryApplicationVersionManageActionArgs(\n install=\"[install command]\",\n remove=\"[remove command]\",\n ),\n source=azure.compute.GalleryApplicationVersionSourceArgs(\n media_link=example_blob.id,\n ),\n target_regions=[azure.compute.GalleryApplicationVersionTargetRegionArgs(\n name=example_gallery_application.location,\n regional_replica_count=1,\n )])\nexample_gallery_application_assignment = azure.compute.GalleryApplicationAssignment(\"example\",\n gallery_application_version_id=example_gallery_application_version.id,\n virtual_machine_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Azure.Compute.GetVirtualMachine.Invoke(new()\n {\n Name = \"example-vm\",\n ResourceGroupName = \"example-resources-vm\",\n });\n\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n {\n Name = \"examplegallery\",\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n\n var exampleGalleryApplication = new Azure.Compute.GalleryApplication(\"example\", new()\n {\n Name = \"example-app\",\n GalleryId = exampleSharedImageGallery.Id,\n Location = exampleResourceGroup.Location,\n SupportedOsType = \"Linux\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"examplestorage\",\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"example-container\",\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"blob\",\n });\n\n var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n {\n Name = \"scripts\",\n StorageAccountName = exampleAccount.Name,\n StorageContainerName = exampleContainer.Name,\n Type = \"Block\",\n SourceContent = \"[scripts file content]\",\n });\n\n var exampleGalleryApplicationVersion = new Azure.Compute.GalleryApplicationVersion(\"example\", new()\n {\n Name = \"0.0.1\",\n GalleryApplicationId = exampleGalleryApplication.Id,\n Location = exampleGalleryApplication.Location,\n ManageAction = new Azure.Compute.Inputs.GalleryApplicationVersionManageActionArgs\n {\n Install = \"[install command]\",\n Remove = \"[remove command]\",\n },\n Source = new Azure.Compute.Inputs.GalleryApplicationVersionSourceArgs\n {\n MediaLink = exampleBlob.Id,\n },\n TargetRegions = new[]\n {\n new Azure.Compute.Inputs.GalleryApplicationVersionTargetRegionArgs\n {\n Name = exampleGalleryApplication.Location,\n RegionalReplicaCount = 1,\n },\n },\n });\n\n var exampleGalleryApplicationAssignment = new Azure.Compute.GalleryApplicationAssignment(\"example\", new()\n {\n GalleryApplicationVersionId = exampleGalleryApplicationVersion.Id,\n VirtualMachineId = example.Apply(getVirtualMachineResult =\u003e getVirtualMachineResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName: \"example-vm\",\n\t\t\tResourceGroupName: \"example-resources-vm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName: pulumi.String(\"examplegallery\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplication, err := compute.NewGalleryApplication(ctx, \"example\", \u0026compute.GalleryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t\tGalleryId: exampleSharedImageGallery.ID(),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSupportedOsType: pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBlob, err := storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName: pulumi.String(\"scripts\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType: pulumi.String(\"Block\"),\n\t\t\tSourceContent: pulumi.String(\"[scripts file content]\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplicationVersion, err := compute.NewGalleryApplicationVersion(ctx, \"example\", \u0026compute.GalleryApplicationVersionArgs{\n\t\t\tName: pulumi.String(\"0.0.1\"),\n\t\t\tGalleryApplicationId: exampleGalleryApplication.ID(),\n\t\t\tLocation: exampleGalleryApplication.Location,\n\t\t\tManageAction: \u0026compute.GalleryApplicationVersionManageActionArgs{\n\t\t\t\tInstall: pulumi.String(\"[install command]\"),\n\t\t\t\tRemove: pulumi.String(\"[remove command]\"),\n\t\t\t},\n\t\t\tSource: \u0026compute.GalleryApplicationVersionSourceArgs{\n\t\t\t\tMediaLink: exampleBlob.ID(),\n\t\t\t},\n\t\t\tTargetRegions: compute.GalleryApplicationVersionTargetRegionArray{\n\t\t\t\t\u0026compute.GalleryApplicationVersionTargetRegionArgs{\n\t\t\t\t\tName: exampleGalleryApplication.Location,\n\t\t\t\t\tRegionalReplicaCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewGalleryApplicationAssignment(ctx, \"example\", \u0026compute.GalleryApplicationAssignmentArgs{\n\t\t\tGalleryApplicationVersionId: exampleGalleryApplicationVersion.ID(),\n\t\t\tVirtualMachineId: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.compute.ComputeFunctions;\nimport com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.GalleryApplication;\nimport com.pulumi.azure.compute.GalleryApplicationArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.compute.GalleryApplicationVersion;\nimport com.pulumi.azure.compute.GalleryApplicationVersionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionManageActionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionSourceArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionTargetRegionArgs;\nimport com.pulumi.azure.compute.GalleryApplicationAssignment;\nimport com.pulumi.azure.compute.GalleryApplicationAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()\n .name(\"example-vm\")\n .resourceGroupName(\"example-resources-vm\")\n .build());\n\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder() \n .name(\"examplegallery\")\n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .build());\n\n var exampleGalleryApplication = new GalleryApplication(\"exampleGalleryApplication\", GalleryApplicationArgs.builder() \n .name(\"example-app\")\n .galleryId(exampleSharedImageGallery.id())\n .location(exampleResourceGroup.location())\n .supportedOsType(\"Linux\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .name(\"examplestorage\")\n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder() \n .name(\"example-container\")\n .storageAccountName(exampleAccount.name())\n .containerAccessType(\"blob\")\n .build());\n\n var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder() \n .name(\"scripts\")\n .storageAccountName(exampleAccount.name())\n .storageContainerName(exampleContainer.name())\n .type(\"Block\")\n .sourceContent(\"[scripts file content]\")\n .build());\n\n var exampleGalleryApplicationVersion = new GalleryApplicationVersion(\"exampleGalleryApplicationVersion\", GalleryApplicationVersionArgs.builder() \n .name(\"0.0.1\")\n .galleryApplicationId(exampleGalleryApplication.id())\n .location(exampleGalleryApplication.location())\n .manageAction(GalleryApplicationVersionManageActionArgs.builder()\n .install(\"[install command]\")\n .remove(\"[remove command]\")\n .build())\n .source(GalleryApplicationVersionSourceArgs.builder()\n .mediaLink(exampleBlob.id())\n .build())\n .targetRegions(GalleryApplicationVersionTargetRegionArgs.builder()\n .name(exampleGalleryApplication.location())\n .regionalReplicaCount(1)\n .build())\n .build());\n\n var exampleGalleryApplicationAssignment = new GalleryApplicationAssignment(\"exampleGalleryApplicationAssignment\", GalleryApplicationAssignmentArgs.builder() \n .galleryApplicationVersionId(exampleGalleryApplicationVersion.id())\n .virtualMachineId(example.applyValue(getVirtualMachineResult -\u003e getVirtualMachineResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n name: example\n properties:\n name: example-resources\n location: West Europe\n exampleSharedImageGallery:\n type: azure:compute:SharedImageGallery\n name: example\n properties:\n name: examplegallery\n resourceGroupName: ${exampleResourceGroup.name}\n location: ${exampleResourceGroup.location}\n exampleGalleryApplication:\n type: azure:compute:GalleryApplication\n name: example\n properties:\n name: example-app\n galleryId: ${exampleSharedImageGallery.id}\n location: ${exampleResourceGroup.location}\n supportedOsType: Linux\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: examplestorage\n resourceGroupName: ${exampleResourceGroup.name}\n location: ${exampleResourceGroup.location}\n accountTier: Standard\n accountReplicationType: LRS\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: example-container\n storageAccountName: ${exampleAccount.name}\n containerAccessType: blob\n exampleBlob:\n type: azure:storage:Blob\n name: example\n properties:\n name: scripts\n storageAccountName: ${exampleAccount.name}\n storageContainerName: ${exampleContainer.name}\n type: Block\n sourceContent: '[scripts file content]'\n exampleGalleryApplicationVersion:\n type: azure:compute:GalleryApplicationVersion\n name: example\n properties:\n name: 0.0.1\n galleryApplicationId: ${exampleGalleryApplication.id}\n location: ${exampleGalleryApplication.location}\n manageAction:\n install: '[install command]'\n remove: '[remove command]'\n source:\n mediaLink: ${exampleBlob.id}\n targetRegions:\n - name: ${exampleGalleryApplication.location}\n regionalReplicaCount: 1\n exampleGalleryApplicationAssignment:\n type: azure:compute:GalleryApplicationAssignment\n name: example\n properties:\n galleryApplicationVersionId: ${exampleGalleryApplicationVersion.id}\n virtualMachineId: ${example.id}\nvariables:\n example:\n fn::invoke:\n Function: azure:compute:getVirtualMachine\n Arguments:\n name: example-vm\n resourceGroupName: example-resources-vm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1\n```\n\n", + "properties": { + "configurationBlobUri": { + "type": "string", + "description": "Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n" + }, + "galleryApplicationVersionId": { + "type": "string", + "description": "The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n" + }, + "order": { + "type": "integer", + "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`.\n" + }, + "tag": { + "type": "string", + "description": "Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created.\n" + }, + "virtualMachineId": { + "type": "string", + "description": "The ID of the Virtual Machine. Changing this forces a new resource to be created.\n" + } + }, + "required": [ + "galleryApplicationVersionId", + "virtualMachineId" + ], + "inputProperties": { + "configurationBlobUri": { + "type": "string", + "description": "Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "galleryApplicationVersionId": { + "type": "string", + "description": "The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "order": { + "type": "integer", + "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`.\n" + }, + "tag": { + "type": "string", + "description": "Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "virtualMachineId": { + "type": "string", + "description": "The ID of the Virtual Machine. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "galleryApplicationVersionId", + "virtualMachineId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering GalleryApplicationAssignment resources.\n", + "properties": { + "configurationBlobUri": { + "type": "string", + "description": "Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "galleryApplicationVersionId": { + "type": "string", + "description": "The ID of the Gallery Application Version. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "order": { + "type": "integer", + "description": "Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`.\n" + }, + "tag": { + "type": "string", + "description": "Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "virtualMachineId": { + "type": "string", + "description": "The ID of the Virtual Machine. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:compute/galleryApplicationVersion:GalleryApplicationVersion": { "description": "Manages a Gallery Application Version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"West Europe\",\n});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"example\", {\n name: \"examplegallery\",\n resourceGroupName: example.name,\n location: example.location,\n});\nconst exampleGalleryApplication = new azure.compute.GalleryApplication(\"example\", {\n name: \"example-app\",\n galleryId: exampleSharedImageGallery.id,\n location: example.location,\n supportedOsType: \"Linux\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"examplestorage\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"example-container\",\n storageAccountName: exampleAccount.name,\n containerAccessType: \"blob\",\n});\nconst exampleBlob = new azure.storage.Blob(\"example\", {\n name: \"scripts\",\n storageAccountName: exampleAccount.name,\n storageContainerName: exampleContainer.name,\n type: \"Block\",\n sourceContent: \"[scripts file content]\",\n});\nconst exampleGalleryApplicationVersion = new azure.compute.GalleryApplicationVersion(\"example\", {\n name: \"0.0.1\",\n galleryApplicationId: exampleGalleryApplication.id,\n location: exampleGalleryApplication.location,\n manageAction: {\n install: \"[install command]\",\n remove: \"[remove command]\",\n },\n source: {\n mediaLink: exampleBlob.id,\n },\n targetRegions: [{\n name: exampleGalleryApplication.location,\n regionalReplicaCount: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"example\",\n name=\"examplegallery\",\n resource_group_name=example.name,\n location=example.location)\nexample_gallery_application = azure.compute.GalleryApplication(\"example\",\n name=\"example-app\",\n gallery_id=example_shared_image_gallery.id,\n location=example.location,\n supported_os_type=\"Linux\")\nexample_account = azure.storage.Account(\"example\",\n name=\"examplestorage\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"example\",\n name=\"example-container\",\n storage_account_name=example_account.name,\n container_access_type=\"blob\")\nexample_blob = azure.storage.Blob(\"example\",\n name=\"scripts\",\n storage_account_name=example_account.name,\n storage_container_name=example_container.name,\n type=\"Block\",\n source_content=\"[scripts file content]\")\nexample_gallery_application_version = azure.compute.GalleryApplicationVersion(\"example\",\n name=\"0.0.1\",\n gallery_application_id=example_gallery_application.id,\n location=example_gallery_application.location,\n manage_action=azure.compute.GalleryApplicationVersionManageActionArgs(\n install=\"[install command]\",\n remove=\"[remove command]\",\n ),\n source=azure.compute.GalleryApplicationVersionSourceArgs(\n media_link=example_blob.id,\n ),\n target_regions=[azure.compute.GalleryApplicationVersionTargetRegionArgs(\n name=example_gallery_application.location,\n regional_replica_count=1,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"West Europe\",\n });\n\n var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"example\", new()\n {\n Name = \"examplegallery\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n });\n\n var exampleGalleryApplication = new Azure.Compute.GalleryApplication(\"example\", new()\n {\n Name = \"example-app\",\n GalleryId = exampleSharedImageGallery.Id,\n Location = example.Location,\n SupportedOsType = \"Linux\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"examplestorage\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"example-container\",\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"blob\",\n });\n\n var exampleBlob = new Azure.Storage.Blob(\"example\", new()\n {\n Name = \"scripts\",\n StorageAccountName = exampleAccount.Name,\n StorageContainerName = exampleContainer.Name,\n Type = \"Block\",\n SourceContent = \"[scripts file content]\",\n });\n\n var exampleGalleryApplicationVersion = new Azure.Compute.GalleryApplicationVersion(\"example\", new()\n {\n Name = \"0.0.1\",\n GalleryApplicationId = exampleGalleryApplication.Id,\n Location = exampleGalleryApplication.Location,\n ManageAction = new Azure.Compute.Inputs.GalleryApplicationVersionManageActionArgs\n {\n Install = \"[install command]\",\n Remove = \"[remove command]\",\n },\n Source = new Azure.Compute.Inputs.GalleryApplicationVersionSourceArgs\n {\n MediaLink = exampleBlob.Id,\n },\n TargetRegions = new[]\n {\n new Azure.Compute.Inputs.GalleryApplicationVersionTargetRegionArgs\n {\n Name = exampleGalleryApplication.Location,\n RegionalReplicaCount = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, \"example\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tName: pulumi.String(\"examplegallery\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGalleryApplication, err := compute.NewGalleryApplication(ctx, \"example\", \u0026compute.GalleryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t\tGalleryId: exampleSharedImageGallery.ID(),\n\t\t\tLocation: example.Location,\n\t\t\tSupportedOsType: pulumi.String(\"Linux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"examplestorage\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"example-container\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBlob, err := storage.NewBlob(ctx, \"example\", \u0026storage.BlobArgs{\n\t\t\tName: pulumi.String(\"scripts\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tStorageContainerName: exampleContainer.Name,\n\t\t\tType: pulumi.String(\"Block\"),\n\t\t\tSourceContent: pulumi.String(\"[scripts file content]\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewGalleryApplicationVersion(ctx, \"example\", \u0026compute.GalleryApplicationVersionArgs{\n\t\t\tName: pulumi.String(\"0.0.1\"),\n\t\t\tGalleryApplicationId: exampleGalleryApplication.ID(),\n\t\t\tLocation: exampleGalleryApplication.Location,\n\t\t\tManageAction: \u0026compute.GalleryApplicationVersionManageActionArgs{\n\t\t\t\tInstall: pulumi.String(\"[install command]\"),\n\t\t\t\tRemove: pulumi.String(\"[remove command]\"),\n\t\t\t},\n\t\t\tSource: \u0026compute.GalleryApplicationVersionSourceArgs{\n\t\t\t\tMediaLink: exampleBlob.ID(),\n\t\t\t},\n\t\t\tTargetRegions: compute.GalleryApplicationVersionTargetRegionArray{\n\t\t\t\t\u0026compute.GalleryApplicationVersionTargetRegionArgs{\n\t\t\t\t\tName: exampleGalleryApplication.Location,\n\t\t\t\t\tRegionalReplicaCount: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.compute.SharedImageGallery;\nimport com.pulumi.azure.compute.SharedImageGalleryArgs;\nimport com.pulumi.azure.compute.GalleryApplication;\nimport com.pulumi.azure.compute.GalleryApplicationArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.storage.Blob;\nimport com.pulumi.azure.storage.BlobArgs;\nimport com.pulumi.azure.compute.GalleryApplicationVersion;\nimport com.pulumi.azure.compute.GalleryApplicationVersionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionManageActionArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionSourceArgs;\nimport com.pulumi.azure.compute.inputs.GalleryApplicationVersionTargetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-rg\")\n .location(\"West Europe\")\n .build());\n\n var exampleSharedImageGallery = new SharedImageGallery(\"exampleSharedImageGallery\", SharedImageGalleryArgs.builder() \n .name(\"examplegallery\")\n .resourceGroupName(example.name())\n .location(example.location())\n .build());\n\n var exampleGalleryApplication = new GalleryApplication(\"exampleGalleryApplication\", GalleryApplicationArgs.builder() \n .name(\"example-app\")\n .galleryId(exampleSharedImageGallery.id())\n .location(example.location())\n .supportedOsType(\"Linux\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .name(\"examplestorage\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder() \n .name(\"example-container\")\n .storageAccountName(exampleAccount.name())\n .containerAccessType(\"blob\")\n .build());\n\n var exampleBlob = new Blob(\"exampleBlob\", BlobArgs.builder() \n .name(\"scripts\")\n .storageAccountName(exampleAccount.name())\n .storageContainerName(exampleContainer.name())\n .type(\"Block\")\n .sourceContent(\"[scripts file content]\")\n .build());\n\n var exampleGalleryApplicationVersion = new GalleryApplicationVersion(\"exampleGalleryApplicationVersion\", GalleryApplicationVersionArgs.builder() \n .name(\"0.0.1\")\n .galleryApplicationId(exampleGalleryApplication.id())\n .location(exampleGalleryApplication.location())\n .manageAction(GalleryApplicationVersionManageActionArgs.builder()\n .install(\"[install command]\")\n .remove(\"[remove command]\")\n .build())\n .source(GalleryApplicationVersionSourceArgs.builder()\n .mediaLink(exampleBlob.id())\n .build())\n .targetRegions(GalleryApplicationVersionTargetRegionArgs.builder()\n .name(exampleGalleryApplication.location())\n .regionalReplicaCount(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: West Europe\n exampleSharedImageGallery:\n type: azure:compute:SharedImageGallery\n name: example\n properties:\n name: examplegallery\n resourceGroupName: ${example.name}\n location: ${example.location}\n exampleGalleryApplication:\n type: azure:compute:GalleryApplication\n name: example\n properties:\n name: example-app\n galleryId: ${exampleSharedImageGallery.id}\n location: ${example.location}\n supportedOsType: Linux\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: examplestorage\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: LRS\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: example-container\n storageAccountName: ${exampleAccount.name}\n containerAccessType: blob\n exampleBlob:\n type: azure:storage:Blob\n name: example\n properties:\n name: scripts\n storageAccountName: ${exampleAccount.name}\n storageContainerName: ${exampleContainer.name}\n type: Block\n sourceContent: '[scripts file content]'\n exampleGalleryApplicationVersion:\n type: azure:compute:GalleryApplicationVersion\n name: example\n properties:\n name: 0.0.1\n galleryApplicationId: ${exampleGalleryApplication.id}\n location: ${exampleGalleryApplication.location}\n manageAction:\n install: '[install command]'\n remove: '[remove command]'\n source:\n mediaLink: ${exampleBlob.id}\n targetRegions:\n - name: ${exampleGalleryApplication.location}\n regionalReplicaCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGallery Application Versions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:compute/galleryApplicationVersion:GalleryApplicationVersion example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1\n```\n\n", "properties": { @@ -140920,7 +142189,7 @@ "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", @@ -140928,7 +142197,7 @@ }, "licenseType": { "type": "string", - "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`.\n" + "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`.\n" }, "location": { "type": "string", @@ -141187,7 +142456,7 @@ "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", @@ -141195,7 +142464,7 @@ }, "licenseType": { "type": "string", - "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`.\n" + "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`.\n" }, "location": { "type": "string", @@ -141432,7 +142701,7 @@ "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", @@ -141440,7 +142709,7 @@ }, "licenseType": { "type": "string", - "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`.\n" + "description": "Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`.\n" }, "location": { "type": "string", @@ -146233,7 +147502,7 @@ "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "hotpatchingEnabled": { "type": "boolean", @@ -146516,7 +147785,7 @@ "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "hotpatchingEnabled": { "type": "boolean", @@ -146779,7 +148048,7 @@ "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication" }, - "description": "One or more `gallery_application` blocks as defined below.\n" + "description": "One or more `gallery_application` blocks as defined below.\n\n\u003e **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource.\n" }, "hotpatchingEnabled": { "type": "boolean", @@ -148893,6 +150162,10 @@ "azure:containerapp/environment:Environment": { "description": "Manages a Container App Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n name: \"acctest-01\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n name: \"my-environment\",\n location: example.location,\n resourceGroupName: example.name,\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n name=\"acctest-01\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n name=\"my-environment\",\n location=example.location,\n resource_group_name=example.name,\n log_analytics_workspace_id=example_analytics_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n {\n Name = \"acctest-01\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n\n var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n {\n Name = \"my-environment\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName: pulumi.String(\"acctest-01\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-environment\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder() \n .name(\"acctest-01\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"PerGB2018\")\n .retentionInDays(30)\n .build());\n\n var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder() \n .name(\"my-environment\")\n .location(example.location())\n .resourceGroupName(example.name())\n .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: acctest-01\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleEnvironment:\n type: azure:containerapp:Environment\n name: example\n properties:\n name: my-environment\n location: ${example.location}\n resourceGroupName: ${example.name}\n logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Container App Environment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environment:Environment example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment\"\n```\n\n", "properties": { + "customDomainVerificationId": { + "type": "string", + "description": "The ID of the Custom Domain Verification for this Container App Environment.\n" + }, "daprApplicationInsightsConnectionString": { "type": "string", "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created.\n", @@ -148966,6 +150239,7 @@ } }, "required": [ + "customDomainVerificationId", "defaultDomain", "dockerBridgeCidr", "infrastructureResourceGroupName", @@ -149044,6 +150318,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Environment resources.\n", "properties": { + "customDomainVerificationId": { + "type": "string", + "description": "The ID of the Custom Domain Verification for this Container App Environment.\n" + }, "daprApplicationInsightsConnectionString": { "type": "string", "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created.\n", @@ -149277,6 +150555,84 @@ "type": "object" } }, + "azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain": { + "description": "Manages a Container App Environment Custom Domain Suffix.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n name: \"acctest-01\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n name: \"my-environment\",\n location: example.location,\n resourceGroupName: example.name,\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleEnvironmentCustomDomain = new azure.containerapp.EnvironmentCustomDomain(\"example\", {\n containerAppEnvironmentId: exampleEnvironment.id,\n certificateBlobBase64: std.filebase64({\n input: \"testacc.pfx\",\n }).then(invoke =\u003e invoke.result),\n certificatePassword: \"TestAcc\",\n dnsSuffix: \"acceptancetest.contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n name=\"acctest-01\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n name=\"my-environment\",\n location=example.location,\n resource_group_name=example.name,\n log_analytics_workspace_id=example_analytics_workspace.id)\nexample_environment_custom_domain = azure.containerapp.EnvironmentCustomDomain(\"example\",\n container_app_environment_id=example_environment.id,\n certificate_blob_base64=std.filebase64(input=\"testacc.pfx\").result,\n certificate_password=\"TestAcc\",\n dns_suffix=\"acceptancetest.contoso.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n {\n Name = \"acctest-01\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n\n var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n {\n Name = \"my-environment\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n\n var exampleEnvironmentCustomDomain = new Azure.ContainerApp.EnvironmentCustomDomain(\"example\", new()\n {\n ContainerAppEnvironmentId = exampleEnvironment.Id,\n CertificateBlobBase64 = Std.Filebase64.Invoke(new()\n {\n Input = \"testacc.pfx\",\n }).Apply(invoke =\u003e invoke.Result),\n CertificatePassword = \"TestAcc\",\n DnsSuffix = \"acceptancetest.contoso.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName: pulumi.String(\"acctest-01\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"my-environment\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFilebase64, err := std.Filebase64(ctx, \u0026std.Filebase64Args{\n\t\t\tInput: \"testacc.pfx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentCustomDomain(ctx, \"example\", \u0026containerapp.EnvironmentCustomDomainArgs{\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tCertificateBlobBase64: invokeFilebase64.Result,\n\t\t\tCertificatePassword: pulumi.String(\"TestAcc\"),\n\t\t\tDnsSuffix: pulumi.String(\"acceptancetest.contoso.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.EnvironmentCustomDomain;\nimport com.pulumi.azure.containerapp.EnvironmentCustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder() \n .name(\"acctest-01\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"PerGB2018\")\n .retentionInDays(30)\n .build());\n\n var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder() \n .name(\"my-environment\")\n .location(example.location())\n .resourceGroupName(example.name())\n .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n .build());\n\n var exampleEnvironmentCustomDomain = new EnvironmentCustomDomain(\"exampleEnvironmentCustomDomain\", EnvironmentCustomDomainArgs.builder() \n .containerAppEnvironmentId(exampleEnvironment.id())\n .certificateBlobBase64(StdFunctions.filebase64(Filebase64Args.builder()\n .input(\"testacc.pfx\")\n .build()).result())\n .certificatePassword(\"TestAcc\")\n .dnsSuffix(\"acceptancetest.contoso.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: acctest-01\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleEnvironment:\n type: azure:containerapp:Environment\n name: example\n properties:\n name: my-environment\n location: ${example.location}\n resourceGroupName: ${example.name}\n logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n exampleEnvironmentCustomDomain:\n type: azure:containerapp:EnvironmentCustomDomain\n name: example\n properties:\n containerAppEnvironmentId: ${exampleEnvironment.id}\n certificateBlobBase64:\n fn::invoke:\n Function: std:filebase64\n Arguments:\n input: testacc.pfx\n Return: result\n certificatePassword: TestAcc\n dnsSuffix: acceptancetest.contoso.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment\"\n```\n\n", + "properties": { + "certificateBlobBase64": { + "type": "string", + "description": "The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n" + }, + "certificatePassword": { + "type": "string", + "description": "The password for the Certificate bundle.\n", + "secret": true + }, + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n" + }, + "dnsSuffix": { + "type": "string", + "description": "Custom DNS Suffix for the Container App Environment.\n" + } + }, + "required": [ + "certificateBlobBase64", + "certificatePassword", + "containerAppEnvironmentId", + "dnsSuffix" + ], + "inputProperties": { + "certificateBlobBase64": { + "type": "string", + "description": "The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n" + }, + "certificatePassword": { + "type": "string", + "description": "The password for the Certificate bundle.\n", + "secret": true + }, + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "dnsSuffix": { + "type": "string", + "description": "Custom DNS Suffix for the Container App Environment.\n" + } + }, + "requiredInputs": [ + "certificateBlobBase64", + "certificatePassword", + "containerAppEnvironmentId", + "dnsSuffix" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EnvironmentCustomDomain resources.\n", + "properties": { + "certificateBlobBase64": { + "type": "string", + "description": "The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM.\n" + }, + "certificatePassword": { + "type": "string", + "description": "The password for the Certificate bundle.\n", + "secret": true + }, + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "dnsSuffix": { + "type": "string", + "description": "Custom DNS Suffix for the Container App Environment.\n" + } + }, + "type": "object" + } + }, "azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent": { "description": "Manages a Dapr Component for a Container App Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n name: \"acctest-01\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n name: \"Example-Environment\",\n location: example.location,\n resourceGroupName: example.name,\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleEnvironmentDaprComponent = new azure.containerapp.EnvironmentDaprComponent(\"example\", {\n name: \"example-component\",\n containerAppEnvironmentId: exampleEnvironment.id,\n componentType: \"state.azure.blobstorage\",\n version: \"v1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n name=\"acctest-01\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n name=\"Example-Environment\",\n location=example.location,\n resource_group_name=example.name,\n log_analytics_workspace_id=example_analytics_workspace.id)\nexample_environment_dapr_component = azure.containerapp.EnvironmentDaprComponent(\"example\",\n name=\"example-component\",\n container_app_environment_id=example_environment.id,\n component_type=\"state.azure.blobstorage\",\n version=\"v1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n {\n Name = \"acctest-01\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n\n var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n {\n Name = \"Example-Environment\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n\n var exampleEnvironmentDaprComponent = new Azure.ContainerApp.EnvironmentDaprComponent(\"example\", new()\n {\n Name = \"example-component\",\n ContainerAppEnvironmentId = exampleEnvironment.Id,\n ComponentType = \"state.azure.blobstorage\",\n Version = \"v1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName: pulumi.String(\"acctest-01\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"Example-Environment\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewEnvironmentDaprComponent(ctx, \"example\", \u0026containerapp.EnvironmentDaprComponentArgs{\n\t\t\tName: pulumi.String(\"example-component\"),\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tComponentType: pulumi.String(\"state.azure.blobstorage\"),\n\t\t\tVersion: pulumi.String(\"v1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.EnvironmentDaprComponent;\nimport com.pulumi.azure.containerapp.EnvironmentDaprComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder() \n .name(\"acctest-01\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"PerGB2018\")\n .retentionInDays(30)\n .build());\n\n var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder() \n .name(\"Example-Environment\")\n .location(example.location())\n .resourceGroupName(example.name())\n .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n .build());\n\n var exampleEnvironmentDaprComponent = new EnvironmentDaprComponent(\"exampleEnvironmentDaprComponent\", EnvironmentDaprComponentArgs.builder() \n .name(\"example-component\")\n .containerAppEnvironmentId(exampleEnvironment.id())\n .componentType(\"state.azure.blobstorage\")\n .version(\"v1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: acctest-01\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleEnvironment:\n type: azure:containerapp:Environment\n name: example\n properties:\n name: Example-Environment\n location: ${example.location}\n resourceGroupName: ${example.name}\n logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n exampleEnvironmentDaprComponent:\n type: azure:containerapp:EnvironmentDaprComponent\n name: example\n properties:\n name: example-component\n containerAppEnvironmentId: ${exampleEnvironment.id}\n componentType: state.azure.blobstorage\n version: v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Dapr Component for a Container App Environment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myenv/daprComponents/mydaprcomponent\"\n```\n\n", "properties": { @@ -149558,6 +150914,281 @@ "type": "object" } }, + "azure:containerapp/job:Job": { + "description": "Manages a Container App Job.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n name: \"example-log-analytics-workspace\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleEnvironment = new azure.containerapp.Environment(\"example\", {\n name: \"example-container-app-environment\",\n location: example.location,\n resourceGroupName: example.name,\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n});\nconst exampleJob = new azure.containerapp.Job(\"example\", {\n name: \"example-container-app-job\",\n location: example.location,\n resourceGroupName: example.name,\n containerAppEnvironmentId: exampleEnvironment.id,\n replicaTimeoutInSeconds: 10,\n replicaRetryLimit: 10,\n manualTriggerConfig: {\n parallelism: 4,\n replicaCompletionCount: 1,\n },\n template: {\n containers: [{\n image: \"repo/testcontainerAppsJob0:v1\",\n name: \"testcontainerappsjob0\",\n readinessProbes: [{\n transport: \"HTTP\",\n port: 5000,\n }],\n livenessProbes: [{\n transport: \"HTTP\",\n port: 5000,\n path: \"/health\",\n headers: [{\n name: \"Cache-Control\",\n value: \"no-cache\",\n }],\n initialDelay: 5,\n intervalSeconds: 20,\n timeout: 2,\n failureCountThreshold: 1,\n }],\n startupProbes: [{\n transport: \"TCP\",\n port: 5000,\n }],\n cpu: 0.5,\n memory: \"1Gi\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n name=\"example-log-analytics-workspace\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_environment = azure.containerapp.Environment(\"example\",\n name=\"example-container-app-environment\",\n location=example.location,\n resource_group_name=example.name,\n log_analytics_workspace_id=example_analytics_workspace.id)\nexample_job = azure.containerapp.Job(\"example\",\n name=\"example-container-app-job\",\n location=example.location,\n resource_group_name=example.name,\n container_app_environment_id=example_environment.id,\n replica_timeout_in_seconds=10,\n replica_retry_limit=10,\n manual_trigger_config=azure.containerapp.JobManualTriggerConfigArgs(\n parallelism=4,\n replica_completion_count=1,\n ),\n template=azure.containerapp.JobTemplateArgs(\n containers=[azure.containerapp.JobTemplateContainerArgs(\n image=\"repo/testcontainerAppsJob0:v1\",\n name=\"testcontainerappsjob0\",\n readiness_probes=[azure.containerapp.JobTemplateContainerReadinessProbeArgs(\n transport=\"HTTP\",\n port=5000,\n )],\n liveness_probes=[azure.containerapp.JobTemplateContainerLivenessProbeArgs(\n transport=\"HTTP\",\n port=5000,\n path=\"/health\",\n headers=[azure.containerapp.JobTemplateContainerLivenessProbeHeaderArgs(\n name=\"Cache-Control\",\n value=\"no-cache\",\n )],\n initial_delay=5,\n interval_seconds=20,\n timeout=2,\n failure_count_threshold=1,\n )],\n startup_probes=[azure.containerapp.JobTemplateContainerStartupProbeArgs(\n transport=\"TCP\",\n port=5000,\n )],\n cpu=0.5,\n memory=\"1Gi\",\n )],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n {\n Name = \"example-log-analytics-workspace\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n\n var exampleEnvironment = new Azure.ContainerApp.Environment(\"example\", new()\n {\n Name = \"example-container-app-environment\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n\n var exampleJob = new Azure.ContainerApp.Job(\"example\", new()\n {\n Name = \"example-container-app-job\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n ContainerAppEnvironmentId = exampleEnvironment.Id,\n ReplicaTimeoutInSeconds = 10,\n ReplicaRetryLimit = 10,\n ManualTriggerConfig = new Azure.ContainerApp.Inputs.JobManualTriggerConfigArgs\n {\n Parallelism = 4,\n ReplicaCompletionCount = 1,\n },\n Template = new Azure.ContainerApp.Inputs.JobTemplateArgs\n {\n Containers = new[]\n {\n new Azure.ContainerApp.Inputs.JobTemplateContainerArgs\n {\n Image = \"repo/testcontainerAppsJob0:v1\",\n Name = \"testcontainerappsjob0\",\n ReadinessProbes = new[]\n {\n new Azure.ContainerApp.Inputs.JobTemplateContainerReadinessProbeArgs\n {\n Transport = \"HTTP\",\n Port = 5000,\n },\n },\n LivenessProbes = new[]\n {\n new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeArgs\n {\n Transport = \"HTTP\",\n Port = 5000,\n Path = \"/health\",\n Headers = new[]\n {\n new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeHeaderArgs\n {\n Name = \"Cache-Control\",\n Value = \"no-cache\",\n },\n },\n InitialDelay = 5,\n IntervalSeconds = 20,\n Timeout = 2,\n FailureCountThreshold = 1,\n },\n },\n StartupProbes = new[]\n {\n new Azure.ContainerApp.Inputs.JobTemplateContainerStartupProbeArgs\n {\n Transport = \"TCP\",\n Port = 5000,\n },\n },\n Cpu = 0.5,\n Memory = \"1Gi\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName: pulumi.String(\"example-log-analytics-workspace\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEnvironment, err := containerapp.NewEnvironment(ctx, \"example\", \u0026containerapp.EnvironmentArgs{\n\t\t\tName: pulumi.String(\"example-container-app-environment\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerapp.NewJob(ctx, \"example\", \u0026containerapp.JobArgs{\n\t\t\tName: pulumi.String(\"example-container-app-job\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tContainerAppEnvironmentId: exampleEnvironment.ID(),\n\t\t\tReplicaTimeoutInSeconds: pulumi.Int(10),\n\t\t\tReplicaRetryLimit: pulumi.Int(10),\n\t\t\tManualTriggerConfig: \u0026containerapp.JobManualTriggerConfigArgs{\n\t\t\t\tParallelism: pulumi.Int(4),\n\t\t\t\tReplicaCompletionCount: pulumi.Int(1),\n\t\t\t},\n\t\t\tTemplate: \u0026containerapp.JobTemplateArgs{\n\t\t\t\tContainers: containerapp.JobTemplateContainerArray{\n\t\t\t\t\t\u0026containerapp.JobTemplateContainerArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"repo/testcontainerAppsJob0:v1\"),\n\t\t\t\t\t\tName: pulumi.String(\"testcontainerappsjob0\"),\n\t\t\t\t\t\tReadinessProbes: containerapp.JobTemplateContainerReadinessProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerReadinessProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"HTTP\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(5000),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLivenessProbes: containerapp.JobTemplateContainerLivenessProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerLivenessProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"HTTP\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(5000),\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"/health\"),\n\t\t\t\t\t\t\t\tHeaders: containerapp.JobTemplateContainerLivenessProbeHeaderArray{\n\t\t\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerLivenessProbeHeaderArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Cache-Control\"),\n\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"no-cache\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tInitialDelay: pulumi.Int(5),\n\t\t\t\t\t\t\t\tIntervalSeconds: pulumi.Int(20),\n\t\t\t\t\t\t\t\tTimeout: pulumi.Int(2),\n\t\t\t\t\t\t\t\tFailureCountThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartupProbes: containerapp.JobTemplateContainerStartupProbeArray{\n\t\t\t\t\t\t\t\u0026containerapp.JobTemplateContainerStartupProbeArgs{\n\t\t\t\t\t\t\t\tTransport: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tPort: pulumi.Int(5000),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\t\t\t\tMemory: pulumi.String(\"1Gi\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.containerapp.Environment;\nimport com.pulumi.azure.containerapp.EnvironmentArgs;\nimport com.pulumi.azure.containerapp.Job;\nimport com.pulumi.azure.containerapp.JobArgs;\nimport com.pulumi.azure.containerapp.inputs.JobManualTriggerConfigArgs;\nimport com.pulumi.azure.containerapp.inputs.JobTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder() \n .name(\"example-log-analytics-workspace\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"PerGB2018\")\n .retentionInDays(30)\n .build());\n\n var exampleEnvironment = new Environment(\"exampleEnvironment\", EnvironmentArgs.builder() \n .name(\"example-container-app-environment\")\n .location(example.location())\n .resourceGroupName(example.name())\n .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder() \n .name(\"example-container-app-job\")\n .location(example.location())\n .resourceGroupName(example.name())\n .containerAppEnvironmentId(exampleEnvironment.id())\n .replicaTimeoutInSeconds(10)\n .replicaRetryLimit(10)\n .manualTriggerConfig(JobManualTriggerConfigArgs.builder()\n .parallelism(4)\n .replicaCompletionCount(1)\n .build())\n .template(JobTemplateArgs.builder()\n .containers(JobTemplateContainerArgs.builder()\n .image(\"repo/testcontainerAppsJob0:v1\")\n .name(\"testcontainerappsjob0\")\n .readinessProbes(JobTemplateContainerReadinessProbeArgs.builder()\n .transport(\"HTTP\")\n .port(5000)\n .build())\n .livenessProbes(JobTemplateContainerLivenessProbeArgs.builder()\n .transport(\"HTTP\")\n .port(5000)\n .path(\"/health\")\n .headers(JobTemplateContainerLivenessProbeHeaderArgs.builder()\n .name(\"Cache-Control\")\n .value(\"no-cache\")\n .build())\n .initialDelay(5)\n .intervalSeconds(20)\n .timeout(2)\n .failureCountThreshold(1)\n .build())\n .startupProbes(JobTemplateContainerStartupProbeArgs.builder()\n .transport(\"TCP\")\n .port(5000)\n .build())\n .cpu(0.5)\n .memory(\"1Gi\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: example-log-analytics-workspace\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleEnvironment:\n type: azure:containerapp:Environment\n name: example\n properties:\n name: example-container-app-environment\n location: ${example.location}\n resourceGroupName: ${example.name}\n logAnalyticsWorkspaceId: ${exampleAnalyticsWorkspace.id}\n exampleJob:\n type: azure:containerapp:Job\n name: example\n properties:\n name: example-container-app-job\n location: ${example.location}\n resourceGroupName: ${example.name}\n containerAppEnvironmentId: ${exampleEnvironment.id}\n replicaTimeoutInSeconds: 10\n replicaRetryLimit: 10\n manualTriggerConfig:\n parallelism: 4\n replicaCompletionCount: 1\n template:\n containers:\n - image: repo/testcontainerAppsJob0:v1\n name: testcontainerappsjob0\n readinessProbes:\n - transport: HTTP\n port: 5000\n livenessProbes:\n - transport: HTTP\n port: 5000\n path: /health\n headers:\n - name: Cache-Control\n value: no-cache\n initialDelay: 5\n intervalSeconds: 20\n timeout: 2\n failureCountThreshold: 1\n startupProbes:\n - transport: TCP\n port: 5000\n cpu: 0.5\n memory: 1Gi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Container App Job can be imported using the resource id, e.g.\n\n```sh\n$ pulumi import azure:containerapp/job:Job example \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job\"\n```\n\n", + "properties": { + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n" + }, + "eventStreamEndpoint": { + "type": "string", + "description": "The endpoint for the Container App Job event stream.\n" + }, + "eventTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig", + "description": "A `event_trigger_config` block as defined below.\n" + }, + "identity": { + "$ref": "#/types/azure:containerapp/JobIdentity:JobIdentity", + "description": "A `identity` block as defined below.\n" + }, + "location": { + "type": "string", + "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" + }, + "manualTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig", + "description": "A `manual_trigger_config` block as defined below.\n" + }, + "name": { + "type": "string", + "description": "Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n" + }, + "outboundIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of the Public IP Addresses which the Container App uses for outbound network access.\n" + }, + "registries": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobRegistry:JobRegistry" + }, + "description": "A `registries` block as defined below.\n" + }, + "replicaRetryLimit": { + "type": "integer", + "description": "The maximum number of times a replica is allowed to retry.\n" + }, + "replicaTimeoutInSeconds": { + "type": "integer", + "description": "The maximum number of seconds a replica is allowed to run.\n" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n" + }, + "scheduleTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig", + "description": "A `schedule_trigger_config` block as defined below.\n\n\u003e ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified.\n" + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobSecret:JobSecret" + }, + "description": "A `secrets` block as defined below.\n", + "secret": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of tags to assign to the resource.\n" + }, + "template": { + "$ref": "#/types/azure:containerapp/JobTemplate:JobTemplate", + "description": "A `template` block as defined below.\n" + }, + "workloadProfileName": { + "type": "string", + "description": "The name of the workload profile to use for the Container App Job.\n" + } + }, + "required": [ + "containerAppEnvironmentId", + "eventStreamEndpoint", + "location", + "name", + "outboundIpAddresses", + "replicaTimeoutInSeconds", + "resourceGroupName", + "template" + ], + "inputProperties": { + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "eventTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig", + "description": "A `event_trigger_config` block as defined below.\n", + "willReplaceOnChanges": true + }, + "identity": { + "$ref": "#/types/azure:containerapp/JobIdentity:JobIdentity", + "description": "A `identity` block as defined below.\n" + }, + "location": { + "type": "string", + "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "manualTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig", + "description": "A `manual_trigger_config` block as defined below.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "registries": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobRegistry:JobRegistry" + }, + "description": "A `registries` block as defined below.\n" + }, + "replicaRetryLimit": { + "type": "integer", + "description": "The maximum number of times a replica is allowed to retry.\n" + }, + "replicaTimeoutInSeconds": { + "type": "integer", + "description": "The maximum number of seconds a replica is allowed to run.\n" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "scheduleTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig", + "description": "A `schedule_trigger_config` block as defined below.\n\n\u003e ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified.\n", + "willReplaceOnChanges": true + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobSecret:JobSecret" + }, + "description": "A `secrets` block as defined below.\n", + "secret": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of tags to assign to the resource.\n" + }, + "template": { + "$ref": "#/types/azure:containerapp/JobTemplate:JobTemplate", + "description": "A `template` block as defined below.\n" + }, + "workloadProfileName": { + "type": "string", + "description": "The name of the workload profile to use for the Container App Job.\n" + } + }, + "requiredInputs": [ + "containerAppEnvironmentId", + "replicaTimeoutInSeconds", + "resourceGroupName", + "template" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Job resources.\n", + "properties": { + "containerAppEnvironmentId": { + "type": "string", + "description": "The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "eventStreamEndpoint": { + "type": "string", + "description": "The endpoint for the Container App Job event stream.\n" + }, + "eventTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobEventTriggerConfig:JobEventTriggerConfig", + "description": "A `event_trigger_config` block as defined below.\n", + "willReplaceOnChanges": true + }, + "identity": { + "$ref": "#/types/azure:containerapp/JobIdentity:JobIdentity", + "description": "A `identity` block as defined below.\n" + }, + "location": { + "type": "string", + "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "manualTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobManualTriggerConfig:JobManualTriggerConfig", + "description": "A `manual_trigger_config` block as defined below.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Specifies the name of the Container App Job resource. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "outboundIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of the Public IP Addresses which the Container App uses for outbound network access.\n" + }, + "registries": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobRegistry:JobRegistry" + }, + "description": "A `registries` block as defined below.\n" + }, + "replicaRetryLimit": { + "type": "integer", + "description": "The maximum number of times a replica is allowed to retry.\n" + }, + "replicaTimeoutInSeconds": { + "type": "integer", + "description": "The maximum number of seconds a replica is allowed to run.\n" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "scheduleTriggerConfig": { + "$ref": "#/types/azure:containerapp/JobScheduleTriggerConfig:JobScheduleTriggerConfig", + "description": "A `schedule_trigger_config` block as defined below.\n\n\u003e ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified.\n", + "willReplaceOnChanges": true + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerapp/JobSecret:JobSecret" + }, + "description": "A `secrets` block as defined below.\n", + "secret": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of tags to assign to the resource.\n" + }, + "template": { + "$ref": "#/types/azure:containerapp/JobTemplate:JobTemplate", + "description": "A `template` block as defined below.\n" + }, + "workloadProfileName": { + "type": "string", + "description": "The name of the workload profile to use for the Container App Job.\n" + } + }, + "type": "object" + } + }, "azure:containerservice/clusterTrustedAccessRoleBinding:ClusterTrustedAccessRoleBinding": { "description": "\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a Kubernetes Cluster Trusted Access Role Binding\n\u003e **Note:** This Resource is in **Preview** to use this you must be opted into the Preview. You can do this by running `az feature register --namespace Microsoft.ContainerService --name TrustedAccessPreview` and then `az provider register -n Microsoft.ContainerService`\n.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst example = new azure.appinsights.Insights(\"example\", {\n name: \"example\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"example-value\",\n});\nconst test = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n name: \"example\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: exampleAzurermClientConfig.tenantId,\n skuName: \"example-value\",\n softDeleteRetentionDays: \"example-value\",\n});\nconst exampleAccessPolicy = new azure.keyvault.AccessPolicy(\"example\", {\n keyVaultId: exampleKeyVault.id,\n tenantId: exampleAzurermClientConfig.tenantId,\n objectId: exampleAzurermClientConfig.objectId,\n keyPermissions: \"example-value\",\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n name: \"example\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n dnsPrefix: \"acctestaksexample\",\n defaultNodePool: {\n name: \"example-value\",\n nodeCount: \"example-value\",\n vmSize: \"example-value\",\n upgradeSettings: {\n maxSurge: \"example-value\",\n },\n },\n identity: {\n type: \"example-value\",\n },\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"example\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n accountTier: \"example-value\",\n accountReplicationType: \"example-value\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"example\", {\n name: \"example\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n keyVaultId: exampleKeyVault.id,\n storageAccountId: exampleAccount.id,\n applicationInsightsId: example.id,\n identity: {\n type: \"example-value\",\n },\n});\nconst exampleClusterTrustedAccessRoleBinding = new azure.containerservice.ClusterTrustedAccessRoleBinding(\"example\", {\n kubernetesClusterId: exampleKubernetesCluster.id,\n name: \"example\",\n roles: \"example-value\",\n sourceResourceId: exampleWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample = azure.appinsights.Insights(\"example\",\n name=\"example\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"example-value\")\ntest = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n name=\"example\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=example_azurerm_client_config[\"tenantId\"],\n sku_name=\"example-value\",\n soft_delete_retention_days=\"example-value\")\nexample_access_policy = azure.keyvault.AccessPolicy(\"example\",\n key_vault_id=example_key_vault.id,\n tenant_id=example_azurerm_client_config[\"tenantId\"],\n object_id=example_azurerm_client_config[\"objectId\"],\n key_permissions=\"example-value\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n name=\"example\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n dns_prefix=\"acctestaksexample\",\n default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(\n name=\"example-value\",\n node_count=\"example-value\",\n vm_size=\"example-value\",\n upgrade_settings=azure.containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs(\n max_surge=\"example-value\",\n ),\n ),\n identity=azure.containerservice.KubernetesClusterIdentityArgs(\n type=\"example-value\",\n ))\nexample_account = azure.storage.Account(\"example\",\n name=\"example\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n account_tier=\"example-value\",\n account_replication_type=\"example-value\")\nexample_workspace = azure.machinelearning.Workspace(\"example\",\n name=\"example\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n key_vault_id=example_key_vault.id,\n storage_account_id=example_account.id,\n application_insights_id=example.id,\n identity=azure.machinelearning.WorkspaceIdentityArgs(\n type=\"example-value\",\n ))\nexample_cluster_trusted_access_role_binding = azure.containerservice.ClusterTrustedAccessRoleBinding(\"example\",\n kubernetes_cluster_id=example_kubernetes_cluster.id,\n name=\"example\",\n roles=\"example-value\",\n source_resource_id=example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var example = new Azure.AppInsights.Insights(\"example\", new()\n {\n Name = \"example\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"example-value\",\n });\n\n var test = Azure.Core.GetClientConfig.Invoke();\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n {\n Name = \"example\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = exampleAzurermClientConfig.TenantId,\n SkuName = \"example-value\",\n SoftDeleteRetentionDays = \"example-value\",\n });\n\n var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy(\"example\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n TenantId = exampleAzurermClientConfig.TenantId,\n ObjectId = exampleAzurermClientConfig.ObjectId,\n KeyPermissions = \"example-value\",\n });\n\n var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n {\n Name = \"example\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n DnsPrefix = \"acctestaksexample\",\n DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n {\n Name = \"example-value\",\n NodeCount = \"example-value\",\n VmSize = \"example-value\",\n UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs\n {\n MaxSurge = \"example-value\",\n },\n },\n Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n {\n Type = \"example-value\",\n },\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"example\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AccountTier = \"example-value\",\n AccountReplicationType = \"example-value\",\n });\n\n var exampleWorkspace = new Azure.MachineLearning.Workspace(\"example\", new()\n {\n Name = \"example\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n KeyVaultId = exampleKeyVault.Id,\n StorageAccountId = exampleAccount.Id,\n ApplicationInsightsId = example.Id,\n Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs\n {\n Type = \"example-value\",\n },\n });\n\n var exampleClusterTrustedAccessRoleBinding = new Azure.ContainerService.ClusterTrustedAccessRoleBinding(\"example\", new()\n {\n KubernetesClusterId = exampleKubernetesCluster.Id,\n Name = \"example\",\n Roles = \"example-value\",\n SourceResourceId = exampleWorkspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := appinsights.NewInsights(ctx, \"example\", \u0026appinsights.InsightsArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApplicationType: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTenantId: pulumi.Any(exampleAzurermClientConfig.TenantId),\n\t\t\tSkuName: pulumi.String(\"example-value\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"example\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.Any(exampleAzurermClientConfig.TenantId),\n\t\t\tObjectId: pulumi.Any(exampleAzurermClientConfig.ObjectId),\n\t\t\tKeyPermissions: pulumi.StringArray(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDnsPrefix: pulumi.String(\"acctestaksexample\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"example-value\"),\n\t\t\t\tNodeCount: pulumi.Int(\"example-value\"),\n\t\t\t\tVmSize: pulumi.String(\"example-value\"),\n\t\t\t\tUpgradeSettings: \u0026containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{\n\t\t\t\t\tMaxSurge: pulumi.String(\"example-value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountTier: pulumi.String(\"example-value\"),\n\t\t\tAccountReplicationType: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := machinelearning.NewWorkspace(ctx, \"example\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tApplicationInsightsId: example.ID(),\n\t\t\tIdentity: \u0026machinelearning.WorkspaceIdentityArgs{\n\t\t\t\tType: pulumi.String(\"example-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewClusterTrustedAccessRoleBinding(ctx, \"example\", \u0026containerservice.ClusterTrustedAccessRoleBindingArgs{\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoles: pulumi.StringArray(\"example-value\"),\n\t\t\tSourceResourceId: exampleWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.appinsights.Insights;\nimport com.pulumi.azure.appinsights.InsightsArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.machinelearning.Workspace;\nimport com.pulumi.azure.machinelearning.WorkspaceArgs;\nimport com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding;\nimport com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var example = new Insights(\"example\", InsightsArgs.builder() \n .name(\"example\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .applicationType(\"example-value\")\n .build());\n\n final var test = CoreFunctions.getClientConfig();\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .name(\"example\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .tenantId(exampleAzurermClientConfig.tenantId())\n .skuName(\"example-value\")\n .softDeleteRetentionDays(\"example-value\")\n .build());\n\n var exampleAccessPolicy = new AccessPolicy(\"exampleAccessPolicy\", AccessPolicyArgs.builder() \n .keyVaultId(exampleKeyVault.id())\n .tenantId(exampleAzurermClientConfig.tenantId())\n .objectId(exampleAzurermClientConfig.objectId())\n .keyPermissions(\"example-value\")\n .build());\n\n var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder() \n .name(\"example\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .dnsPrefix(\"acctestaksexample\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"example-value\")\n .nodeCount(\"example-value\")\n .vmSize(\"example-value\")\n .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()\n .maxSurge(\"example-value\")\n .build())\n .build())\n .identity(KubernetesClusterIdentityArgs.builder()\n .type(\"example-value\")\n .build())\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .name(\"example\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .accountTier(\"example-value\")\n .accountReplicationType(\"example-value\")\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .name(\"example\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .keyVaultId(exampleKeyVault.id())\n .storageAccountId(exampleAccount.id())\n .applicationInsightsId(example.id())\n .identity(WorkspaceIdentityArgs.builder()\n .type(\"example-value\")\n .build())\n .build());\n\n var exampleClusterTrustedAccessRoleBinding = new ClusterTrustedAccessRoleBinding(\"exampleClusterTrustedAccessRoleBinding\", ClusterTrustedAccessRoleBindingArgs.builder() \n .kubernetesClusterId(exampleKubernetesCluster.id())\n .name(\"example\")\n .roles(\"example-value\")\n .sourceResourceId(exampleWorkspace.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:appinsights:Insights\n properties:\n name: example\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n applicationType: example-value\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n name: example\n properties:\n name: example\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n tenantId: ${exampleAzurermClientConfig.tenantId}\n skuName: example-value\n softDeleteRetentionDays: example-value\n exampleAccessPolicy:\n type: azure:keyvault:AccessPolicy\n name: example\n properties:\n keyVaultId: ${exampleKeyVault.id}\n tenantId: ${exampleAzurermClientConfig.tenantId}\n objectId: ${exampleAzurermClientConfig.objectId}\n keyPermissions: example-value\n exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n dnsPrefix: acctestaksexample\n defaultNodePool:\n name: example-value\n nodeCount: example-value\n vmSize: example-value\n upgradeSettings:\n maxSurge: example-value\n identity:\n type: example-value\n exampleWorkspace:\n type: azure:machinelearning:Workspace\n name: example\n properties:\n name: example\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n keyVaultId: ${exampleKeyVault.id}\n storageAccountId: ${exampleAccount.id}\n applicationInsightsId: ${example.id}\n identity:\n type: example-value\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n name: example\n properties:\n name: example-resources\n location: West Europe\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: example\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n accountTier: example-value\n accountReplicationType: example-value\n exampleClusterTrustedAccessRoleBinding:\n type: azure:containerservice:ClusterTrustedAccessRoleBinding\n name: example\n properties:\n kubernetesClusterId: ${exampleKubernetesCluster.id}\n name: example\n roles: example-value\n sourceResourceId: ${exampleWorkspace.id}\nvariables:\n test:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAn existing Kubernetes Cluster Trusted Access Role Binding can be imported into Terraform using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/clusterTrustedAccessRoleBinding:ClusterTrustedAccessRoleBinding example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{managedClusterName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}\n```\n\n* Where `{subscriptionId}` is the ID of the Azure Subscription where the Kubernetes Cluster Trusted Access Role Binding exists. For example `12345678-1234-9876-4563-123456789012`.\n\n* Where `{resourceGroupName}` is the name of Resource Group where this Kubernetes Cluster Trusted Access Role Binding exists. For example `example-resource-group`.\n\n* Where `{managedClusterName}` is the name of the Managed Cluster. For example `managedClusterValue`.\n\n* Where `{trustedAccessRoleBindingName}` is the name of the Trusted Access Role Binding. For example `trustedAccessRoleBindingValue`.\n\n", "properties": { @@ -163672,6 +165303,127 @@ "type": "object" } }, + "azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal": { + "description": "Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"westeurope\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"example\", {\n name: \"example\",\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n name: \"example\",\n location: example.location,\n resourceGroupName: example.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n keyPermissions: [\n \"Create\",\n \"Get\",\n ],\n secretPermissions: [\n \"Set\",\n \"Get\",\n \"Delete\",\n \"Purge\",\n \"Recover\",\n ],\n }],\n});\nconst exampleSecret = new azure.keyvault.Secret(\"example\", {\n name: \"example\",\n value: \"example-secret\",\n keyVaultId: exampleKeyVault.id,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"example\", {\n name: \"example\",\n dataFactoryId: exampleFactory.id,\n keyVaultId: exampleKeyVault.id,\n});\nconst exampleCredentialServicePrincipal = new azure.datafactory.CredentialServicePrincipal(\"example\", {\n name: \"example\",\n description: \"example description\",\n dataFactoryId: exampleFactory.id,\n tenantId: current.then(current =\u003e current.tenantId),\n servicePrincipalId: current.then(current =\u003e current.clientId),\n servicePrincipalKey: {\n linkedServiceName: exampleLinkedServiceKeyVault.name,\n secretName: exampleSecret.name,\n secretVersion: exampleSecret.version,\n },\n annotations: [\n \"1\",\n \"2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"westeurope\")\nexample_factory = azure.datafactory.Factory(\"example\",\n name=\"example\",\n location=example.location,\n resource_group_name=example.name)\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n name=\"example\",\n location=example.location,\n resource_group_name=example.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n soft_delete_retention_days=7,\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n key_permissions=[\n \"Create\",\n \"Get\",\n ],\n secret_permissions=[\n \"Set\",\n \"Get\",\n \"Delete\",\n \"Purge\",\n \"Recover\",\n ],\n )])\nexample_secret = azure.keyvault.Secret(\"example\",\n name=\"example\",\n value=\"example-secret\",\n key_vault_id=example_key_vault.id)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"example\",\n name=\"example\",\n data_factory_id=example_factory.id,\n key_vault_id=example_key_vault.id)\nexample_credential_service_principal = azure.datafactory.CredentialServicePrincipal(\"example\",\n name=\"example\",\n description=\"example description\",\n data_factory_id=example_factory.id,\n tenant_id=current.tenant_id,\n service_principal_id=current.client_id,\n service_principal_key=azure.datafactory.CredentialServicePrincipalServicePrincipalKeyArgs(\n linked_service_name=example_linked_service_key_vault.name,\n secret_name=example_secret.name,\n secret_version=example_secret.version,\n ),\n annotations=[\n \"1\",\n \"2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"westeurope\",\n });\n\n var exampleFactory = new Azure.DataFactory.Factory(\"example\", new()\n {\n Name = \"example\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n {\n Name = \"example\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"premium\",\n SoftDeleteRetentionDays = 7,\n AccessPolicies = new[]\n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ObjectId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ObjectId),\n KeyPermissions = new[]\n {\n \"Create\",\n \"Get\",\n },\n SecretPermissions = new[]\n {\n \"Set\",\n \"Get\",\n \"Delete\",\n \"Purge\",\n \"Recover\",\n },\n },\n },\n });\n\n var exampleSecret = new Azure.KeyVault.Secret(\"example\", new()\n {\n Name = \"example\",\n Value = \"example-secret\",\n KeyVaultId = exampleKeyVault.Id,\n });\n\n var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"example\", new()\n {\n Name = \"example\",\n DataFactoryId = exampleFactory.Id,\n KeyVaultId = exampleKeyVault.Id,\n });\n\n var exampleCredentialServicePrincipal = new Azure.DataFactory.CredentialServicePrincipal(\"example\", new()\n {\n Name = \"example\",\n Description = \"example description\",\n DataFactoryId = exampleFactory.Id,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n ServicePrincipalId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.ClientId),\n ServicePrincipalKey = new Azure.DataFactory.Inputs.CredentialServicePrincipalServicePrincipalKeyArgs\n {\n LinkedServiceName = exampleLinkedServiceKeyVault.Name,\n SecretName = exampleSecret.Name,\n SecretVersion = exampleSecret.Version,\n },\n Annotations = new[]\n {\n \"1\",\n \"2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFactory, err := datafactory.NewFactory(ctx, \"example\", \u0026datafactory.FactoryArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"example\", \u0026keyvault.KeyVaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\tSkuName: pulumi.String(\"premium\"),\n\t\t\tSoftDeleteRetentionDays: pulumi.Int(7),\n\t\t\tAccessPolicies: keyvault.KeyVaultAccessPolicyArray{\n\t\t\t\t\u0026keyvault.KeyVaultAccessPolicyArgs{\n\t\t\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\t\t\tObjectId: pulumi.String(current.ObjectId),\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Create\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\n\t\t\t\t\t\tpulumi.String(\"Recover\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := keyvault.NewSecret(ctx, \"example\", \u0026keyvault.SecretArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tValue: pulumi.String(\"example-secret\"),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, \"example\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewCredentialServicePrincipal(ctx, \"example\", \u0026datafactory.CredentialServicePrincipalArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tDataFactoryId: exampleFactory.ID(),\n\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\tServicePrincipalId: pulumi.String(current.ClientId),\n\t\t\tServicePrincipalKey: \u0026datafactory.CredentialServicePrincipalServicePrincipalKeyArgs{\n\t\t\t\tLinkedServiceName: exampleLinkedServiceKeyVault.Name,\n\t\t\t\tSecretName: exampleSecret.Name,\n\t\t\t\tSecretVersion: exampleSecret.Version,\n\t\t\t},\n\t\t\tAnnotations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.datafactory.Factory;\nimport com.pulumi.azure.datafactory.FactoryArgs;\nimport com.pulumi.azure.keyvault.KeyVault;\nimport com.pulumi.azure.keyvault.KeyVaultArgs;\nimport com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;\nimport com.pulumi.azure.keyvault.Secret;\nimport com.pulumi.azure.keyvault.SecretArgs;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVault;\nimport com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;\nimport com.pulumi.azure.datafactory.CredentialServicePrincipal;\nimport com.pulumi.azure.datafactory.CredentialServicePrincipalArgs;\nimport com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalServicePrincipalKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CoreFunctions.getClientConfig();\n\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"westeurope\")\n .build());\n\n var exampleFactory = new Factory(\"exampleFactory\", FactoryArgs.builder() \n .name(\"example\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder() \n .name(\"example\")\n .location(example.location())\n .resourceGroupName(example.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"premium\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .keyPermissions( \n \"Create\",\n \"Get\")\n .secretPermissions( \n \"Set\",\n \"Get\",\n \"Delete\",\n \"Purge\",\n \"Recover\")\n .build())\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder() \n .name(\"example\")\n .value(\"example-secret\")\n .keyVaultId(exampleKeyVault.id())\n .build());\n\n var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", LinkedServiceKeyVaultArgs.builder() \n .name(\"example\")\n .dataFactoryId(exampleFactory.id())\n .keyVaultId(exampleKeyVault.id())\n .build());\n\n var exampleCredentialServicePrincipal = new CredentialServicePrincipal(\"exampleCredentialServicePrincipal\", CredentialServicePrincipalArgs.builder() \n .name(\"example\")\n .description(\"example description\")\n .dataFactoryId(exampleFactory.id())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .servicePrincipalId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.clientId()))\n .servicePrincipalKey(CredentialServicePrincipalServicePrincipalKeyArgs.builder()\n .linkedServiceName(exampleLinkedServiceKeyVault.name())\n .secretName(exampleSecret.name())\n .secretVersion(exampleSecret.version())\n .build())\n .annotations( \n \"1\",\n \"2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: westeurope\n exampleFactory:\n type: azure:datafactory:Factory\n name: example\n properties:\n name: example\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleKeyVault:\n type: azure:keyvault:KeyVault\n name: example\n properties:\n name: example\n location: ${example.location}\n resourceGroupName: ${example.name}\n tenantId: ${current.tenantId}\n skuName: premium\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n keyPermissions:\n - Create\n - Get\n secretPermissions:\n - Set\n - Get\n - Delete\n - Purge\n - Recover\n exampleSecret:\n type: azure:keyvault:Secret\n name: example\n properties:\n name: example\n value: example-secret\n keyVaultId: ${exampleKeyVault.id}\n exampleLinkedServiceKeyVault:\n type: azure:datafactory:LinkedServiceKeyVault\n name: example\n properties:\n name: example\n dataFactoryId: ${exampleFactory.id}\n keyVaultId: ${exampleKeyVault.id}\n exampleCredentialServicePrincipal:\n type: azure:datafactory:CredentialServicePrincipal\n name: example\n properties:\n name: example\n description: example description\n dataFactoryId: ${exampleFactory.id}\n tenantId: ${current.tenantId}\n servicePrincipalId: ${current.clientId}\n servicePrincipalKey:\n linkedServiceName: ${exampleLinkedServiceKeyVault.name}\n secretName: ${exampleSecret.name}\n secretVersion: ${exampleSecret.version}\n annotations:\n - '1'\n - '2'\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Factory Credentials can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1\n```\n\n", + "properties": { + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tags that can be used for describing the Data Factory Credential.\n" + }, + "dataFactoryId": { + "type": "string", + "description": "The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n" + }, + "description": { + "type": "string", + "description": "The description for the Data Factory Credential.\n" + }, + "name": { + "type": "string", + "description": "Specifies the name of the Credential. Changing this forces a new resource to be created.\n" + }, + "servicePrincipalId": { + "type": "string", + "description": "The Client ID of the Service Principal.\n" + }, + "servicePrincipalKey": { + "$ref": "#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey", + "description": "A `service_principal_key` block as defined below.\n" + }, + "tenantId": { + "type": "string", + "description": "The Tenant ID of the Service Principal.\n" + } + }, + "required": [ + "dataFactoryId", + "name", + "servicePrincipalId", + "tenantId" + ], + "inputProperties": { + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tags that can be used for describing the Data Factory Credential.\n" + }, + "dataFactoryId": { + "type": "string", + "description": "The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description for the Data Factory Credential.\n" + }, + "name": { + "type": "string", + "description": "Specifies the name of the Credential. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "servicePrincipalId": { + "type": "string", + "description": "The Client ID of the Service Principal.\n" + }, + "servicePrincipalKey": { + "$ref": "#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey", + "description": "A `service_principal_key` block as defined below.\n" + }, + "tenantId": { + "type": "string", + "description": "The Tenant ID of the Service Principal.\n" + } + }, + "requiredInputs": [ + "dataFactoryId", + "servicePrincipalId", + "tenantId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CredentialServicePrincipal resources.\n", + "properties": { + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tags that can be used for describing the Data Factory Credential.\n" + }, + "dataFactoryId": { + "type": "string", + "description": "The Data Factory ID in which to associate the Credential with. Changing this forces a new resource.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description for the Data Factory Credential.\n" + }, + "name": { + "type": "string", + "description": "Specifies the name of the Credential. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "servicePrincipalId": { + "type": "string", + "description": "The Client ID of the Service Principal.\n" + }, + "servicePrincipalKey": { + "$ref": "#/types/azure:datafactory/CredentialServicePrincipalServicePrincipalKey:CredentialServicePrincipalServicePrincipalKey", + "description": "A `service_principal_key` block as defined below.\n" + }, + "tenantId": { + "type": "string", + "description": "The Tenant ID of the Service Principal.\n" + } + }, + "type": "object" + } + }, "azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity": { "properties": { "annotations": { @@ -196606,7 +198358,6 @@ "name", "resourceGroupName", "sku", - "trustedExternalTenants", "uri" ], "inputProperties": { @@ -205722,6 +207473,68 @@ "type": "object" } }, + "azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope": { + "description": "Manages a Dynamic Maintenance Assignment.\n\n\u003e **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes.\n\n## Import\n\nDynamic Maintenance Assignments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName\n```\n\n", + "properties": { + "filter": { + "$ref": "#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter", + "description": "A `filter` block as defined below.\n" + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The `name` must be unique per subscription.\n" + } + }, + "required": [ + "filter", + "maintenanceConfigurationId", + "name" + ], + "inputProperties": { + "filter": { + "$ref": "#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter", + "description": "A `filter` block as defined below.\n" + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The `name` must be unique per subscription.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "filter", + "maintenanceConfigurationId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AssignmentDynamicScope resources.\n", + "properties": { + "filter": { + "$ref": "#/types/azure:maintenance/AssignmentDynamicScopeFilter:AssignmentDynamicScopeFilter", + "description": "A `filter` block as defined below.\n" + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created.\n\n\u003e **Note:** The `name` must be unique per subscription.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine": { "description": "Manages a maintenance assignment to virtual machine.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"example-network\",\n addressSpaces: [\"10.0.0.0/16\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"internal\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"example\", {\n name: \"example-nic\",\n location: example.location,\n resourceGroupName: example.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"example\", {\n name: \"example-machine\",\n resourceGroupName: example.name,\n location: example.location,\n size: \"Standard_F2\",\n adminUsername: \"adminuser\",\n networkInterfaceIds: [exampleNetworkInterface.id],\n adminSshKeys: [{\n username: \"adminuser\",\n publicKey: std.file({\n input: \"~/.ssh/id_rsa.pub\",\n }).then(invoke =\u003e invoke.result),\n }],\n osDisk: {\n caching: \"ReadWrite\",\n storageAccountType: \"Standard_LRS\",\n },\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"0001-com-ubuntu-server-jammy\",\n sku: \"22_04-lts\",\n version: \"latest\",\n },\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"example\", {\n name: \"example-mc\",\n resourceGroupName: example.name,\n location: example.location,\n scope: \"All\",\n});\nconst exampleAssignmentVirtualMachine = new azure.maintenance.AssignmentVirtualMachine(\"example\", {\n location: example.location,\n maintenanceConfigurationId: exampleConfiguration.id,\n virtualMachineId: exampleLinuxVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_std as std\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"example-network\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example.location,\n resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"internal\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"])\nexample_network_interface = azure.network.NetworkInterface(\"example\",\n name=\"example-nic\",\n location=example.location,\n resource_group_name=example.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"example\",\n name=\"example-machine\",\n resource_group_name=example.name,\n location=example.location,\n size=\"Standard_F2\",\n admin_username=\"adminuser\",\n network_interface_ids=[example_network_interface.id],\n admin_ssh_keys=[azure.compute.LinuxVirtualMachineAdminSshKeyArgs(\n username=\"adminuser\",\n public_key=std.file(input=\"~/.ssh/id_rsa.pub\").result,\n )],\n os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(\n caching=\"ReadWrite\",\n storage_account_type=\"Standard_LRS\",\n ),\n source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"0001-com-ubuntu-server-jammy\",\n sku=\"22_04-lts\",\n version=\"latest\",\n ))\nexample_configuration = azure.maintenance.Configuration(\"example\",\n name=\"example-mc\",\n resource_group_name=example.name,\n location=example.location,\n scope=\"All\")\nexample_assignment_virtual_machine = azure.maintenance.AssignmentVirtualMachine(\"example\",\n location=example.location,\n maintenance_configuration_id=example_configuration.id,\n virtual_machine_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"example-network\",\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"internal\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n });\n\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"example\", new()\n {\n Name = \"example-nic\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n IpConfigurations = new[]\n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n\n var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"example\", new()\n {\n Name = \"example-machine\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Size = \"Standard_F2\",\n AdminUsername = \"adminuser\",\n NetworkInterfaceIds = new[]\n {\n exampleNetworkInterface.Id,\n },\n AdminSshKeys = new[]\n {\n new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n {\n Username = \"adminuser\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"~/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n {\n Caching = \"ReadWrite\",\n StorageAccountType = \"Standard_LRS\",\n },\n SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"0001-com-ubuntu-server-jammy\",\n Sku = \"22_04-lts\",\n Version = \"latest\",\n },\n });\n\n var exampleConfiguration = new Azure.Maintenance.Configuration(\"example\", new()\n {\n Name = \"example-mc\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Scope = \"All\",\n });\n\n var exampleAssignmentVirtualMachine = new Azure.Maintenance.AssignmentVirtualMachine(\"example\", new()\n {\n Location = example.Location,\n MaintenanceConfigurationId = exampleConfiguration.Id,\n VirtualMachineId = exampleLinuxVirtualMachine.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-network\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName: pulumi.String(\"internal\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"example\", \u0026network.NetworkInterfaceArgs{\n\t\t\tName: pulumi.String(\"example-nic\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tIpConfigurations: network.NetworkInterfaceIpConfigurationArray{\n\t\t\t\t\u0026network.NetworkInterfaceIpConfigurationArgs{\n\t\t\t\t\tName: pulumi.String(\"internal\"),\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\tPrivateIpAddressAllocation: pulumi.String(\"Dynamic\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"~/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, \"example\", \u0026compute.LinuxVirtualMachineArgs{\n\t\t\tName: pulumi.String(\"example-machine\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tSize: pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername: pulumi.String(\"adminuser\"),\n\t\t\tNetworkInterfaceIds: pulumi.StringArray{\n\t\t\t\texampleNetworkInterface.ID(),\n\t\t\t},\n\t\t\tAdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{\n\t\t\t\t\u0026compute.LinuxVirtualMachineAdminSshKeyArgs{\n\t\t\t\t\tUsername: pulumi.String(\"adminuser\"),\n\t\t\t\t\tPublicKey: invokeFile.Result,\n\t\t\t\t},\n\t\t\t},\n\t\t\tOsDisk: \u0026compute.LinuxVirtualMachineOsDiskArgs{\n\t\t\t\tCaching: pulumi.String(\"ReadWrite\"),\n\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t},\n\t\t\tSourceImageReference: \u0026compute.LinuxVirtualMachineSourceImageReferenceArgs{\n\t\t\t\tPublisher: pulumi.String(\"Canonical\"),\n\t\t\t\tOffer: pulumi.String(\"0001-com-ubuntu-server-jammy\"),\n\t\t\t\tSku: pulumi.String(\"22_04-lts\"),\n\t\t\t\tVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConfiguration, err := maintenance.NewConfiguration(ctx, \"example\", \u0026maintenance.ConfigurationArgs{\n\t\t\tName: pulumi.String(\"example-mc\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tScope: pulumi.String(\"All\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = maintenance.NewAssignmentVirtualMachine(ctx, \"example\", \u0026maintenance.AssignmentVirtualMachineArgs{\n\t\t\tLocation: example.Location,\n\t\t\tMaintenanceConfigurationId: exampleConfiguration.ID(),\n\t\t\tVirtualMachineId: exampleLinuxVirtualMachine.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.NetworkInterface;\nimport com.pulumi.azure.network.NetworkInterfaceArgs;\nimport com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;\nimport com.pulumi.azure.compute.LinuxVirtualMachine;\nimport com.pulumi.azure.compute.LinuxVirtualMachineArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;\nimport com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;\nimport com.pulumi.azure.maintenance.Configuration;\nimport com.pulumi.azure.maintenance.ConfigurationArgs;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachine;\nimport com.pulumi.azure.maintenance.AssignmentVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder() \n .name(\"example-network\")\n .addressSpaces(\"10.0.0.0/16\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .name(\"internal\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .build());\n\n var exampleNetworkInterface = new NetworkInterface(\"exampleNetworkInterface\", NetworkInterfaceArgs.builder() \n .name(\"example-nic\")\n .location(example.location())\n .resourceGroupName(example.name())\n .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()\n .name(\"internal\")\n .subnetId(exampleSubnet.id())\n .privateIpAddressAllocation(\"Dynamic\")\n .build())\n .build());\n\n var exampleLinuxVirtualMachine = new LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", LinuxVirtualMachineArgs.builder() \n .name(\"example-machine\")\n .resourceGroupName(example.name())\n .location(example.location())\n .size(\"Standard_F2\")\n .adminUsername(\"adminuser\")\n .networkInterfaceIds(exampleNetworkInterface.id())\n .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()\n .username(\"adminuser\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"~/.ssh/id_rsa.pub\")\n .build()).result())\n .build())\n .osDisk(LinuxVirtualMachineOsDiskArgs.builder()\n .caching(\"ReadWrite\")\n .storageAccountType(\"Standard_LRS\")\n .build())\n .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()\n .publisher(\"Canonical\")\n .offer(\"0001-com-ubuntu-server-jammy\")\n .sku(\"22_04-lts\")\n .version(\"latest\")\n .build())\n .build());\n\n var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder() \n .name(\"example-mc\")\n .resourceGroupName(example.name())\n .location(example.location())\n .scope(\"All\")\n .build());\n\n var exampleAssignmentVirtualMachine = new AssignmentVirtualMachine(\"exampleAssignmentVirtualMachine\", AssignmentVirtualMachineArgs.builder() \n .location(example.location())\n .maintenanceConfigurationId(exampleConfiguration.id())\n .virtualMachineId(exampleLinuxVirtualMachine.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: example-network\n addressSpaces:\n - 10.0.0.0/16\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: internal\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n exampleNetworkInterface:\n type: azure:network:NetworkInterface\n name: example\n properties:\n name: example-nic\n location: ${example.location}\n resourceGroupName: ${example.name}\n ipConfigurations:\n - name: internal\n subnetId: ${exampleSubnet.id}\n privateIpAddressAllocation: Dynamic\n exampleLinuxVirtualMachine:\n type: azure:compute:LinuxVirtualMachine\n name: example\n properties:\n name: example-machine\n resourceGroupName: ${example.name}\n location: ${example.location}\n size: Standard_F2\n adminUsername: adminuser\n networkInterfaceIds:\n - ${exampleNetworkInterface.id}\n adminSshKeys:\n - username: adminuser\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ~/.ssh/id_rsa.pub\n Return: result\n osDisk:\n caching: ReadWrite\n storageAccountType: Standard_LRS\n sourceImageReference:\n publisher: Canonical\n offer: 0001-com-ubuntu-server-jammy\n sku: 22_04-lts\n version: latest\n exampleConfiguration:\n type: azure:maintenance:Configuration\n name: example\n properties:\n name: example-mc\n resourceGroupName: ${example.name}\n location: ${example.location}\n scope: All\n exampleAssignmentVirtualMachine:\n type: azure:maintenance:AssignmentVirtualMachine\n name: example\n properties:\n location: ${example.location}\n maintenanceConfigurationId: ${exampleConfiguration.id}\n virtualMachineId: ${exampleLinuxVirtualMachine.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMaintenance Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Maintenance/configurationAssignments/assign1\n```\n\n", "properties": { @@ -217081,7 +218894,7 @@ }, "transparentDataEncryptionKeyAutomaticRotationEnabled": { "type": "boolean", - "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n" + "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n\n\u003e **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n" }, "transparentDataEncryptionKeyVaultKeyId": { "type": "string", @@ -217256,7 +219069,7 @@ }, "transparentDataEncryptionKeyAutomaticRotationEnabled": { "type": "boolean", - "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n" + "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n\n\u003e **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n" }, "transparentDataEncryptionKeyVaultKeyId": { "type": "string", @@ -217413,7 +219226,7 @@ }, "transparentDataEncryptionKeyAutomaticRotationEnabled": { "type": "boolean", - "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n" + "description": "Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.\n\n\u003e **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs.\n" }, "transparentDataEncryptionKeyVaultKeyId": { "type": "string", @@ -230098,7 +231911,7 @@ "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "A mapping of tags assigned to the resource.\n" } }, "required": [ @@ -230133,7 +231946,7 @@ "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "A mapping of tags assigned to the resource.\n" } }, "requiredInputs": [ @@ -230174,7 +231987,7 @@ "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object" @@ -231486,7 +233299,7 @@ }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", - "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider" + "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", @@ -231496,9 +233309,13 @@ "type": "string", "description": "The name of the subnet. Changing this forces a new resource to be created.\n" }, + "privateEndpointNetworkPolicies": { + "type": "string", + "description": "Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + }, "privateEndpointNetworkPoliciesEnabled": { "type": "boolean", - "description": "Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + "deprecationMessage": "`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "privateLinkServiceNetworkPoliciesEnabled": { "type": "boolean", @@ -231506,7 +233323,7 @@ }, "resourceGroupName": { "type": "string", - "description": "The name of the resource group in which to create the subnet. Changing this forces a new resource to be created.\n" + "description": "The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n" }, "serviceEndpointPolicyIds": { "type": "array", @@ -231532,6 +233349,7 @@ "enforcePrivateLinkEndpointNetworkPolicies", "enforcePrivateLinkServiceNetworkPolicies", "name", + "privateEndpointNetworkPolicies", "privateEndpointNetworkPoliciesEnabled", "privateLinkServiceNetworkPoliciesEnabled", "resourceGroupName", @@ -231554,7 +233372,7 @@ }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", - "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider" + "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", @@ -231565,9 +233383,13 @@ "description": "The name of the subnet. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "privateEndpointNetworkPolicies": { + "type": "string", + "description": "Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + }, "privateEndpointNetworkPoliciesEnabled": { "type": "boolean", - "description": "Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + "deprecationMessage": "`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "privateLinkServiceNetworkPoliciesEnabled": { "type": "boolean", @@ -231575,7 +233397,7 @@ }, "resourceGroupName": { "type": "string", - "description": "The name of the resource group in which to create the subnet. Changing this forces a new resource to be created.\n", + "description": "The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "serviceEndpointPolicyIds": { @@ -231622,7 +233444,7 @@ }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", - "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider" + "deprecationMessage": "`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", @@ -231633,9 +233455,13 @@ "description": "The name of the subnet. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "privateEndpointNetworkPolicies": { + "type": "string", + "description": "Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + }, "privateEndpointNetworkPoliciesEnabled": { "type": "boolean", - "description": "Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`.\n\n\u003e **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource.\n" + "deprecationMessage": "`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider" }, "privateLinkServiceNetworkPoliciesEnabled": { "type": "boolean", @@ -231643,7 +233469,7 @@ }, "resourceGroupName": { "type": "string", - "description": "The name of the resource group in which to create the subnet. Changing this forces a new resource to be created.\n", + "description": "The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "serviceEndpointPolicyIds": { @@ -240667,7 +242493,7 @@ }, "createMode": { "type": "string", - "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" + "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" }, "customerManagedKey": { "$ref": "#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey", @@ -240795,7 +242621,7 @@ }, "createMode": { "type": "string", - "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" + "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" }, "customerManagedKey": { "$ref": "#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey", @@ -240913,7 +242739,7 @@ }, "createMode": { "type": "string", - "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" + "description": "The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created.\n\n\u003e **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation.\n\n\u003e **Note:** While creating the resource, `create_mode` cannot be set to `Update`.\n" }, "customerManagedKey": { "$ref": "#/types/azure:postgresql/FlexibleServerCustomerManagedKey:FlexibleServerCustomerManagedKey", @@ -280668,6 +282494,10 @@ "outputs": { "description": "A collection of values returned by getEnvironment.\n", "properties": { + "customDomainVerificationId": { + "description": "The ID of the Custom Domain Verification for this Container App Environment.\n", + "type": "string" + }, "defaultDomain": { "description": "The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique.\n", "type": "string" @@ -280723,6 +282553,7 @@ } }, "required": [ + "customDomainVerificationId", "defaultDomain", "dockerBridgeCidr", "infrastructureSubnetId", @@ -294976,6 +296807,84 @@ "type": "object" } }, + "azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration": { + "description": "Use this data source to access information about an existing Network Manager Connectivity Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkManagerConnectivityConfiguration({\n name: \"existing\",\n networkManagerId: \"TODO\",\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_network_manager_connectivity_configuration(name=\"existing\",\n network_manager_id=\"TODO\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Azure.Network.GetNetworkManagerConnectivityConfiguration.Invoke(new()\n {\n Name = \"existing\",\n NetworkManagerId = \"TODO\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getNetworkManagerConnectivityConfigurationResult =\u003e getNetworkManagerConnectivityConfigurationResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupNetworkManagerConnectivityConfiguration(ctx, \u0026network.LookupNetworkManagerConnectivityConfigurationArgs{\n\t\t\tName: \"existing\",\n\t\t\tNetworkManagerId: \"TODO\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()\n .name(\"existing\")\n .networkManagerId(\"TODO\")\n .build());\n\n ctx.export(\"id\", example.applyValue(getNetworkManagerConnectivityConfigurationResult -\u003e getNetworkManagerConnectivityConfigurationResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:network:getNetworkManagerConnectivityConfiguration\n Arguments:\n name: existing\n networkManagerId: TODO\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkManagerConnectivityConfiguration.\n", + "properties": { + "name": { + "type": "string", + "description": "The name of this Network Manager Connectivity Configuration.\n" + }, + "networkManagerId": { + "type": "string", + "description": "The ID of the Network Manager.\n" + } + }, + "type": "object", + "required": [ + "name", + "networkManagerId" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkManagerConnectivityConfiguration.\n", + "properties": { + "appliesToGroups": { + "description": "An `applies_to_group` block as defined below.\n", + "items": { + "$ref": "#/types/azure:network/getNetworkManagerConnectivityConfigurationAppliesToGroup:getNetworkManagerConnectivityConfigurationAppliesToGroup" + }, + "type": "array" + }, + "connectivityTopology": { + "description": "The connectivity topology type.\n", + "type": "string" + }, + "deleteExistingPeeringEnabled": { + "description": "Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope.\n", + "type": "boolean" + }, + "description": { + "description": "The description of the Connectivity Configuration.\n", + "type": "string" + }, + "globalMeshEnabled": { + "description": "Whether global mesh is supported.\n", + "type": "boolean" + }, + "hubs": { + "description": "A `hub` block as defined below.\n", + "items": { + "$ref": "#/types/azure:network/getNetworkManagerConnectivityConfigurationHub:getNetworkManagerConnectivityConfigurationHub" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "name": { + "type": "string" + }, + "networkManagerId": { + "type": "string" + } + }, + "required": [ + "appliesToGroups", + "connectivityTopology", + "deleteExistingPeeringEnabled", + "description", + "globalMeshEnabled", + "hubs", + "name", + "networkManagerId", + "id" + ], + "type": "object" + } + }, "azure:network/getNetworkManagerNetworkGroup:getNetworkManagerNetworkGroup": { "description": "Use this data source to access information about a Network Manager Network Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst current = azure.core.getSubscription({});\nconst exampleNetworkManager = new azure.network.NetworkManager(\"example\", {\n name: \"example-network-manager\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n scope: {\n subscriptionIds: [current.then(current =\u003e current.id)],\n },\n scopeAccesses: [\n \"Connectivity\",\n \"SecurityAdmin\",\n ],\n description: \"example network manager\",\n});\nconst exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup(\"example\", {\n name: \"example-group\",\n networkManagerId: exampleNetworkManager.id,\n});\nconst example = azure.network.getNetworkManagerNetworkGroupOutput({\n name: exampleNetworkManagerNetworkGroup.name,\n networkManagerId: exampleNetworkManager.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\ncurrent = azure.core.get_subscription()\nexample_network_manager = azure.network.NetworkManager(\"example\",\n name=\"example-network-manager\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n scope=azure.network.NetworkManagerScopeArgs(\n subscription_ids=[current.id],\n ),\n scope_accesses=[\n \"Connectivity\",\n \"SecurityAdmin\",\n ],\n description=\"example network manager\")\nexample_network_manager_network_group = azure.network.NetworkManagerNetworkGroup(\"example\",\n name=\"example-group\",\n network_manager_id=example_network_manager.id)\nexample = azure.network.get_network_manager_network_group_output(name=example_network_manager_network_group.name,\n network_manager_id=example_network_manager.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var current = Azure.Core.GetSubscription.Invoke();\n\n var exampleNetworkManager = new Azure.Network.NetworkManager(\"example\", new()\n {\n Name = \"example-network-manager\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Scope = new Azure.Network.Inputs.NetworkManagerScopeArgs\n {\n SubscriptionIds = new[]\n {\n current.Apply(getSubscriptionResult =\u003e getSubscriptionResult.Id),\n },\n },\n ScopeAccesses = new[]\n {\n \"Connectivity\",\n \"SecurityAdmin\",\n },\n Description = \"example network manager\",\n });\n\n var exampleNetworkManagerNetworkGroup = new Azure.Network.NetworkManagerNetworkGroup(\"example\", new()\n {\n Name = \"example-group\",\n NetworkManagerId = exampleNetworkManager.Id,\n });\n\n var example = Azure.Network.GetNetworkManagerNetworkGroup.Invoke(new()\n {\n Name = exampleNetworkManagerNetworkGroup.Name,\n NetworkManagerId = exampleNetworkManager.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.LookupSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManager, err := network.NewNetworkManager(ctx, \"example\", \u0026network.NetworkManagerArgs{\n\t\t\tName: pulumi.String(\"example-network-manager\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026network.NetworkManagerScopeArgs{\n\t\t\t\tSubscriptionIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScopeAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connectivity\"),\n\t\t\t\tpulumi.String(\"SecurityAdmin\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example network manager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkManagerNetworkGroup, err := network.NewNetworkManagerNetworkGroup(ctx, \"example\", \u0026network.NetworkManagerNetworkGroupArgs{\n\t\t\tName: pulumi.String(\"example-group\"),\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = network.LookupNetworkManagerNetworkGroupOutput(ctx, network.GetNetworkManagerNetworkGroupOutputArgs{\n\t\t\tName: exampleNetworkManagerNetworkGroup.Name,\n\t\t\tNetworkManagerId: exampleNetworkManager.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.core.inputs.GetSubscriptionArgs;\nimport com.pulumi.azure.network.NetworkManager;\nimport com.pulumi.azure.network.NetworkManagerArgs;\nimport com.pulumi.azure.network.inputs.NetworkManagerScopeArgs;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroup;\nimport com.pulumi.azure.network.NetworkManagerNetworkGroupArgs;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetNetworkManagerNetworkGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder() \n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n final var current = CoreFunctions.getSubscription();\n\n var exampleNetworkManager = new NetworkManager(\"exampleNetworkManager\", NetworkManagerArgs.builder() \n .name(\"example-network-manager\")\n .location(exampleResourceGroup.location())\n .resourceGroupName(exampleResourceGroup.name())\n .scope(NetworkManagerScopeArgs.builder()\n .subscriptionIds(current.applyValue(getSubscriptionResult -\u003e getSubscriptionResult.id()))\n .build())\n .scopeAccesses( \n \"Connectivity\",\n \"SecurityAdmin\")\n .description(\"example network manager\")\n .build());\n\n var exampleNetworkManagerNetworkGroup = new NetworkManagerNetworkGroup(\"exampleNetworkManagerNetworkGroup\", NetworkManagerNetworkGroupArgs.builder() \n .name(\"example-group\")\n .networkManagerId(exampleNetworkManager.id())\n .build());\n\n final var example = NetworkFunctions.getNetworkManagerNetworkGroup(GetNetworkManagerNetworkGroupArgs.builder()\n .name(exampleNetworkManagerNetworkGroup.name())\n .networkManagerId(exampleNetworkManager.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n name: example\n properties:\n name: example-resources\n location: West Europe\n exampleNetworkManager:\n type: azure:network:NetworkManager\n name: example\n properties:\n name: example-network-manager\n location: ${exampleResourceGroup.location}\n resourceGroupName: ${exampleResourceGroup.name}\n scope:\n subscriptionIds:\n - ${current.id}\n scopeAccesses:\n - Connectivity\n - SecurityAdmin\n description: example network manager\n exampleNetworkManagerNetworkGroup:\n type: azure:network:NetworkManagerNetworkGroup\n name: example\n properties:\n name: example-group\n networkManagerId: ${exampleNetworkManager.id}\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getSubscription\n Arguments: {}\n example:\n fn::invoke:\n Function: azure:network:getNetworkManagerNetworkGroup\n Arguments:\n name: ${exampleNetworkManagerNetworkGroup.name}\n networkManagerId: ${exampleNetworkManager.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -295679,8 +297588,12 @@ "description": "The ID of the Network Security Group associated with the subnet.\n", "type": "string" }, - "privateEndpointNetworkPoliciesEnabled": { + "privateEndpointNetworkPolicies": { "description": "Enable or Disable network policies for the private endpoint on the subnet.\n", + "type": "string" + }, + "privateEndpointNetworkPoliciesEnabled": { + "deprecationMessage": "This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider.", "type": "boolean" }, "privateLinkServiceNetworkPoliciesEnabled": { @@ -295712,6 +297625,7 @@ "enforcePrivateLinkServiceNetworkPolicies", "name", "networkSecurityGroupId", + "privateEndpointNetworkPolicies", "privateEndpointNetworkPoliciesEnabled", "privateLinkServiceNetworkPoliciesEnabled", "resourceGroupName", diff --git a/provider/go.mod b/provider/go.mod index 60073f48f3..2d373411e2 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,7 +6,7 @@ toolchain go1.21.3 require ( github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 - github.com/hashicorp/go-azure-sdk/sdk v0.20240424.1114424 + github.com/hashicorp/go-azure-sdk/sdk v0.20240506.1094936 github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 github.com/hashicorp/terraform-provider-azurerm v1.44.1-0.20220923005104-eaa801c358ff github.com/pulumi/providertest v0.0.11 @@ -123,8 +123,8 @@ require ( github.com/gorilla/mux v1.8.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-azure-helpers v0.67.0 // indirect - github.com/hashicorp/go-azure-sdk/resource-manager v0.20240424.1114424 // indirect + github.com/hashicorp/go-azure-helpers v0.69.0 // indirect + github.com/hashicorp/go-azure-sdk/resource-manager v0.20240506.1094936 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect diff --git a/provider/go.sum b/provider/go.sum index 83533fa062..588e7fd092 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2172,12 +2172,12 @@ github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FK github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-azure-helpers v0.67.0 h1:0RY6mY3W3Ym2I+jExLtyLx96fh6p5n9vidqisAKGUSE= -github.com/hashicorp/go-azure-helpers v0.67.0/go.mod h1:S4Bu66vyJvHA0trqHQB0YVGsISuF7HMH9tyEsMVlx8A= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20240424.1114424 h1:yf756pBFA1+44If2SCt0oiE1MRkDX5FEq/u5DpVrvqw= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20240424.1114424/go.mod h1:cJ5/5JQAZM8Z8qanBc2YgKtedFtpLKA1BoJUUt48EHM= -github.com/hashicorp/go-azure-sdk/sdk v0.20240424.1114424 h1:wd0Co6WE3ERj8TU5jN7HKDOqKIlK4Dcgh685JM3VffY= -github.com/hashicorp/go-azure-sdk/sdk v0.20240424.1114424/go.mod h1:Ts5vRL3KPw8iLit+4WSi1hOWlRCx++wJrCkMGj69xBY= +github.com/hashicorp/go-azure-helpers v0.69.0 h1:JwUWXyDgyr6OafU4CgSvrbEP1wcMjfz4gxRQciDQkBQ= +github.com/hashicorp/go-azure-helpers v0.69.0/go.mod h1:BmbF4JDYXK5sEmFeU5hcn8Br21uElcqLfdQxjatwQKw= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20240506.1094936 h1:7Y8i1HYjupSg1yYDosrrfc1fLCxdYUEzrBIedKwJeFs= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20240506.1094936/go.mod h1:p1P+kBwN54NLKGg35s5O7sBoFP3Zk60nBTA5PsOqFus= +github.com/hashicorp/go-azure-sdk/sdk v0.20240506.1094936 h1:a7vuK6yajMRRpONXqOYOl0dE4TRIjzV8Rw5SFlUlYgw= +github.com/hashicorp/go-azure-sdk/sdk v0.20240506.1094936/go.mod h1:Ts5vRL3KPw8iLit+4WSi1hOWlRCx++wJrCkMGj69xBY= github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs index 934bbf4312..83f02aa7c9 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 54256e71d5..d18a991337 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs index 12687419b4..59ecc6192a 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 1386ab9236..bbceb440c0 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.cs index 3720682eb3..593ad1b2f7 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 1930338db5..3710285438 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.cs index db5e551c63..baa3e20736 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.cs @@ -18,11 +18,23 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerArgs : global::Pu [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` blocks as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs index eb9cba19e4..5f5f785759 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs @@ -18,11 +18,23 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerGetArgs : global: [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` blocks as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs index 3c9334b18e..0623d89c86 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs @@ -26,6 +26,8 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs : /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// [Input("path")] public Input? Path { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs index 805225f696..1de77a8bc1 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs @@ -26,6 +26,8 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestGetArg /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// [Input("path")] public Input? Path { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs new file mode 100644 index 0000000000..143ff84fc6 --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() + { + } + public static new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty => new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs new file mode 100644 index 0000000000..86e7444d96 --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs() + { + } + public static new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs Empty => new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs index 695147ffbd..4646cbf67c 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 53287b212a..d475fc5d05 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs index d5814a6ac5..99ccd54d30 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs @@ -18,11 +18,23 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs : global [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs index 35cfa900b6..2a8cba26ab 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs @@ -18,11 +18,23 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs : glo [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs index 1684e9552b..d458d4b6cd 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs.cs @@ -26,6 +26,8 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestAr /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// [Input("path")] public Input? Path { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs index 6672623186..f166259c2b 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestGetArgs.cs @@ -26,6 +26,8 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestGe /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// [Input("path")] public Input? Path { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs new file mode 100644 index 0000000000..0166a4da90 --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() + { + } + public static new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty => new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs new file mode 100644 index 0000000000..f17d06505b --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs() + { + } + public static new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs Empty => new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs index a129acdd2c..5330ea9887 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 2dae68b5c8..663b9148d7 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs index fdfc59bdad..9113103f81 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs index 8ced8e9d87..f19a3132a4 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.cs index 496fbaed8f..23fbda94b1 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs index e685cb554b..7d3d15dacf 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.cs index 4118319373..c48e341ab7 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.cs @@ -24,11 +24,23 @@ public sealed class WindowsWebAppSiteConfigAutoHealSettingTriggerArgs : global:: [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs index 3608bdee89..c21abd72af 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerGetArgs.cs @@ -24,11 +24,23 @@ public sealed class WindowsWebAppSiteConfigAutoHealSettingTriggerGetArgs : globa [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs new file mode 100644 index 0000000000..90d6b416bb --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() + { + } + public static new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty => new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs new file mode 100644 index 0000000000..97cabe6fef --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs() + { + } + public static new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs Empty => new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs index b18309bb4e..cf297a29a1 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs index e4a178bd95..aff1801f82 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2GetArgs.cs @@ -119,7 +119,9 @@ public InputMap LoginParameters } /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// [Input("tenantAuthEndpoint", required: true)] public Input TenantAuthEndpoint { get; set; } = null!; diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs index e182ff5a5a..50c246e77e 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.cs @@ -24,11 +24,23 @@ public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs : glob [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs index ad0b394dfe..e0e27ab317 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs.cs @@ -24,11 +24,23 @@ public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerGetArgs : g [Input("requests")] public Input? Requests { get; set; } + [Input("slowRequestWithPaths")] + private InputList? _slowRequestWithPaths; + + /// + /// One or more `slow_request_with_path` blocks as defined above. + /// + public InputList SlowRequestWithPaths + { + get => _slowRequestWithPaths ?? (_slowRequestWithPaths = new InputList()); + set => _slowRequestWithPaths = value; + } + [Input("slowRequests")] private InputList? _slowRequests; /// - /// One or more `slow_request` blocks as defined above. + /// A `slow_request` block as defined above. /// public InputList SlowRequests { diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs new file mode 100644 index 0000000000..b0eb6d04e1 --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() + { + } + public static new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty => new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } +} diff --git a/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs new file mode 100644 index 0000000000..6c3eb7aa1d --- /dev/null +++ b/sdk/dotnet/AppService/Inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.AppService.Inputs +{ + + public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The time interval in the form `hh:mm:ss`. + /// + [Input("interval", required: true)] + public Input Interval { get; set; } = null!; + + /// + /// The path for which this slow request rule applies. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + [Input("timeTaken", required: true)] + public Input TimeTaken { get; set; } = null!; + + public WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs() + { + } + public static new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs Empty => new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppService/Outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs b/sdk/dotnet/AppService/Outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs index 7d4b542521..7e6ae2f256 100644 --- a/sdk/dotnet/AppService/Outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs +++ b/sdk/dotnet/AppService/Outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs @@ -54,7 +54,7 @@ public sealed class GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Result /// public readonly ImmutableDictionary LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Result.cs b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Result.cs index 227fdf2a6f..54a34c0ef2 100644 --- a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Result.cs +++ b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Result.cs @@ -54,7 +54,7 @@ public sealed class GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Result /// public readonly ImmutableDictionary LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult.cs b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult.cs index e28c23b008..af103bc24f 100644 --- a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult.cs +++ b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult.cs @@ -18,6 +18,10 @@ public sealed class GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult /// public readonly ImmutableArray Requests; /// + /// (Optional) One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// /// A `slow_request` block as defined above. /// public readonly ImmutableArray SlowRequests; @@ -30,11 +34,14 @@ public sealed class GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult private GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult( ImmutableArray requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs index cb9a3e18dc..b413d30502 100644 --- a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs +++ b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs @@ -26,7 +26,7 @@ public sealed class GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestRes /// public readonly string Path; /// - /// The amount of time that qualifies as slow for this rule. + /// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. /// public readonly string TimeTaken; diff --git a/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs new file mode 100644 index 0000000000..92e0b62984 --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult + { + /// + /// The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path to which this rule status code applies. + /// + public readonly string Path; + /// + /// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult( + int count, + + string interval, + + string path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/AppService/Outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs b/sdk/dotnet/AppService/Outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs index 5a9c7021ff..33929cd4ec 100644 --- a/sdk/dotnet/AppService/Outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs +++ b/sdk/dotnet/AppService/Outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Result.cs @@ -54,7 +54,7 @@ public sealed class GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Result /// public readonly ImmutableDictionary LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Result.cs b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Result.cs index ce3339ad24..9b0253e16a 100644 --- a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Result.cs +++ b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Result.cs @@ -54,7 +54,7 @@ public sealed class GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Result /// public readonly ImmutableDictionary LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult.cs b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult.cs index d573b0f1e8..28a5c43338 100644 --- a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult.cs +++ b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult.cs @@ -22,6 +22,10 @@ public sealed class GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult /// public readonly ImmutableArray Requests; /// + /// (Optional) One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// /// A `slow_request` block as defined above. /// public readonly ImmutableArray SlowRequests; @@ -36,12 +40,15 @@ private GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult( ImmutableArray requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { PrivateMemoryKb = privateMemoryKb; Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs index f387eb6475..91d41be35b 100644 --- a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs +++ b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult.cs @@ -26,7 +26,7 @@ public sealed class GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestR /// public readonly string Path; /// - /// The amount of time that qualifies as slow for this rule. + /// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. /// public readonly string TimeTaken; diff --git a/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs new file mode 100644 index 0000000000..417ffb9909 --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult + { + /// + /// The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path to which this rule status code applies. + /// + public readonly string Path; + /// + /// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult( + int count, + + string interval, + + string path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.cs index f2aea3e6d3..52ca9f4b0d 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs index d0b2498fb4..61cb0e61ed 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.cs index 143044be19..90ba041131 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class LinuxWebAppAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.cs index ad978c51c1..5d03dc7468 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.cs @@ -18,7 +18,11 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTrigger /// public readonly Outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerRequests? Requests; /// - /// One or more `slow_request` blocks as defined above. + /// One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// + /// A `slow_request` blocks as defined above. /// public readonly ImmutableArray SlowRequests; /// @@ -30,11 +34,14 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTrigger private LinuxWebAppSiteConfigAutoHealSettingTrigger( Outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerRequests? requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.cs index 0e7fc2aed9..73b6437317 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.cs @@ -23,6 +23,8 @@ public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest public readonly string Interval; /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// public readonly string? Path; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs new file mode 100644 index 0000000000..cf24fff4b2 --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path for which this slow request rule applies. + /// + public readonly string? Path; + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath( + int count, + + string interval, + + string? path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs index deeddcdecc..73145c4722 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.cs index 1426b55e2c..b23fe07cde 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.cs @@ -18,7 +18,11 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTrigger /// public readonly Outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests? Requests; /// - /// One or more `slow_request` blocks as defined above. + /// One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// + /// A `slow_request` block as defined above. /// public readonly ImmutableArray SlowRequests; /// @@ -30,11 +34,14 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTrigger private LinuxWebAppSlotSiteConfigAutoHealSettingTrigger( Outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests? requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.cs index 6db14765ed..84d54750b3 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.cs @@ -23,6 +23,8 @@ public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest public readonly string Interval; /// /// The path for which this slow request rule applies. + /// + /// > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. /// public readonly string? Path; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs new file mode 100644 index 0000000000..ed396511ba --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path for which this slow request rule applies. + /// + public readonly string? Path; + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath( + int count, + + string interval, + + string? path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.cs index 0d5eb3f984..ea79caec8e 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs index bc364a76e0..030b325b79 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.cs index 367ee5653d..2f838b4ab8 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class WindowsWebAppAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.cs index 9aedd7d7ba..ca561dbf5e 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.cs @@ -22,7 +22,11 @@ public sealed class WindowsWebAppSiteConfigAutoHealSettingTrigger /// public readonly Outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerRequests? Requests; /// - /// One or more `slow_request` blocks as defined above. + /// One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// + /// A `slow_request` block as defined above. /// public readonly ImmutableArray SlowRequests; /// @@ -36,12 +40,15 @@ private WindowsWebAppSiteConfigAutoHealSettingTrigger( Outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerRequests? requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { PrivateMemoryKb = privateMemoryKb; Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs new file mode 100644 index 0000000000..5fac4e4abb --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path for which this slow request rule applies. + /// + public readonly string? Path; + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath( + int count, + + string interval, + + string? path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs index a32b679577..05a445d2ec 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.cs @@ -58,7 +58,9 @@ public sealed class WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2 /// public readonly ImmutableDictionary? LoginParameters; /// - /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + /// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + /// + /// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. /// public readonly string TenantAuthEndpoint; /// diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.cs index bcb4b7297a..e0e678a443 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.cs @@ -22,7 +22,11 @@ public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTrigger /// public readonly Outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests? Requests; /// - /// One or more `slow_request` blocks as defined above. + /// One or more `slow_request_with_path` blocks as defined above. + /// + public readonly ImmutableArray SlowRequestWithPaths; + /// + /// A `slow_request` block as defined above. /// public readonly ImmutableArray SlowRequests; /// @@ -36,12 +40,15 @@ private WindowsWebAppSlotSiteConfigAutoHealSettingTrigger( Outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests? requests, + ImmutableArray slowRequestWithPaths, + ImmutableArray slowRequests, ImmutableArray statusCodes) { PrivateMemoryKb = privateMemoryKb; Requests = requests; + SlowRequestWithPaths = slowRequestWithPaths; SlowRequests = slowRequests; StatusCodes = statusCodes; } diff --git a/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs new file mode 100644 index 0000000000..1be35c4e22 --- /dev/null +++ b/sdk/dotnet/AppService/Outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.AppService.Outputs +{ + + [OutputType] + public sealed class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath + { + /// + /// The number of Slow Requests in the time `interval` to trigger this rule. + /// + public readonly int Count; + /// + /// The time interval in the form `hh:mm:ss`. + /// + public readonly string Interval; + /// + /// The path for which this slow request rule applies. + /// + public readonly string? Path; + /// + /// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + /// + public readonly string TimeTaken; + + [OutputConstructor] + private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath( + int count, + + string interval, + + string? path, + + string timeTaken) + { + Count = count; + Interval = interval; + Path = path; + TimeTaken = timeTaken; + } + } +} diff --git a/sdk/dotnet/Compute/AutomanageConfigurationAssignment.cs b/sdk/dotnet/Compute/AutomanageConfigurationAssignment.cs new file mode 100644 index 0000000000..a5ff8988a6 --- /dev/null +++ b/sdk/dotnet/Compute/AutomanageConfigurationAssignment.cs @@ -0,0 +1,218 @@ +// *** 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.Azure.Compute +{ + /// + /// Manages a Virtual Machine Automanage Configuration Profile Assignment. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Azure.Core.ResourceGroup("example", new() + /// { + /// Name = "example-rg", + /// Location = "westus", + /// }); + /// + /// var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new() + /// { + /// Name = "examplevnet", + /// AddressSpaces = new[] + /// { + /// "10.0.0.0/16", + /// }, + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// }); + /// + /// var exampleSubnet = new Azure.Network.Subnet("example", new() + /// { + /// Name = "internal", + /// ResourceGroupName = example.Name, + /// VirtualNetworkName = exampleVirtualNetwork.Name, + /// AddressPrefixes = new[] + /// { + /// "10.0.2.0/24", + /// }, + /// }); + /// + /// var exampleNetworkInterface = new Azure.Network.NetworkInterface("example", new() + /// { + /// Name = "exampleni", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// IpConfigurations = new[] + /// { + /// new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs + /// { + /// Name = "internal", + /// SubnetId = exampleSubnet.Id, + /// PrivateIpAddressAllocation = "Dynamic", + /// }, + /// }, + /// }); + /// + /// var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine("example", new() + /// { + /// Name = "examplevm", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// Size = "Standard_F2", + /// AdminUsername = "adminuser", + /// AdminPassword = "P@$$w0rd1234!", + /// DisablePasswordAuthentication = false, + /// NetworkInterfaceIds = new[] + /// { + /// exampleNetworkInterface.Id, + /// }, + /// OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs + /// { + /// Caching = "ReadWrite", + /// StorageAccountType = "Standard_LRS", + /// }, + /// SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs + /// { + /// Publisher = "Canonical", + /// Offer = "0001-com-ubuntu-server-jammy", + /// Sku = "22_04-lts", + /// Version = "latest", + /// }, + /// }); + /// + /// var exampleConfiguration = new Azure.Automanage.Configuration("example", new() + /// { + /// Name = "exampleconfig", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// }); + /// + /// var exampleAutomanageConfigurationAssignment = new Azure.Compute.AutomanageConfigurationAssignment("example", new() + /// { + /// VirtualMachineId = exampleLinuxVirtualMachine.Id, + /// ConfigurationId = exampleConfiguration.Id, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default + /// ``` + /// + [AzureResourceType("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment")] + public partial class AutomanageConfigurationAssignment : global::Pulumi.CustomResource + { + /// + /// The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + /// + [Output("configurationId")] + public Output ConfigurationId { get; private set; } = null!; + + /// + /// The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + /// + [Output("virtualMachineId")] + public Output VirtualMachineId { get; private set; } = null!; + + + /// + /// Create a AutomanageConfigurationAssignment resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AutomanageConfigurationAssignment(string name, AutomanageConfigurationAssignmentArgs args, CustomResourceOptions? options = null) + : base("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, args ?? new AutomanageConfigurationAssignmentArgs(), MakeResourceOptions(options, "")) + { + } + + private AutomanageConfigurationAssignment(string name, Input id, AutomanageConfigurationAssignmentState? state = null, CustomResourceOptions? options = null) + : base("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AutomanageConfigurationAssignment resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AutomanageConfigurationAssignment Get(string name, Input id, AutomanageConfigurationAssignmentState? state = null, CustomResourceOptions? options = null) + { + return new AutomanageConfigurationAssignment(name, id, state, options); + } + } + + public sealed class AutomanageConfigurationAssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + /// + [Input("configurationId", required: true)] + public Input ConfigurationId { get; set; } = null!; + + /// + /// The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + /// + [Input("virtualMachineId", required: true)] + public Input VirtualMachineId { get; set; } = null!; + + public AutomanageConfigurationAssignmentArgs() + { + } + public static new AutomanageConfigurationAssignmentArgs Empty => new AutomanageConfigurationAssignmentArgs(); + } + + public sealed class AutomanageConfigurationAssignmentState : global::Pulumi.ResourceArgs + { + /// + /// The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + /// + [Input("configurationId")] + public Input? ConfigurationId { get; set; } + + /// + /// The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + /// + [Input("virtualMachineId")] + public Input? VirtualMachineId { get; set; } + + public AutomanageConfigurationAssignmentState() + { + } + public static new AutomanageConfigurationAssignmentState Empty => new AutomanageConfigurationAssignmentState(); + } +} diff --git a/sdk/dotnet/Compute/BastionHost.cs b/sdk/dotnet/Compute/BastionHost.cs index bb5f8dbe04..82524823a4 100644 --- a/sdk/dotnet/Compute/BastionHost.cs +++ b/sdk/dotnet/Compute/BastionHost.cs @@ -122,6 +122,14 @@ public partial class BastionHost : global::Pulumi.CustomResource [Output("ipConnectEnabled")] public Output IpConnectEnabled { get; private set; } = null!; + /// + /// Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + /// + /// > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + /// + [Output("kerberosEnabled")] + public Output KerberosEnabled { get; private set; } = null!; + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. /// @@ -252,6 +260,14 @@ public sealed class BastionHostArgs : global::Pulumi.ResourceArgs [Input("ipConnectEnabled")] public Input? IpConnectEnabled { get; set; } + /// + /// Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + /// + /// > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + /// + [Input("kerberosEnabled")] + public Input? KerberosEnabled { get; set; } + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. /// @@ -356,6 +372,14 @@ public sealed class BastionHostState : global::Pulumi.ResourceArgs [Input("ipConnectEnabled")] public Input? IpConnectEnabled { get; set; } + /// + /// Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + /// + /// > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + /// + [Input("kerberosEnabled")] + public Input? KerberosEnabled { get; set; } + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. /// diff --git a/sdk/dotnet/Compute/GalleryApplicationAssignment.cs b/sdk/dotnet/Compute/GalleryApplicationAssignment.cs new file mode 100644 index 0000000000..c104882613 --- /dev/null +++ b/sdk/dotnet/Compute/GalleryApplicationAssignment.cs @@ -0,0 +1,271 @@ +// *** 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.Azure.Compute +{ + /// + /// Manages a Virtual Machine Gallery Application Assignment. + /// + /// > **Note:** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignore_changes` for the `gallery_application` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Azure.Compute.GetVirtualMachine.Invoke(new() + /// { + /// Name = "example-vm", + /// ResourceGroupName = "example-resources-vm", + /// }); + /// + /// var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new() + /// { + /// Name = "example-resources", + /// Location = "West Europe", + /// }); + /// + /// var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery("example", new() + /// { + /// Name = "examplegallery", + /// ResourceGroupName = exampleResourceGroup.Name, + /// Location = exampleResourceGroup.Location, + /// }); + /// + /// var exampleGalleryApplication = new Azure.Compute.GalleryApplication("example", new() + /// { + /// Name = "example-app", + /// GalleryId = exampleSharedImageGallery.Id, + /// Location = exampleResourceGroup.Location, + /// SupportedOsType = "Linux", + /// }); + /// + /// var exampleAccount = new Azure.Storage.Account("example", new() + /// { + /// Name = "examplestorage", + /// ResourceGroupName = exampleResourceGroup.Name, + /// Location = exampleResourceGroup.Location, + /// AccountTier = "Standard", + /// AccountReplicationType = "LRS", + /// }); + /// + /// var exampleContainer = new Azure.Storage.Container("example", new() + /// { + /// Name = "example-container", + /// StorageAccountName = exampleAccount.Name, + /// ContainerAccessType = "blob", + /// }); + /// + /// var exampleBlob = new Azure.Storage.Blob("example", new() + /// { + /// Name = "scripts", + /// StorageAccountName = exampleAccount.Name, + /// StorageContainerName = exampleContainer.Name, + /// Type = "Block", + /// SourceContent = "[scripts file content]", + /// }); + /// + /// var exampleGalleryApplicationVersion = new Azure.Compute.GalleryApplicationVersion("example", new() + /// { + /// Name = "0.0.1", + /// GalleryApplicationId = exampleGalleryApplication.Id, + /// Location = exampleGalleryApplication.Location, + /// ManageAction = new Azure.Compute.Inputs.GalleryApplicationVersionManageActionArgs + /// { + /// Install = "[install command]", + /// Remove = "[remove command]", + /// }, + /// Source = new Azure.Compute.Inputs.GalleryApplicationVersionSourceArgs + /// { + /// MediaLink = exampleBlob.Id, + /// }, + /// TargetRegions = new[] + /// { + /// new Azure.Compute.Inputs.GalleryApplicationVersionTargetRegionArgs + /// { + /// Name = exampleGalleryApplication.Location, + /// RegionalReplicaCount = 1, + /// }, + /// }, + /// }); + /// + /// var exampleGalleryApplicationAssignment = new Azure.Compute.GalleryApplicationAssignment("example", new() + /// { + /// GalleryApplicationVersionId = exampleGalleryApplicationVersion.Id, + /// VirtualMachineId = example.Apply(getVirtualMachineResult => getVirtualMachineResult.Id), + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 + /// ``` + /// + [AzureResourceType("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment")] + public partial class GalleryApplicationAssignment : global::Pulumi.CustomResource + { + /// + /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + /// + [Output("configurationBlobUri")] + public Output ConfigurationBlobUri { get; private set; } = null!; + + /// + /// The ID of the Gallery Application Version. Changing this forces a new resource to be created. + /// + [Output("galleryApplicationVersionId")] + public Output GalleryApplicationVersionId { get; private set; } = null!; + + /// + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + /// + [Output("order")] + public Output Order { get; private set; } = null!; + + /// + /// Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + /// + [Output("tag")] + public Output Tag { get; private set; } = null!; + + /// + /// The ID of the Virtual Machine. Changing this forces a new resource to be created. + /// + [Output("virtualMachineId")] + public Output VirtualMachineId { get; private set; } = null!; + + + /// + /// Create a GalleryApplicationAssignment resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public GalleryApplicationAssignment(string name, GalleryApplicationAssignmentArgs args, CustomResourceOptions? options = null) + : base("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, args ?? new GalleryApplicationAssignmentArgs(), MakeResourceOptions(options, "")) + { + } + + private GalleryApplicationAssignment(string name, Input id, GalleryApplicationAssignmentState? state = null, CustomResourceOptions? options = null) + : base("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing GalleryApplicationAssignment resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static GalleryApplicationAssignment Get(string name, Input id, GalleryApplicationAssignmentState? state = null, CustomResourceOptions? options = null) + { + return new GalleryApplicationAssignment(name, id, state, options); + } + } + + public sealed class GalleryApplicationAssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + /// + [Input("configurationBlobUri")] + public Input? ConfigurationBlobUri { get; set; } + + /// + /// The ID of the Gallery Application Version. Changing this forces a new resource to be created. + /// + [Input("galleryApplicationVersionId", required: true)] + public Input GalleryApplicationVersionId { get; set; } = null!; + + /// + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + /// + [Input("order")] + public Input? Order { get; set; } + + /// + /// Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + /// + [Input("tag")] + public Input? Tag { get; set; } + + /// + /// The ID of the Virtual Machine. Changing this forces a new resource to be created. + /// + [Input("virtualMachineId", required: true)] + public Input VirtualMachineId { get; set; } = null!; + + public GalleryApplicationAssignmentArgs() + { + } + public static new GalleryApplicationAssignmentArgs Empty => new GalleryApplicationAssignmentArgs(); + } + + public sealed class GalleryApplicationAssignmentState : global::Pulumi.ResourceArgs + { + /// + /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + /// + [Input("configurationBlobUri")] + public Input? ConfigurationBlobUri { get; set; } + + /// + /// The ID of the Gallery Application Version. Changing this forces a new resource to be created. + /// + [Input("galleryApplicationVersionId")] + public Input? GalleryApplicationVersionId { get; set; } + + /// + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + /// + [Input("order")] + public Input? Order { get; set; } + + /// + /// Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + /// + [Input("tag")] + public Input? Tag { get; set; } + + /// + /// The ID of the Virtual Machine. Changing this forces a new resource to be created. + /// + [Input("virtualMachineId")] + public Input? VirtualMachineId { get; set; } + + public GalleryApplicationAssignmentState() + { + } + public static new GalleryApplicationAssignmentState Empty => new GalleryApplicationAssignmentState(); + } +} diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.cs index fba49e7364..72363ae7aa 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class LinuxVirtualMachineAdditionalCapabilitiesArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + /// + [Input("hibernationEnabled")] + public Input? HibernationEnabled { get; set; } + /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesGetArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesGetArgs.cs index 6721c51364..8467f83684 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineAdditionalCapabilitiesGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class LinuxVirtualMachineAdditionalCapabilitiesGetArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + /// + [Input("hibernationEnabled")] + public Input? HibernationEnabled { get; set; } + /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs index c052093c1c..e770fd330e 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs @@ -25,7 +25,7 @@ public sealed class LinuxVirtualMachineGalleryApplicationArgs : global::Pulumi.R public Input? ConfigurationBlobUri { get; set; } /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// [Input("order")] public Input? Order { get; set; } diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs index 7f1547f712..ed89ef9d2f 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs @@ -25,7 +25,7 @@ public sealed class LinuxVirtualMachineGalleryApplicationGetArgs : global::Pulum public Input? ConfigurationBlobUri { get; set; } /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// [Input("order")] public Input? Order { get; set; } diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.cs index d002b2c166..3a53c801d2 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.cs @@ -36,6 +36,14 @@ public sealed class LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs : global [Input("maxUnhealthyUpgradedInstancePercent", required: true)] public Input MaxUnhealthyUpgradedInstancePercent { get; set; } = null!; + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + [Input("maximumSurgeInstancesEnabled")] + public Input? MaximumSurgeInstancesEnabled { get; set; } + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs index 0c03fc8e9b..15f1850581 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs @@ -36,6 +36,14 @@ public sealed class LinuxVirtualMachineScaleSetRollingUpgradePolicyGetArgs : glo [Input("maxUnhealthyUpgradedInstancePercent", required: true)] public Input MaxUnhealthyUpgradedInstancePercent { get; set; } = null!; + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + [Input("maximumSurgeInstancesEnabled")] + public Input? MaximumSurgeInstancesEnabled { get; set; } + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.cs index 5bd150d1f9..79a15a81c8 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class WindowsVirtualMachineAdditionalCapabilitiesArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + /// + [Input("hibernationEnabled")] + public Input? HibernationEnabled { get; set; } + /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesGetArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesGetArgs.cs index 95d764209c..bb403da637 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineAdditionalCapabilitiesGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class WindowsVirtualMachineAdditionalCapabilitiesGetArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + /// + [Input("hibernationEnabled")] + public Input? HibernationEnabled { get; set; } + /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs index 34cda3c0f1..6d6aa56591 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs @@ -25,7 +25,7 @@ public sealed class WindowsVirtualMachineGalleryApplicationArgs : global::Pulumi public Input? ConfigurationBlobUri { get; set; } /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// [Input("order")] public Input? Order { get; set; } diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs index 5b8df2f950..aaf010597c 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs @@ -25,7 +25,7 @@ public sealed class WindowsVirtualMachineGalleryApplicationGetArgs : global::Pul public Input? ConfigurationBlobUri { get; set; } /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// [Input("order")] public Input? Order { get; set; } diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.cs index 20d4a8e639..b99cb0e940 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.cs @@ -36,6 +36,14 @@ public sealed class WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs : glob [Input("maxUnhealthyUpgradedInstancePercent", required: true)] public Input MaxUnhealthyUpgradedInstancePercent { get; set; } = null!; + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + [Input("maximumSurgeInstancesEnabled")] + public Input? MaximumSurgeInstancesEnabled { get; set; } + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs index 2818cb1a0e..f02b87c1ea 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyGetArgs.cs @@ -36,6 +36,14 @@ public sealed class WindowsVirtualMachineScaleSetRollingUpgradePolicyGetArgs : g [Input("maxUnhealthyUpgradedInstancePercent", required: true)] public Input MaxUnhealthyUpgradedInstancePercent { get; set; } = null!; + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + [Input("maximumSurgeInstancesEnabled")] + public Input? MaximumSurgeInstancesEnabled { get; set; } + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// diff --git a/sdk/dotnet/Compute/LinuxVirtualMachine.cs b/sdk/dotnet/Compute/LinuxVirtualMachine.cs index 16e7d88a1c..2bf85b3d65 100644 --- a/sdk/dotnet/Compute/LinuxVirtualMachine.cs +++ b/sdk/dotnet/Compute/LinuxVirtualMachine.cs @@ -262,6 +262,8 @@ public partial class LinuxVirtualMachine : global::Pulumi.CustomResource /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. /// [Output("galleryApplications")] public Output> GalleryApplications { get; private set; } = null!; @@ -273,7 +275,7 @@ public partial class LinuxVirtualMachine : global::Pulumi.CustomResource public Output Identity { get; private set; } = null!; /// - /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. /// [Output("licenseType")] public Output LicenseType { get; private set; } = null!; @@ -699,6 +701,8 @@ public Input? CustomData /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. /// public InputList GalleryApplications { @@ -713,7 +717,7 @@ public InputList GalleryApplic public Input? Identity { get; set; } /// - /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. /// [Input("licenseType")] public Input? LicenseType { get; set; } @@ -1084,6 +1088,8 @@ public Input? CustomData /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. /// public InputList GalleryApplications { @@ -1098,7 +1104,7 @@ public InputList GalleryApp public Input? Identity { get; set; } /// - /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + /// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. /// [Input("licenseType")] public Input? LicenseType { get; set; } diff --git a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineAdditionalCapabilities.cs b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineAdditionalCapabilities.cs index da81e2f93f..b14de1d868 100644 --- a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineAdditionalCapabilities.cs +++ b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineAdditionalCapabilities.cs @@ -13,14 +13,22 @@ namespace Pulumi.Azure.Compute.Outputs [OutputType] public sealed class LinuxVirtualMachineAdditionalCapabilities { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + /// + public readonly bool? HibernationEnabled; /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// public readonly bool? UltraSsdEnabled; [OutputConstructor] - private LinuxVirtualMachineAdditionalCapabilities(bool? ultraSsdEnabled) + private LinuxVirtualMachineAdditionalCapabilities( + bool? hibernationEnabled, + + bool? ultraSsdEnabled) { + HibernationEnabled = hibernationEnabled; UltraSsdEnabled = ultraSsdEnabled; } } diff --git a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs index 0932f067de..196ddbb0f7 100644 --- a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs +++ b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs @@ -22,7 +22,7 @@ public sealed class LinuxVirtualMachineGalleryApplication /// public readonly string? ConfigurationBlobUri; /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// public readonly int? Order; /// diff --git a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.cs b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.cs index a4a077f003..af6519d3ce 100644 --- a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.cs +++ b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.cs @@ -30,6 +30,12 @@ public sealed class LinuxVirtualMachineScaleSetRollingUpgradePolicy /// public readonly int MaxUnhealthyUpgradedInstancePercent; /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + public readonly bool? MaximumSurgeInstancesEnabled; + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// public readonly string PauseTimeBetweenBatches; @@ -48,6 +54,8 @@ private LinuxVirtualMachineScaleSetRollingUpgradePolicy( int maxUnhealthyUpgradedInstancePercent, + bool? maximumSurgeInstancesEnabled, + string pauseTimeBetweenBatches, bool? prioritizeUnhealthyInstancesEnabled) @@ -56,6 +64,7 @@ private LinuxVirtualMachineScaleSetRollingUpgradePolicy( MaxBatchInstancePercent = maxBatchInstancePercent; MaxUnhealthyInstancePercent = maxUnhealthyInstancePercent; MaxUnhealthyUpgradedInstancePercent = maxUnhealthyUpgradedInstancePercent; + MaximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; PauseTimeBetweenBatches = pauseTimeBetweenBatches; PrioritizeUnhealthyInstancesEnabled = prioritizeUnhealthyInstancesEnabled; } diff --git a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineAdditionalCapabilities.cs b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineAdditionalCapabilities.cs index 13046bbd13..25754ffe22 100644 --- a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineAdditionalCapabilities.cs +++ b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineAdditionalCapabilities.cs @@ -13,14 +13,22 @@ namespace Pulumi.Azure.Compute.Outputs [OutputType] public sealed class WindowsVirtualMachineAdditionalCapabilities { + /// + /// Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + /// + public readonly bool? HibernationEnabled; /// /// Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. /// public readonly bool? UltraSsdEnabled; [OutputConstructor] - private WindowsVirtualMachineAdditionalCapabilities(bool? ultraSsdEnabled) + private WindowsVirtualMachineAdditionalCapabilities( + bool? hibernationEnabled, + + bool? ultraSsdEnabled) { + HibernationEnabled = hibernationEnabled; UltraSsdEnabled = ultraSsdEnabled; } } diff --git a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs index 31781d6bd8..39e90bf8d0 100644 --- a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs +++ b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs @@ -22,7 +22,7 @@ public sealed class WindowsVirtualMachineGalleryApplication /// public readonly string? ConfigurationBlobUri; /// - /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + /// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. /// public readonly int? Order; /// diff --git a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.cs b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.cs index b6e593ab29..23c5089890 100644 --- a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.cs +++ b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.cs @@ -30,6 +30,12 @@ public sealed class WindowsVirtualMachineScaleSetRollingUpgradePolicy /// public readonly int MaxUnhealthyUpgradedInstancePercent; /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + /// + /// > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + /// + public readonly bool? MaximumSurgeInstancesEnabled; + /// /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. /// public readonly string PauseTimeBetweenBatches; @@ -48,6 +54,8 @@ private WindowsVirtualMachineScaleSetRollingUpgradePolicy( int maxUnhealthyUpgradedInstancePercent, + bool? maximumSurgeInstancesEnabled, + string pauseTimeBetweenBatches, bool? prioritizeUnhealthyInstancesEnabled) @@ -56,6 +64,7 @@ private WindowsVirtualMachineScaleSetRollingUpgradePolicy( MaxBatchInstancePercent = maxBatchInstancePercent; MaxUnhealthyInstancePercent = maxUnhealthyInstancePercent; MaxUnhealthyUpgradedInstancePercent = maxUnhealthyUpgradedInstancePercent; + MaximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; PauseTimeBetweenBatches = pauseTimeBetweenBatches; PrioritizeUnhealthyInstancesEnabled = prioritizeUnhealthyInstancesEnabled; } diff --git a/sdk/dotnet/Compute/WindowsVirtualMachine.cs b/sdk/dotnet/Compute/WindowsVirtualMachine.cs index d211e58c3f..0dd3c36fb2 100644 --- a/sdk/dotnet/Compute/WindowsVirtualMachine.cs +++ b/sdk/dotnet/Compute/WindowsVirtualMachine.cs @@ -242,6 +242,8 @@ public partial class WindowsVirtualMachine : global::Pulumi.CustomResource /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. /// [Output("galleryApplications")] public Output> GalleryApplications { get; private set; } = null!; @@ -690,6 +692,8 @@ public Input? CustomData /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. /// public InputList GalleryApplications { @@ -1092,6 +1096,8 @@ public Input? CustomData /// /// One or more `gallery_application` blocks as defined below. + /// + /// > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. /// public InputList GalleryApplications { diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 9830f28ed3..161b78c0f2 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -323,6 +323,7 @@ public class Features public Pulumi.Azure.Config.Types.FeaturesManagedDisk? ManagedDisk { get; set; } = null!; public Pulumi.Azure.Config.Types.FeaturesPostgresqlFlexibleServer? PostgresqlFlexibleServer { get; set; } = null!; public Pulumi.Azure.Config.Types.FeaturesRecoveryService? RecoveryService { get; set; } = null!; + public Pulumi.Azure.Config.Types.FeaturesRecoveryServicesVaults? RecoveryServicesVaults { get; set; } = null!; public Pulumi.Azure.Config.Types.FeaturesResourceGroup? ResourceGroup { get; set; } = null!; public Pulumi.Azure.Config.Types.FeaturesSubscription? Subscription { get; set; } = null!; public Pulumi.Azure.Config.Types.FeaturesTemplateDeployment? TemplateDeployment { get; set; } = null!; @@ -418,6 +419,11 @@ public class FeaturesRecoveryService public bool? VmBackupStopProtectionAndRetainDataOnDestroy { get; set; } } + public class FeaturesRecoveryServicesVaults + { + public bool? RecoverSoftDeletedBackupProtectedVm { get; set; } + } + public class FeaturesResourceGroup { public bool? PreventDeletionIfContainsResources { get; set; } diff --git a/sdk/dotnet/ContainerApp/Environment.cs b/sdk/dotnet/ContainerApp/Environment.cs index b884268d0d..e8b2442c63 100644 --- a/sdk/dotnet/ContainerApp/Environment.cs +++ b/sdk/dotnet/ContainerApp/Environment.cs @@ -59,6 +59,12 @@ namespace Pulumi.Azure.ContainerApp [AzureResourceType("azure:containerapp/environment:Environment")] public partial class Environment : global::Pulumi.CustomResource { + /// + /// The ID of the Custom Domain Verification for this Container App Environment. + /// + [Output("customDomainVerificationId")] + public Output CustomDomainVerificationId { get; private set; } = null!; + /// /// Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. /// @@ -317,6 +323,12 @@ public EnvironmentArgs() public sealed class EnvironmentState : global::Pulumi.ResourceArgs { + /// + /// The ID of the Custom Domain Verification for this Container App Environment. + /// + [Input("customDomainVerificationId")] + public Input? CustomDomainVerificationId { get; set; } + [Input("daprApplicationInsightsConnectionString")] private Input? _daprApplicationInsightsConnectionString; diff --git a/sdk/dotnet/ContainerApp/EnvironmentCustomDomain.cs b/sdk/dotnet/ContainerApp/EnvironmentCustomDomain.cs new file mode 100644 index 0000000000..1a6a551c77 --- /dev/null +++ b/sdk/dotnet/ContainerApp/EnvironmentCustomDomain.cs @@ -0,0 +1,229 @@ +// *** 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.Azure.ContainerApp +{ + /// + /// Manages a Container App Environment Custom Domain Suffix. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// using Std = Pulumi.Std; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Azure.Core.ResourceGroup("example", new() + /// { + /// Name = "example-resources", + /// Location = "West Europe", + /// }); + /// + /// var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace("example", new() + /// { + /// Name = "acctest-01", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// Sku = "PerGB2018", + /// RetentionInDays = 30, + /// }); + /// + /// var exampleEnvironment = new Azure.ContainerApp.Environment("example", new() + /// { + /// Name = "my-environment", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id, + /// }); + /// + /// var exampleEnvironmentCustomDomain = new Azure.ContainerApp.EnvironmentCustomDomain("example", new() + /// { + /// ContainerAppEnvironmentId = exampleEnvironment.Id, + /// CertificateBlobBase64 = Std.Filebase64.Invoke(new() + /// { + /// Input = "testacc.pfx", + /// }).Apply(invoke => invoke.Result), + /// CertificatePassword = "TestAcc", + /// DnsSuffix = "acceptancetest.contoso.com", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. + /// + /// ```sh + /// $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" + /// ``` + /// + [AzureResourceType("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain")] + public partial class EnvironmentCustomDomain : global::Pulumi.CustomResource + { + /// + /// The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + /// + [Output("certificateBlobBase64")] + public Output CertificateBlobBase64 { get; private set; } = null!; + + /// + /// The password for the Certificate bundle. + /// + [Output("certificatePassword")] + public Output CertificatePassword { get; private set; } = null!; + + /// + /// The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + /// + [Output("containerAppEnvironmentId")] + public Output ContainerAppEnvironmentId { get; private set; } = null!; + + /// + /// Custom DNS Suffix for the Container App Environment. + /// + [Output("dnsSuffix")] + public Output DnsSuffix { get; private set; } = null!; + + + /// + /// Create a EnvironmentCustomDomain resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public EnvironmentCustomDomain(string name, EnvironmentCustomDomainArgs args, CustomResourceOptions? options = null) + : base("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, args ?? new EnvironmentCustomDomainArgs(), MakeResourceOptions(options, "")) + { + } + + private EnvironmentCustomDomain(string name, Input id, EnvironmentCustomDomainState? state = null, CustomResourceOptions? options = null) + : base("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "certificatePassword", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing EnvironmentCustomDomain resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static EnvironmentCustomDomain Get(string name, Input id, EnvironmentCustomDomainState? state = null, CustomResourceOptions? options = null) + { + return new EnvironmentCustomDomain(name, id, state, options); + } + } + + public sealed class EnvironmentCustomDomainArgs : global::Pulumi.ResourceArgs + { + /// + /// The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + /// + [Input("certificateBlobBase64", required: true)] + public Input CertificateBlobBase64 { get; set; } = null!; + + [Input("certificatePassword", required: true)] + private Input? _certificatePassword; + + /// + /// The password for the Certificate bundle. + /// + public Input? CertificatePassword + { + get => _certificatePassword; + set + { + var emptySecret = Output.CreateSecret(0); + _certificatePassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + /// + [Input("containerAppEnvironmentId", required: true)] + public Input ContainerAppEnvironmentId { get; set; } = null!; + + /// + /// Custom DNS Suffix for the Container App Environment. + /// + [Input("dnsSuffix", required: true)] + public Input DnsSuffix { get; set; } = null!; + + public EnvironmentCustomDomainArgs() + { + } + public static new EnvironmentCustomDomainArgs Empty => new EnvironmentCustomDomainArgs(); + } + + public sealed class EnvironmentCustomDomainState : global::Pulumi.ResourceArgs + { + /// + /// The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + /// + [Input("certificateBlobBase64")] + public Input? CertificateBlobBase64 { get; set; } + + [Input("certificatePassword")] + private Input? _certificatePassword; + + /// + /// The password for the Certificate bundle. + /// + public Input? CertificatePassword + { + get => _certificatePassword; + set + { + var emptySecret = Output.CreateSecret(0); + _certificatePassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + /// + [Input("containerAppEnvironmentId")] + public Input? ContainerAppEnvironmentId { get; set; } + + /// + /// Custom DNS Suffix for the Container App Environment. + /// + [Input("dnsSuffix")] + public Input? DnsSuffix { get; set; } + + public EnvironmentCustomDomainState() + { + } + public static new EnvironmentCustomDomainState Empty => new EnvironmentCustomDomainState(); + } +} diff --git a/sdk/dotnet/ContainerApp/GetEnvironment.cs b/sdk/dotnet/ContainerApp/GetEnvironment.cs index 5e943fc080..c7ee2b077b 100644 --- a/sdk/dotnet/ContainerApp/GetEnvironment.cs +++ b/sdk/dotnet/ContainerApp/GetEnvironment.cs @@ -107,6 +107,10 @@ public GetEnvironmentInvokeArgs() [OutputType] public sealed class GetEnvironmentResult { + /// + /// The ID of the Custom Domain Verification for this Container App Environment. + /// + public readonly string CustomDomainVerificationId; /// /// The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. /// @@ -156,6 +160,8 @@ public sealed class GetEnvironmentResult [OutputConstructor] private GetEnvironmentResult( + string customDomainVerificationId, + string defaultDomain, string dockerBridgeCidr, @@ -182,6 +188,7 @@ private GetEnvironmentResult( ImmutableDictionary tags) { + CustomDomainVerificationId = customDomainVerificationId; DefaultDomain = defaultDomain; DockerBridgeCidr = dockerBridgeCidr; Id = id; diff --git a/sdk/dotnet/ContainerApp/Inputs/AppSecretArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppSecretArgs.cs index bb4b971fd1..75dac1fc0a 100644 --- a/sdk/dotnet/ContainerApp/Inputs/AppSecretArgs.cs +++ b/sdk/dotnet/ContainerApp/Inputs/AppSecretArgs.cs @@ -41,8 +41,6 @@ public sealed class AppSecretArgs : global::Pulumi.ResourceArgs /// The value for this secret. /// /// !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - /// - /// !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. /// public Input? Value { diff --git a/sdk/dotnet/ContainerApp/Inputs/AppSecretGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppSecretGetArgs.cs index 840c2ebf04..9957ef44c6 100644 --- a/sdk/dotnet/ContainerApp/Inputs/AppSecretGetArgs.cs +++ b/sdk/dotnet/ContainerApp/Inputs/AppSecretGetArgs.cs @@ -41,8 +41,6 @@ public sealed class AppSecretGetArgs : global::Pulumi.ResourceArgs /// The value for this secret. /// /// !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - /// - /// !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. /// public Input? Value { diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigArgs.cs new file mode 100644 index 0000000000..fec9c8f0b0 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + [Input("scales")] + private InputList? _scales; + + /// + /// A `scale` block as defined below. + /// + public InputList Scales + { + get => _scales ?? (_scales = new InputList()); + set => _scales = value; + } + + public JobEventTriggerConfigArgs() + { + } + public static new JobEventTriggerConfigArgs Empty => new JobEventTriggerConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigGetArgs.cs new file mode 100644 index 0000000000..7b1f6a4969 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + [Input("scales")] + private InputList? _scales; + + /// + /// A `scale` block as defined below. + /// + public InputList Scales + { + get => _scales ?? (_scales = new InputList()); + set => _scales = value; + } + + public JobEventTriggerConfigGetArgs() + { + } + public static new JobEventTriggerConfigGetArgs Empty => new JobEventTriggerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleArgs.cs new file mode 100644 index 0000000000..f33cbc13e6 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleArgs : global::Pulumi.ResourceArgs + { + /// + /// Maximum number of job executions that are created for a trigger. + /// + [Input("maxExecutions")] + public Input? MaxExecutions { get; set; } + + /// + /// Minimum number of job executions that are created for a trigger. + /// + [Input("minExecutions")] + public Input? MinExecutions { get; set; } + + /// + /// Interval to check each event source in seconds. + /// + [Input("pollingIntervalInSeconds")] + public Input? PollingIntervalInSeconds { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// A `rules` block as defined below. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public JobEventTriggerConfigScaleArgs() + { + } + public static new JobEventTriggerConfigScaleArgs Empty => new JobEventTriggerConfigScaleArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleGetArgs.cs new file mode 100644 index 0000000000..ef3653e71f --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Maximum number of job executions that are created for a trigger. + /// + [Input("maxExecutions")] + public Input? MaxExecutions { get; set; } + + /// + /// Minimum number of job executions that are created for a trigger. + /// + [Input("minExecutions")] + public Input? MinExecutions { get; set; } + + /// + /// Interval to check each event source in seconds. + /// + [Input("pollingIntervalInSeconds")] + public Input? PollingIntervalInSeconds { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// A `rules` block as defined below. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public JobEventTriggerConfigScaleGetArgs() + { + } + public static new JobEventTriggerConfigScaleGetArgs Empty => new JobEventTriggerConfigScaleGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleArgs.cs new file mode 100644 index 0000000000..2ae158cfb5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleArgs.cs @@ -0,0 +1,56 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleRuleArgs : global::Pulumi.ResourceArgs + { + [Input("authentications")] + private InputList? _authentications; + + /// + /// A `authentication` block as defined below. + /// + public InputList Authentications + { + get => _authentications ?? (_authentications = new InputList()); + set => _authentications = value; + } + + /// + /// Type of the scale rule. + /// + [Input("customRuleType", required: true)] + public Input CustomRuleType { get; set; } = null!; + + [Input("metadata", required: true)] + private InputMap? _metadata; + + /// + /// Metadata properties to describe the scale rule. + /// + public InputMap Metadata + { + get => _metadata ?? (_metadata = new InputMap()); + set => _metadata = value; + } + + /// + /// Name of the scale rule. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public JobEventTriggerConfigScaleRuleArgs() + { + } + public static new JobEventTriggerConfigScaleRuleArgs Empty => new JobEventTriggerConfigScaleRuleArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.cs new file mode 100644 index 0000000000..7d9822d4c6 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleRuleAuthenticationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the secret from which to pull the auth params. + /// + [Input("secretName", required: true)] + public Input SecretName { get; set; } = null!; + + /// + /// Trigger Parameter that uses the secret. + /// + [Input("triggerParameter", required: true)] + public Input TriggerParameter { get; set; } = null!; + + public JobEventTriggerConfigScaleRuleAuthenticationArgs() + { + } + public static new JobEventTriggerConfigScaleRuleAuthenticationArgs Empty => new JobEventTriggerConfigScaleRuleAuthenticationArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationGetArgs.cs new file mode 100644 index 0000000000..065b147daa --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleAuthenticationGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleRuleAuthenticationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the secret from which to pull the auth params. + /// + [Input("secretName", required: true)] + public Input SecretName { get; set; } = null!; + + /// + /// Trigger Parameter that uses the secret. + /// + [Input("triggerParameter", required: true)] + public Input TriggerParameter { get; set; } = null!; + + public JobEventTriggerConfigScaleRuleAuthenticationGetArgs() + { + } + public static new JobEventTriggerConfigScaleRuleAuthenticationGetArgs Empty => new JobEventTriggerConfigScaleRuleAuthenticationGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleGetArgs.cs new file mode 100644 index 0000000000..5c37ab39e5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobEventTriggerConfigScaleRuleGetArgs.cs @@ -0,0 +1,56 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobEventTriggerConfigScaleRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("authentications")] + private InputList? _authentications; + + /// + /// A `authentication` block as defined below. + /// + public InputList Authentications + { + get => _authentications ?? (_authentications = new InputList()); + set => _authentications = value; + } + + /// + /// Type of the scale rule. + /// + [Input("customRuleType", required: true)] + public Input CustomRuleType { get; set; } = null!; + + [Input("metadata", required: true)] + private InputMap? _metadata; + + /// + /// Metadata properties to describe the scale rule. + /// + public InputMap Metadata + { + get => _metadata ?? (_metadata = new InputMap()); + set => _metadata = value; + } + + /// + /// Name of the scale rule. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public JobEventTriggerConfigScaleRuleGetArgs() + { + } + public static new JobEventTriggerConfigScaleRuleGetArgs Empty => new JobEventTriggerConfigScaleRuleGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobIdentityArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobIdentityArgs.cs new file mode 100644 index 0000000000..fdc7fb2ff5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobIdentityArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobIdentityArgs : global::Pulumi.ResourceArgs + { + [Input("identityIds")] + private InputList? _identityIds; + + /// + /// A list of Managed Identity IDs to assign to the Container App Job. + /// + public InputList IdentityIds + { + get => _identityIds ?? (_identityIds = new InputList()); + set => _identityIds = value; + } + + [Input("principalId")] + public Input? PrincipalId { get; set; } + + [Input("tenantId")] + public Input? TenantId { get; set; } + + /// + /// The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public JobIdentityArgs() + { + } + public static new JobIdentityArgs Empty => new JobIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobIdentityGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobIdentityGetArgs.cs new file mode 100644 index 0000000000..b2f5fcb535 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobIdentityGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobIdentityGetArgs : global::Pulumi.ResourceArgs + { + [Input("identityIds")] + private InputList? _identityIds; + + /// + /// A list of Managed Identity IDs to assign to the Container App Job. + /// + public InputList IdentityIds + { + get => _identityIds ?? (_identityIds = new InputList()); + set => _identityIds = value; + } + + [Input("principalId")] + public Input? PrincipalId { get; set; } + + [Input("tenantId")] + public Input? TenantId { get; set; } + + /// + /// The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public JobIdentityGetArgs() + { + } + public static new JobIdentityGetArgs Empty => new JobIdentityGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigArgs.cs new file mode 100644 index 0000000000..90a1bed890 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobManualTriggerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + public JobManualTriggerConfigArgs() + { + } + public static new JobManualTriggerConfigArgs Empty => new JobManualTriggerConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigGetArgs.cs new file mode 100644 index 0000000000..df8ff743f4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobManualTriggerConfigGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobManualTriggerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + public JobManualTriggerConfigGetArgs() + { + } + public static new JobManualTriggerConfigGetArgs Empty => new JobManualTriggerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobRegistryArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobRegistryArgs.cs new file mode 100644 index 0000000000..c0addfce5b --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobRegistryArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobRegistryArgs : global::Pulumi.ResourceArgs + { + /// + /// A Managed Identity to use to authenticate with Azure Container Registry. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The name of the Secret that contains the registry login password. + /// + [Input("passwordSecretName")] + public Input? PasswordSecretName { get; set; } + + /// + /// The URL of the Azure Container Registry server. + /// + [Input("server", required: true)] + public Input Server { get; set; } = null!; + + /// + /// The username to use to authenticate with Azure Container Registry. + /// + [Input("username")] + public Input? Username { get; set; } + + public JobRegistryArgs() + { + } + public static new JobRegistryArgs Empty => new JobRegistryArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobRegistryGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobRegistryGetArgs.cs new file mode 100644 index 0000000000..3af0660e3e --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobRegistryGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobRegistryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A Managed Identity to use to authenticate with Azure Container Registry. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The name of the Secret that contains the registry login password. + /// + [Input("passwordSecretName")] + public Input? PasswordSecretName { get; set; } + + /// + /// The URL of the Azure Container Registry server. + /// + [Input("server", required: true)] + public Input Server { get; set; } = null!; + + /// + /// The username to use to authenticate with Azure Container Registry. + /// + [Input("username")] + public Input? Username { get; set; } + + public JobRegistryGetArgs() + { + } + public static new JobRegistryGetArgs Empty => new JobRegistryGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigArgs.cs new file mode 100644 index 0000000000..ba28417028 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobScheduleTriggerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Cron formatted repeating schedule of a Cron Job. + /// + [Input("cronExpression", required: true)] + public Input CronExpression { get; set; } = null!; + + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + public JobScheduleTriggerConfigArgs() + { + } + public static new JobScheduleTriggerConfigArgs Empty => new JobScheduleTriggerConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigGetArgs.cs new file mode 100644 index 0000000000..a13f403577 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobScheduleTriggerConfigGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobScheduleTriggerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Cron formatted repeating schedule of a Cron Job. + /// + [Input("cronExpression", required: true)] + public Input CronExpression { get; set; } = null!; + + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + [Input("parallelism")] + public Input? Parallelism { get; set; } + + /// + /// Minimum number of successful replica completions before overall job completion. + /// + [Input("replicaCompletionCount")] + public Input? ReplicaCompletionCount { get; set; } + + public JobScheduleTriggerConfigGetArgs() + { + } + public static new JobScheduleTriggerConfigGetArgs Empty => new JobScheduleTriggerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobSecretArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobSecretArgs.cs new file mode 100644 index 0000000000..702f04acf9 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobSecretArgs.cs @@ -0,0 +1,54 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobSecretArgs : global::Pulumi.ResourceArgs + { + /// + /// A `identity` block as defined below. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + /// + [Input("keyVaultSecretId")] + public Input? KeyVaultSecretId { get; set; } + + /// + /// Name of the secret. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value")] + private Input? _value; + + /// + /// Value of the secret. + /// + public Input? Value + { + get => _value; + set + { + var emptySecret = Output.CreateSecret(0); + _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public JobSecretArgs() + { + } + public static new JobSecretArgs Empty => new JobSecretArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobSecretGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobSecretGetArgs.cs new file mode 100644 index 0000000000..4bf4767dd4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobSecretGetArgs.cs @@ -0,0 +1,54 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobSecretGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A `identity` block as defined below. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + /// + [Input("keyVaultSecretId")] + public Input? KeyVaultSecretId { get; set; } + + /// + /// Name of the secret. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("value")] + private Input? _value; + + /// + /// Value of the secret. + /// + public Input? Value + { + get => _value; + set + { + var emptySecret = Output.CreateSecret(0); + _value = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public JobSecretGetArgs() + { + } + public static new JobSecretGetArgs Empty => new JobSecretGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateArgs.cs new file mode 100644 index 0000000000..7eafe1f263 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateArgs.cs @@ -0,0 +1,56 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateArgs : global::Pulumi.ResourceArgs + { + [Input("containers", required: true)] + private InputList? _containers; + + /// + /// A `container` block as defined below. + /// + public InputList Containers + { + get => _containers ?? (_containers = new InputList()); + set => _containers = value; + } + + [Input("initContainers")] + private InputList? _initContainers; + + /// + /// A `init_container` block as defined below. + /// + public InputList InitContainers + { + get => _initContainers ?? (_initContainers = new InputList()); + set => _initContainers = value; + } + + [Input("volumes")] + private InputList? _volumes; + + /// + /// A `volume` block as defined below. + /// + public InputList Volumes + { + get => _volumes ?? (_volumes = new InputList()); + set => _volumes = value; + } + + public JobTemplateArgs() + { + } + public static new JobTemplateArgs Empty => new JobTemplateArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerArgs.cs new file mode 100644 index 0000000000..ad5c729689 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerArgs.cs @@ -0,0 +1,140 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// A list of extra arguments to pass to the container. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("commands")] + private InputList? _commands; + + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + [Input("cpu", required: true)] + public Input Cpu { get; set; } = null!; + + [Input("envs")] + private InputList? _envs; + + /// + /// One or more `env` blocks as detailed below. + /// + public InputList Envs + { + get => _envs ?? (_envs = new InputList()); + set => _envs = value; + } + + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + [Input("ephemeralStorage")] + public Input? EphemeralStorage { get; set; } + + /// + /// The image to use to create the container. + /// + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + [Input("livenessProbes")] + private InputList? _livenessProbes; + + /// + /// A `liveness_probe` block as detailed below. + /// + public InputList LivenessProbes + { + get => _livenessProbes ?? (_livenessProbes = new InputList()); + set => _livenessProbes = value; + } + + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + [Input("memory", required: true)] + public Input Memory { get; set; } = null!; + + /// + /// The name of the container. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("readinessProbes")] + private InputList? _readinessProbes; + + /// + /// A `readiness_probe` block as detailed below. + /// + public InputList ReadinessProbes + { + get => _readinessProbes ?? (_readinessProbes = new InputList()); + set => _readinessProbes = value; + } + + [Input("startupProbes")] + private InputList? _startupProbes; + + /// + /// A `startup_probe` block as detailed below. + /// + public InputList StartupProbes + { + get => _startupProbes ?? (_startupProbes = new InputList()); + set => _startupProbes = value; + } + + [Input("volumeMounts")] + private InputList? _volumeMounts; + + /// + /// A `volume_mounts` block as detailed below. + /// + public InputList VolumeMounts + { + get => _volumeMounts ?? (_volumeMounts = new InputList()); + set => _volumeMounts = value; + } + + public JobTemplateContainerArgs() + { + } + public static new JobTemplateContainerArgs Empty => new JobTemplateContainerArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvArgs.cs new file mode 100644 index 0000000000..9c4f8e8dcd --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerEnvArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the environment variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + [Input("secretName")] + public Input? SecretName { get; set; } + + /// + /// The value of the environment variable. + /// + [Input("value")] + public Input? Value { get; set; } + + public JobTemplateContainerEnvArgs() + { + } + public static new JobTemplateContainerEnvArgs Empty => new JobTemplateContainerEnvArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvGetArgs.cs new file mode 100644 index 0000000000..def7aa87bd --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerEnvGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerEnvGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the environment variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + [Input("secretName")] + public Input? SecretName { get; set; } + + /// + /// The value of the environment variable. + /// + [Input("value")] + public Input? Value { get; set; } + + public JobTemplateContainerEnvGetArgs() + { + } + public static new JobTemplateContainerEnvGetArgs Empty => new JobTemplateContainerEnvGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerGetArgs.cs new file mode 100644 index 0000000000..01832f386c --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerGetArgs.cs @@ -0,0 +1,140 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerGetArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// A list of extra arguments to pass to the container. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("commands")] + private InputList? _commands; + + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + [Input("cpu", required: true)] + public Input Cpu { get; set; } = null!; + + [Input("envs")] + private InputList? _envs; + + /// + /// One or more `env` blocks as detailed below. + /// + public InputList Envs + { + get => _envs ?? (_envs = new InputList()); + set => _envs = value; + } + + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + [Input("ephemeralStorage")] + public Input? EphemeralStorage { get; set; } + + /// + /// The image to use to create the container. + /// + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + [Input("livenessProbes")] + private InputList? _livenessProbes; + + /// + /// A `liveness_probe` block as detailed below. + /// + public InputList LivenessProbes + { + get => _livenessProbes ?? (_livenessProbes = new InputList()); + set => _livenessProbes = value; + } + + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + [Input("memory", required: true)] + public Input Memory { get; set; } = null!; + + /// + /// The name of the container. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("readinessProbes")] + private InputList? _readinessProbes; + + /// + /// A `readiness_probe` block as detailed below. + /// + public InputList ReadinessProbes + { + get => _readinessProbes ?? (_readinessProbes = new InputList()); + set => _readinessProbes = value; + } + + [Input("startupProbes")] + private InputList? _startupProbes; + + /// + /// A `startup_probe` block as detailed below. + /// + public InputList StartupProbes + { + get => _startupProbes ?? (_startupProbes = new InputList()); + set => _startupProbes = value; + } + + [Input("volumeMounts")] + private InputList? _volumeMounts; + + /// + /// A `volume_mounts` block as detailed below. + /// + public InputList VolumeMounts + { + get => _volumeMounts ?? (_volumeMounts = new InputList()); + set => _volumeMounts = value; + } + + public JobTemplateContainerGetArgs() + { + } + public static new JobTemplateContainerGetArgs Empty => new JobTemplateContainerGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeArgs.cs new file mode 100644 index 0000000000..37553d0032 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerLivenessProbeArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// The time in seconds to wait after the container has started before the probe is started. + /// + [Input("initialDelay")] + public Input? InitialDelay { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + [Input("terminationGracePeriodSeconds")] + public Input? TerminationGracePeriodSeconds { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerLivenessProbeArgs() + { + } + public static new JobTemplateContainerLivenessProbeArgs Empty => new JobTemplateContainerLivenessProbeArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeGetArgs.cs new file mode 100644 index 0000000000..4a3f6ba135 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeGetArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerLivenessProbeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// The time in seconds to wait after the container has started before the probe is started. + /// + [Input("initialDelay")] + public Input? InitialDelay { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + [Input("terminationGracePeriodSeconds")] + public Input? TerminationGracePeriodSeconds { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerLivenessProbeGetArgs() + { + } + public static new JobTemplateContainerLivenessProbeGetArgs Empty => new JobTemplateContainerLivenessProbeGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderArgs.cs new file mode 100644 index 0000000000..7b05b9cb68 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerLivenessProbeHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerLivenessProbeHeaderArgs() + { + } + public static new JobTemplateContainerLivenessProbeHeaderArgs Empty => new JobTemplateContainerLivenessProbeHeaderArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderGetArgs.cs new file mode 100644 index 0000000000..b11b4f0663 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerLivenessProbeHeaderGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerLivenessProbeHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerLivenessProbeHeaderGetArgs() + { + } + public static new JobTemplateContainerLivenessProbeHeaderGetArgs Empty => new JobTemplateContainerLivenessProbeHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeArgs.cs new file mode 100644 index 0000000000..ea0aa814e1 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerReadinessProbeArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("successCountThreshold")] + public Input? SuccessCountThreshold { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerReadinessProbeArgs() + { + } + public static new JobTemplateContainerReadinessProbeArgs Empty => new JobTemplateContainerReadinessProbeArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeGetArgs.cs new file mode 100644 index 0000000000..5a30c25ca9 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeGetArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerReadinessProbeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("successCountThreshold")] + public Input? SuccessCountThreshold { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerReadinessProbeGetArgs() + { + } + public static new JobTemplateContainerReadinessProbeGetArgs Empty => new JobTemplateContainerReadinessProbeGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderArgs.cs new file mode 100644 index 0000000000..c2397450cb --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerReadinessProbeHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerReadinessProbeHeaderArgs() + { + } + public static new JobTemplateContainerReadinessProbeHeaderArgs Empty => new JobTemplateContainerReadinessProbeHeaderArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderGetArgs.cs new file mode 100644 index 0000000000..0787d2fab0 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerReadinessProbeHeaderGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerReadinessProbeHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerReadinessProbeHeaderGetArgs() + { + } + public static new JobTemplateContainerReadinessProbeHeaderGetArgs Empty => new JobTemplateContainerReadinessProbeHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeArgs.cs new file mode 100644 index 0000000000..fc4377e39a --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerStartupProbeArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + [Input("terminationGracePeriodSeconds")] + public Input? TerminationGracePeriodSeconds { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerStartupProbeArgs() + { + } + public static new JobTemplateContainerStartupProbeArgs Empty => new JobTemplateContainerStartupProbeArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeGetArgs.cs new file mode 100644 index 0000000000..6a39334941 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeGetArgs.cs @@ -0,0 +1,80 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerStartupProbeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + [Input("failureCountThreshold")] + public Input? FailureCountThreshold { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// A `header` block as detailed below. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + [Input("intervalSeconds")] + public Input? IntervalSeconds { get; set; } + + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + [Input("port", required: true)] + public Input Port { get; set; } = null!; + + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + [Input("terminationGracePeriodSeconds")] + public Input? TerminationGracePeriodSeconds { get; set; } + + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + [Input("transport", required: true)] + public Input Transport { get; set; } = null!; + + public JobTemplateContainerStartupProbeGetArgs() + { + } + public static new JobTemplateContainerStartupProbeGetArgs Empty => new JobTemplateContainerStartupProbeGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderArgs.cs new file mode 100644 index 0000000000..10cfe9b2a4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerStartupProbeHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerStartupProbeHeaderArgs() + { + } + public static new JobTemplateContainerStartupProbeHeaderArgs Empty => new JobTemplateContainerStartupProbeHeaderArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderGetArgs.cs new file mode 100644 index 0000000000..3d5d2e4aa5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerStartupProbeHeaderGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerStartupProbeHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The HTTP Header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public JobTemplateContainerStartupProbeHeaderGetArgs() + { + } + public static new JobTemplateContainerStartupProbeHeaderGetArgs Empty => new JobTemplateContainerStartupProbeHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountArgs.cs new file mode 100644 index 0000000000..cf9fd851ae --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerVolumeMountArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public JobTemplateContainerVolumeMountArgs() + { + } + public static new JobTemplateContainerVolumeMountArgs Empty => new JobTemplateContainerVolumeMountArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountGetArgs.cs new file mode 100644 index 0000000000..ec7ed412c4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateContainerVolumeMountGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateContainerVolumeMountGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public JobTemplateContainerVolumeMountGetArgs() + { + } + public static new JobTemplateContainerVolumeMountGetArgs Empty => new JobTemplateContainerVolumeMountGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateGetArgs.cs new file mode 100644 index 0000000000..ee11ea8de5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateGetArgs.cs @@ -0,0 +1,56 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateGetArgs : global::Pulumi.ResourceArgs + { + [Input("containers", required: true)] + private InputList? _containers; + + /// + /// A `container` block as defined below. + /// + public InputList Containers + { + get => _containers ?? (_containers = new InputList()); + set => _containers = value; + } + + [Input("initContainers")] + private InputList? _initContainers; + + /// + /// A `init_container` block as defined below. + /// + public InputList InitContainers + { + get => _initContainers ?? (_initContainers = new InputList()); + set => _initContainers = value; + } + + [Input("volumes")] + private InputList? _volumes; + + /// + /// A `volume` block as defined below. + /// + public InputList Volumes + { + get => _volumes ?? (_volumes = new InputList()); + set => _volumes = value; + } + + public JobTemplateGetArgs() + { + } + public static new JobTemplateGetArgs Empty => new JobTemplateGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerArgs.cs new file mode 100644 index 0000000000..77ff957187 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerArgs.cs @@ -0,0 +1,104 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// A list of extra arguments to pass to the container. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("commands")] + private InputList? _commands; + + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("envs")] + private InputList? _envs; + + /// + /// One or more `env` blocks as detailed below. + /// + public InputList Envs + { + get => _envs ?? (_envs = new InputList()); + set => _envs = value; + } + + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + [Input("ephemeralStorage")] + public Input? EphemeralStorage { get; set; } + + /// + /// The image to use to create the container. + /// + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// The name of the container. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("volumeMounts")] + private InputList? _volumeMounts; + + /// + /// A `volume_mounts` block as detailed below. + /// + public InputList VolumeMounts + { + get => _volumeMounts ?? (_volumeMounts = new InputList()); + set => _volumeMounts = value; + } + + public JobTemplateInitContainerArgs() + { + } + public static new JobTemplateInitContainerArgs Empty => new JobTemplateInitContainerArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvArgs.cs new file mode 100644 index 0000000000..1ba3178b04 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerEnvArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the environment variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + [Input("secretName")] + public Input? SecretName { get; set; } + + /// + /// The value of the environment variable. + /// + [Input("value")] + public Input? Value { get; set; } + + public JobTemplateInitContainerEnvArgs() + { + } + public static new JobTemplateInitContainerEnvArgs Empty => new JobTemplateInitContainerEnvArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvGetArgs.cs new file mode 100644 index 0000000000..c0d5fee5ed --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerEnvGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerEnvGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the environment variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + [Input("secretName")] + public Input? SecretName { get; set; } + + /// + /// The value of the environment variable. + /// + [Input("value")] + public Input? Value { get; set; } + + public JobTemplateInitContainerEnvGetArgs() + { + } + public static new JobTemplateInitContainerEnvGetArgs Empty => new JobTemplateInitContainerEnvGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerGetArgs.cs new file mode 100644 index 0000000000..54f051fd77 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerGetArgs.cs @@ -0,0 +1,104 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerGetArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// A list of extra arguments to pass to the container. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("commands")] + private InputList? _commands; + + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("envs")] + private InputList? _envs; + + /// + /// One or more `env` blocks as detailed below. + /// + public InputList Envs + { + get => _envs ?? (_envs = new InputList()); + set => _envs = value; + } + + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + [Input("ephemeralStorage")] + public Input? EphemeralStorage { get; set; } + + /// + /// The image to use to create the container. + /// + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// The name of the container. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("volumeMounts")] + private InputList? _volumeMounts; + + /// + /// A `volume_mounts` block as detailed below. + /// + public InputList VolumeMounts + { + get => _volumeMounts ?? (_volumeMounts = new InputList()); + set => _volumeMounts = value; + } + + public JobTemplateInitContainerGetArgs() + { + } + public static new JobTemplateInitContainerGetArgs Empty => new JobTemplateInitContainerGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountArgs.cs new file mode 100644 index 0000000000..adaaf1479f --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerVolumeMountArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public JobTemplateInitContainerVolumeMountArgs() + { + } + public static new JobTemplateInitContainerVolumeMountArgs Empty => new JobTemplateInitContainerVolumeMountArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountGetArgs.cs new file mode 100644 index 0000000000..f51fd57ef4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateInitContainerVolumeMountGetArgs.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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateInitContainerVolumeMountGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public JobTemplateInitContainerVolumeMountGetArgs() + { + } + public static new JobTemplateInitContainerVolumeMountGetArgs Empty => new JobTemplateInitContainerVolumeMountGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeArgs.cs new file mode 100644 index 0000000000..c7bd6ae3ff --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateVolumeArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the storage to use for the volume. + /// + [Input("storageName")] + public Input? StorageName { get; set; } + + /// + /// The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + /// + [Input("storageType")] + public Input? StorageType { get; set; } + + public JobTemplateVolumeArgs() + { + } + public static new JobTemplateVolumeArgs Empty => new JobTemplateVolumeArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeGetArgs.cs new file mode 100644 index 0000000000..953b001145 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Inputs/JobTemplateVolumeGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.ContainerApp.Inputs +{ + + public sealed class JobTemplateVolumeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the volume. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the storage to use for the volume. + /// + [Input("storageName")] + public Input? StorageName { get; set; } + + /// + /// The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + /// + [Input("storageType")] + public Input? StorageType { get; set; } + + public JobTemplateVolumeGetArgs() + { + } + public static new JobTemplateVolumeGetArgs Empty => new JobTemplateVolumeGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerApp/Job.cs b/sdk/dotnet/ContainerApp/Job.cs new file mode 100644 index 0000000000..40f45eba07 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Job.cs @@ -0,0 +1,540 @@ +// *** 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.Azure.ContainerApp +{ + /// + /// Manages a Container App Job. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Azure.Core.ResourceGroup("example", new() + /// { + /// Name = "example-resources", + /// Location = "West Europe", + /// }); + /// + /// var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace("example", new() + /// { + /// Name = "example-log-analytics-workspace", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// Sku = "PerGB2018", + /// RetentionInDays = 30, + /// }); + /// + /// var exampleEnvironment = new Azure.ContainerApp.Environment("example", new() + /// { + /// Name = "example-container-app-environment", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id, + /// }); + /// + /// var exampleJob = new Azure.ContainerApp.Job("example", new() + /// { + /// Name = "example-container-app-job", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// ContainerAppEnvironmentId = exampleEnvironment.Id, + /// ReplicaTimeoutInSeconds = 10, + /// ReplicaRetryLimit = 10, + /// ManualTriggerConfig = new Azure.ContainerApp.Inputs.JobManualTriggerConfigArgs + /// { + /// Parallelism = 4, + /// ReplicaCompletionCount = 1, + /// }, + /// Template = new Azure.ContainerApp.Inputs.JobTemplateArgs + /// { + /// Containers = new[] + /// { + /// new Azure.ContainerApp.Inputs.JobTemplateContainerArgs + /// { + /// Image = "repo/testcontainerAppsJob0:v1", + /// Name = "testcontainerappsjob0", + /// ReadinessProbes = new[] + /// { + /// new Azure.ContainerApp.Inputs.JobTemplateContainerReadinessProbeArgs + /// { + /// Transport = "HTTP", + /// Port = 5000, + /// }, + /// }, + /// LivenessProbes = new[] + /// { + /// new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeArgs + /// { + /// Transport = "HTTP", + /// Port = 5000, + /// Path = "/health", + /// Headers = new[] + /// { + /// new Azure.ContainerApp.Inputs.JobTemplateContainerLivenessProbeHeaderArgs + /// { + /// Name = "Cache-Control", + /// Value = "no-cache", + /// }, + /// }, + /// InitialDelay = 5, + /// IntervalSeconds = 20, + /// Timeout = 2, + /// FailureCountThreshold = 1, + /// }, + /// }, + /// StartupProbes = new[] + /// { + /// new Azure.ContainerApp.Inputs.JobTemplateContainerStartupProbeArgs + /// { + /// Transport = "TCP", + /// Port = 5000, + /// }, + /// }, + /// Cpu = 0.5, + /// Memory = "1Gi", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// A Container App Job can be imported using the resource id, e.g. + /// + /// ```sh + /// $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" + /// ``` + /// + [AzureResourceType("azure:containerapp/job:Job")] + public partial class Job : global::Pulumi.CustomResource + { + /// + /// The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Output("containerAppEnvironmentId")] + public Output ContainerAppEnvironmentId { get; private set; } = null!; + + /// + /// The endpoint for the Container App Job event stream. + /// + [Output("eventStreamEndpoint")] + public Output EventStreamEndpoint { get; private set; } = null!; + + /// + /// A `event_trigger_config` block as defined below. + /// + [Output("eventTriggerConfig")] + public Output EventTriggerConfig { get; private set; } = null!; + + /// + /// A `identity` block as defined below. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// A `manual_trigger_config` block as defined below. + /// + [Output("manualTriggerConfig")] + public Output ManualTriggerConfig { get; private set; } = null!; + + /// + /// Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// A list of the Public IP Addresses which the Container App uses for outbound network access. + /// + [Output("outboundIpAddresses")] + public Output> OutboundIpAddresses { get; private set; } = null!; + + /// + /// A `registries` block as defined below. + /// + [Output("registries")] + public Output> Registries { get; private set; } = null!; + + /// + /// The maximum number of times a replica is allowed to retry. + /// + [Output("replicaRetryLimit")] + public Output ReplicaRetryLimit { get; private set; } = null!; + + /// + /// The maximum number of seconds a replica is allowed to run. + /// + [Output("replicaTimeoutInSeconds")] + public Output ReplicaTimeoutInSeconds { get; private set; } = null!; + + /// + /// The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Output("resourceGroupName")] + public Output ResourceGroupName { get; private set; } = null!; + + /// + /// A `schedule_trigger_config` block as defined below. + /// + /// > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + /// + [Output("scheduleTriggerConfig")] + public Output ScheduleTriggerConfig { get; private set; } = null!; + + /// + /// A `secrets` block as defined below. + /// + [Output("secrets")] + public Output> Secrets { get; private set; } = null!; + + /// + /// A mapping of tags to assign to the resource. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A `template` block as defined below. + /// + [Output("template")] + public Output Template { get; private set; } = null!; + + /// + /// The name of the workload profile to use for the Container App Job. + /// + [Output("workloadProfileName")] + public Output WorkloadProfileName { get; private set; } = null!; + + + /// + /// Create a Job resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Job(string name, JobArgs args, CustomResourceOptions? options = null) + : base("azure:containerapp/job:Job", name, args ?? new JobArgs(), MakeResourceOptions(options, "")) + { + } + + private Job(string name, Input id, JobState? state = null, CustomResourceOptions? options = null) + : base("azure:containerapp/job:Job", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "secrets", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Job resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Job Get(string name, Input id, JobState? state = null, CustomResourceOptions? options = null) + { + return new Job(name, id, state, options); + } + } + + public sealed class JobArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Input("containerAppEnvironmentId", required: true)] + public Input ContainerAppEnvironmentId { get; set; } = null!; + + /// + /// A `event_trigger_config` block as defined below. + /// + [Input("eventTriggerConfig")] + public Input? EventTriggerConfig { get; set; } + + /// + /// A `identity` block as defined below. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// A `manual_trigger_config` block as defined below. + /// + [Input("manualTriggerConfig")] + public Input? ManualTriggerConfig { get; set; } + + /// + /// Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("registries")] + private InputList? _registries; + + /// + /// A `registries` block as defined below. + /// + public InputList Registries + { + get => _registries ?? (_registries = new InputList()); + set => _registries = value; + } + + /// + /// The maximum number of times a replica is allowed to retry. + /// + [Input("replicaRetryLimit")] + public Input? ReplicaRetryLimit { get; set; } + + /// + /// The maximum number of seconds a replica is allowed to run. + /// + [Input("replicaTimeoutInSeconds", required: true)] + public Input ReplicaTimeoutInSeconds { get; set; } = null!; + + /// + /// The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// A `schedule_trigger_config` block as defined below. + /// + /// > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + /// + [Input("scheduleTriggerConfig")] + public Input? ScheduleTriggerConfig { get; set; } + + [Input("secrets")] + private InputList? _secrets; + + /// + /// A `secrets` block as defined below. + /// + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set + { + var emptySecret = Output.CreateSecret(ImmutableArray.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A mapping of tags to assign to the resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// A `template` block as defined below. + /// + [Input("template", required: true)] + public Input Template { get; set; } = null!; + + /// + /// The name of the workload profile to use for the Container App Job. + /// + [Input("workloadProfileName")] + public Input? WorkloadProfileName { get; set; } + + public JobArgs() + { + } + public static new JobArgs Empty => new JobArgs(); + } + + public sealed class JobState : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Input("containerAppEnvironmentId")] + public Input? ContainerAppEnvironmentId { get; set; } + + /// + /// The endpoint for the Container App Job event stream. + /// + [Input("eventStreamEndpoint")] + public Input? EventStreamEndpoint { get; set; } + + /// + /// A `event_trigger_config` block as defined below. + /// + [Input("eventTriggerConfig")] + public Input? EventTriggerConfig { get; set; } + + /// + /// A `identity` block as defined below. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// A `manual_trigger_config` block as defined below. + /// + [Input("manualTriggerConfig")] + public Input? ManualTriggerConfig { get; set; } + + /// + /// Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("outboundIpAddresses")] + private InputList? _outboundIpAddresses; + + /// + /// A list of the Public IP Addresses which the Container App uses for outbound network access. + /// + public InputList OutboundIpAddresses + { + get => _outboundIpAddresses ?? (_outboundIpAddresses = new InputList()); + set => _outboundIpAddresses = value; + } + + [Input("registries")] + private InputList? _registries; + + /// + /// A `registries` block as defined below. + /// + public InputList Registries + { + get => _registries ?? (_registries = new InputList()); + set => _registries = value; + } + + /// + /// The maximum number of times a replica is allowed to retry. + /// + [Input("replicaRetryLimit")] + public Input? ReplicaRetryLimit { get; set; } + + /// + /// The maximum number of seconds a replica is allowed to run. + /// + [Input("replicaTimeoutInSeconds")] + public Input? ReplicaTimeoutInSeconds { get; set; } + + /// + /// The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName")] + public Input? ResourceGroupName { get; set; } + + /// + /// A `schedule_trigger_config` block as defined below. + /// + /// > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + /// + [Input("scheduleTriggerConfig")] + public Input? ScheduleTriggerConfig { get; set; } + + [Input("secrets")] + private InputList? _secrets; + + /// + /// A `secrets` block as defined below. + /// + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set + { + var emptySecret = Output.CreateSecret(ImmutableArray.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A mapping of tags to assign to the resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// A `template` block as defined below. + /// + [Input("template")] + public Input? Template { get; set; } + + /// + /// The name of the workload profile to use for the Container App Job. + /// + [Input("workloadProfileName")] + public Input? WorkloadProfileName { get; set; } + + public JobState() + { + } + public static new JobState Empty => new JobState(); + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/AppSecret.cs b/sdk/dotnet/ContainerApp/Outputs/AppSecret.cs index 01e8ba86b6..7553ecc086 100644 --- a/sdk/dotnet/ContainerApp/Outputs/AppSecret.cs +++ b/sdk/dotnet/ContainerApp/Outputs/AppSecret.cs @@ -33,8 +33,6 @@ public sealed class AppSecret /// The value for this secret. /// /// !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - /// - /// !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. /// public readonly string? Value; diff --git a/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfig.cs b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfig.cs new file mode 100644 index 0000000000..78a6fa7df4 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfig.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobEventTriggerConfig + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + public readonly int? Parallelism; + /// + /// Minimum number of successful replica completions before overall job completion. + /// + public readonly int? ReplicaCompletionCount; + /// + /// A `scale` block as defined below. + /// + public readonly ImmutableArray Scales; + + [OutputConstructor] + private JobEventTriggerConfig( + int? parallelism, + + int? replicaCompletionCount, + + ImmutableArray scales) + { + Parallelism = parallelism; + ReplicaCompletionCount = replicaCompletionCount; + Scales = scales; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScale.cs b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScale.cs new file mode 100644 index 0000000000..e979c6a376 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScale.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobEventTriggerConfigScale + { + /// + /// Maximum number of job executions that are created for a trigger. + /// + public readonly int? MaxExecutions; + /// + /// Minimum number of job executions that are created for a trigger. + /// + public readonly int? MinExecutions; + /// + /// Interval to check each event source in seconds. + /// + public readonly int? PollingIntervalInSeconds; + /// + /// A `rules` block as defined below. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private JobEventTriggerConfigScale( + int? maxExecutions, + + int? minExecutions, + + int? pollingIntervalInSeconds, + + ImmutableArray rules) + { + MaxExecutions = maxExecutions; + MinExecutions = minExecutions; + PollingIntervalInSeconds = pollingIntervalInSeconds; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRule.cs b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRule.cs new file mode 100644 index 0000000000..c5fcc3246c --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRule.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobEventTriggerConfigScaleRule + { + /// + /// A `authentication` block as defined below. + /// + public readonly ImmutableArray Authentications; + /// + /// Type of the scale rule. + /// + public readonly string CustomRuleType; + /// + /// Metadata properties to describe the scale rule. + /// + public readonly ImmutableDictionary Metadata; + /// + /// Name of the scale rule. + /// + public readonly string Name; + + [OutputConstructor] + private JobEventTriggerConfigScaleRule( + ImmutableArray authentications, + + string customRuleType, + + ImmutableDictionary metadata, + + string name) + { + Authentications = authentications; + CustomRuleType = customRuleType; + Metadata = metadata; + Name = name; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRuleAuthentication.cs b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRuleAuthentication.cs new file mode 100644 index 0000000000..bee55748a6 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobEventTriggerConfigScaleRuleAuthentication.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobEventTriggerConfigScaleRuleAuthentication + { + /// + /// Name of the secret from which to pull the auth params. + /// + public readonly string SecretName; + /// + /// Trigger Parameter that uses the secret. + /// + public readonly string TriggerParameter; + + [OutputConstructor] + private JobEventTriggerConfigScaleRuleAuthentication( + string secretName, + + string triggerParameter) + { + SecretName = secretName; + TriggerParameter = triggerParameter; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobIdentity.cs b/sdk/dotnet/ContainerApp/Outputs/JobIdentity.cs new file mode 100644 index 0000000000..5b66420d23 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobIdentity.cs @@ -0,0 +1,43 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobIdentity + { + /// + /// A list of Managed Identity IDs to assign to the Container App Job. + /// + public readonly ImmutableArray IdentityIds; + public readonly string? PrincipalId; + public readonly string? TenantId; + /// + /// The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + /// + public readonly string Type; + + [OutputConstructor] + private JobIdentity( + ImmutableArray identityIds, + + string? principalId, + + string? tenantId, + + string type) + { + IdentityIds = identityIds; + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobManualTriggerConfig.cs b/sdk/dotnet/ContainerApp/Outputs/JobManualTriggerConfig.cs new file mode 100644 index 0000000000..007fbae5c9 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobManualTriggerConfig.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobManualTriggerConfig + { + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + public readonly int? Parallelism; + /// + /// Minimum number of successful replica completions before overall job completion. + /// + public readonly int? ReplicaCompletionCount; + + [OutputConstructor] + private JobManualTriggerConfig( + int? parallelism, + + int? replicaCompletionCount) + { + Parallelism = parallelism; + ReplicaCompletionCount = replicaCompletionCount; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobRegistry.cs b/sdk/dotnet/ContainerApp/Outputs/JobRegistry.cs new file mode 100644 index 0000000000..52645ca80d --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobRegistry.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobRegistry + { + /// + /// A Managed Identity to use to authenticate with Azure Container Registry. + /// + public readonly string? Identity; + /// + /// The name of the Secret that contains the registry login password. + /// + public readonly string? PasswordSecretName; + /// + /// The URL of the Azure Container Registry server. + /// + public readonly string Server; + /// + /// The username to use to authenticate with Azure Container Registry. + /// + public readonly string? Username; + + [OutputConstructor] + private JobRegistry( + string? identity, + + string? passwordSecretName, + + string server, + + string? username) + { + Identity = identity; + PasswordSecretName = passwordSecretName; + Server = server; + Username = username; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobScheduleTriggerConfig.cs b/sdk/dotnet/ContainerApp/Outputs/JobScheduleTriggerConfig.cs new file mode 100644 index 0000000000..9ac69bfb03 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobScheduleTriggerConfig.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobScheduleTriggerConfig + { + /// + /// Cron formatted repeating schedule of a Cron Job. + /// + public readonly string CronExpression; + /// + /// Number of parallel replicas of a job that can run at a given time. + /// + public readonly int? Parallelism; + /// + /// Minimum number of successful replica completions before overall job completion. + /// + public readonly int? ReplicaCompletionCount; + + [OutputConstructor] + private JobScheduleTriggerConfig( + string cronExpression, + + int? parallelism, + + int? replicaCompletionCount) + { + CronExpression = cronExpression; + Parallelism = parallelism; + ReplicaCompletionCount = replicaCompletionCount; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobSecret.cs b/sdk/dotnet/ContainerApp/Outputs/JobSecret.cs new file mode 100644 index 0000000000..37af47e57c --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobSecret.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobSecret + { + /// + /// A `identity` block as defined below. + /// + public readonly string? Identity; + /// + /// The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + /// + public readonly string? KeyVaultSecretId; + /// + /// Name of the secret. + /// + public readonly string Name; + /// + /// Value of the secret. + /// + public readonly string? Value; + + [OutputConstructor] + private JobSecret( + string? identity, + + string? keyVaultSecretId, + + string name, + + string? value) + { + Identity = identity; + KeyVaultSecretId = keyVaultSecretId; + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplate.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplate.cs new file mode 100644 index 0000000000..d30371c42f --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplate.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplate + { + /// + /// A `container` block as defined below. + /// + public readonly ImmutableArray Containers; + /// + /// A `init_container` block as defined below. + /// + public readonly ImmutableArray InitContainers; + /// + /// A `volume` block as defined below. + /// + public readonly ImmutableArray Volumes; + + [OutputConstructor] + private JobTemplate( + ImmutableArray containers, + + ImmutableArray initContainers, + + ImmutableArray volumes) + { + Containers = containers; + InitContainers = initContainers; + Volumes = volumes; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainer.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainer.cs new file mode 100644 index 0000000000..f87fa804e6 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainer.cs @@ -0,0 +1,111 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainer + { + /// + /// A list of extra arguments to pass to the container. + /// + public readonly ImmutableArray Args; + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public readonly ImmutableArray Commands; + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + public readonly double Cpu; + /// + /// One or more `env` blocks as detailed below. + /// + public readonly ImmutableArray Envs; + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + public readonly string? EphemeralStorage; + /// + /// The image to use to create the container. + /// + public readonly string Image; + /// + /// A `liveness_probe` block as detailed below. + /// + public readonly ImmutableArray LivenessProbes; + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + public readonly string Memory; + /// + /// The name of the container. + /// + public readonly string Name; + /// + /// A `readiness_probe` block as detailed below. + /// + public readonly ImmutableArray ReadinessProbes; + /// + /// A `startup_probe` block as detailed below. + /// + public readonly ImmutableArray StartupProbes; + /// + /// A `volume_mounts` block as detailed below. + /// + public readonly ImmutableArray VolumeMounts; + + [OutputConstructor] + private JobTemplateContainer( + ImmutableArray args, + + ImmutableArray commands, + + double cpu, + + ImmutableArray envs, + + string? ephemeralStorage, + + string image, + + ImmutableArray livenessProbes, + + string memory, + + string name, + + ImmutableArray readinessProbes, + + ImmutableArray startupProbes, + + ImmutableArray volumeMounts) + { + Args = args; + Commands = commands; + Cpu = cpu; + Envs = envs; + EphemeralStorage = ephemeralStorage; + Image = image; + LivenessProbes = livenessProbes; + Memory = memory; + Name = name; + ReadinessProbes = readinessProbes; + StartupProbes = startupProbes; + VolumeMounts = volumeMounts; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerEnv.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerEnv.cs new file mode 100644 index 0000000000..7e937c1f34 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerEnv.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerEnv + { + /// + /// The name of the environment variable. + /// + public readonly string Name; + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + public readonly string? SecretName; + /// + /// The value of the environment variable. + /// + public readonly string? Value; + + [OutputConstructor] + private JobTemplateContainerEnv( + string name, + + string? secretName, + + string? value) + { + Name = name; + SecretName = secretName; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbe.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbe.cs new file mode 100644 index 0000000000..d66d30401a --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbe.cs @@ -0,0 +1,91 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerLivenessProbe + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + public readonly int? FailureCountThreshold; + /// + /// A `header` block as detailed below. + /// + public readonly ImmutableArray Headers; + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + public readonly string? Host; + /// + /// The time in seconds to wait after the container has started before the probe is started. + /// + public readonly int? InitialDelay; + /// + /// How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + /// + public readonly int? IntervalSeconds; + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + public readonly string? Path; + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + public readonly int Port; + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + public readonly int? TerminationGracePeriodSeconds; + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + public readonly int? Timeout; + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + public readonly string Transport; + + [OutputConstructor] + private JobTemplateContainerLivenessProbe( + int? failureCountThreshold, + + ImmutableArray headers, + + string? host, + + int? initialDelay, + + int? intervalSeconds, + + string? path, + + int port, + + int? terminationGracePeriodSeconds, + + int? timeout, + + string transport) + { + FailureCountThreshold = failureCountThreshold; + Headers = headers; + Host = host; + InitialDelay = initialDelay; + IntervalSeconds = intervalSeconds; + Path = path; + Port = port; + TerminationGracePeriodSeconds = terminationGracePeriodSeconds; + Timeout = timeout; + Transport = transport; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbeHeader.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbeHeader.cs new file mode 100644 index 0000000000..13488dfd0d --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerLivenessProbeHeader.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerLivenessProbeHeader + { + /// + /// The HTTP Header Name. + /// + public readonly string Name; + /// + /// The HTTP Header value. + /// + public readonly string Value; + + [OutputConstructor] + private JobTemplateContainerLivenessProbeHeader( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbe.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbe.cs new file mode 100644 index 0000000000..6aaaaf162b --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbe.cs @@ -0,0 +1,84 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerReadinessProbe + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + public readonly int? FailureCountThreshold; + /// + /// A `header` block as detailed below. + /// + public readonly ImmutableArray Headers; + /// + /// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + public readonly string? Host; + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + public readonly int? IntervalSeconds; + /// + /// The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + public readonly string? Path; + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + public readonly int Port; + /// + /// The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + /// + public readonly int? SuccessCountThreshold; + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + public readonly int? Timeout; + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + public readonly string Transport; + + [OutputConstructor] + private JobTemplateContainerReadinessProbe( + int? failureCountThreshold, + + ImmutableArray headers, + + string? host, + + int? intervalSeconds, + + string? path, + + int port, + + int? successCountThreshold, + + int? timeout, + + string transport) + { + FailureCountThreshold = failureCountThreshold; + Headers = headers; + Host = host; + IntervalSeconds = intervalSeconds; + Path = path; + Port = port; + SuccessCountThreshold = successCountThreshold; + Timeout = timeout; + Transport = transport; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbeHeader.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbeHeader.cs new file mode 100644 index 0000000000..c1932a04eb --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerReadinessProbeHeader.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerReadinessProbeHeader + { + /// + /// The HTTP Header Name. + /// + public readonly string Name; + /// + /// The HTTP Header value. + /// + public readonly string Value; + + [OutputConstructor] + private JobTemplateContainerReadinessProbeHeader( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbe.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbe.cs new file mode 100644 index 0000000000..4b98fabf56 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbe.cs @@ -0,0 +1,84 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerStartupProbe + { + /// + /// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + /// + public readonly int? FailureCountThreshold; + /// + /// A `header` block as detailed below. + /// + public readonly ImmutableArray Headers; + /// + /// The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + /// + public readonly string? Host; + /// + /// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + /// + public readonly int? IntervalSeconds; + /// + /// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + /// + public readonly string? Path; + /// + /// The port number on which to connect. Possible values are between `1` and `65535`. + /// + public readonly int Port; + /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + public readonly int? TerminationGracePeriodSeconds; + /// + /// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + /// + public readonly int? Timeout; + /// + /// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + /// + public readonly string Transport; + + [OutputConstructor] + private JobTemplateContainerStartupProbe( + int? failureCountThreshold, + + ImmutableArray headers, + + string? host, + + int? intervalSeconds, + + string? path, + + int port, + + int? terminationGracePeriodSeconds, + + int? timeout, + + string transport) + { + FailureCountThreshold = failureCountThreshold; + Headers = headers; + Host = host; + IntervalSeconds = intervalSeconds; + Path = path; + Port = port; + TerminationGracePeriodSeconds = terminationGracePeriodSeconds; + Timeout = timeout; + Transport = transport; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbeHeader.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbeHeader.cs new file mode 100644 index 0000000000..1dc5382008 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerStartupProbeHeader.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerStartupProbeHeader + { + /// + /// The HTTP Header Name. + /// + public readonly string Name; + /// + /// The HTTP Header value. + /// + public readonly string Value; + + [OutputConstructor] + private JobTemplateContainerStartupProbeHeader( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerVolumeMount.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerVolumeMount.cs new file mode 100644 index 0000000000..7a4a479680 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateContainerVolumeMount.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateContainerVolumeMount + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + public readonly string Name; + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + public readonly string Path; + + [OutputConstructor] + private JobTemplateContainerVolumeMount( + string name, + + string path) + { + Name = name; + Path = path; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainer.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainer.cs new file mode 100644 index 0000000000..ce0f785857 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainer.cs @@ -0,0 +1,90 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateInitContainer + { + /// + /// A list of extra arguments to pass to the container. + /// + public readonly ImmutableArray Args; + /// + /// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + /// + public readonly ImmutableArray Commands; + /// + /// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + /// + public readonly double? Cpu; + /// + /// One or more `env` blocks as detailed below. + /// + public readonly ImmutableArray Envs; + /// + /// The amount of ephemeral storage available to the Container App. + /// + /// > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + /// + public readonly string? EphemeralStorage; + /// + /// The image to use to create the container. + /// + public readonly string Image; + /// + /// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + /// + /// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + /// + public readonly string? Memory; + /// + /// The name of the container. + /// + public readonly string Name; + /// + /// A `volume_mounts` block as detailed below. + /// + public readonly ImmutableArray VolumeMounts; + + [OutputConstructor] + private JobTemplateInitContainer( + ImmutableArray args, + + ImmutableArray commands, + + double? cpu, + + ImmutableArray envs, + + string? ephemeralStorage, + + string image, + + string? memory, + + string name, + + ImmutableArray volumeMounts) + { + Args = args; + Commands = commands; + Cpu = cpu; + Envs = envs; + EphemeralStorage = ephemeralStorage; + Image = image; + Memory = memory; + Name = name; + VolumeMounts = volumeMounts; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerEnv.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerEnv.cs new file mode 100644 index 0000000000..7971854fe5 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerEnv.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateInitContainerEnv + { + /// + /// The name of the environment variable. + /// + public readonly string Name; + /// + /// Name of the Container App secret from which to pull the environment variable value. + /// + public readonly string? SecretName; + /// + /// The value of the environment variable. + /// + public readonly string? Value; + + [OutputConstructor] + private JobTemplateInitContainerEnv( + string name, + + string? secretName, + + string? value) + { + Name = name; + SecretName = secretName; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerVolumeMount.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerVolumeMount.cs new file mode 100644 index 0000000000..00aab11aa0 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateInitContainerVolumeMount.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateInitContainerVolumeMount + { + /// + /// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + /// + public readonly string Name; + /// + /// The path within the container at which the volume should be mounted. Must not contain `:`. + /// + public readonly string Path; + + [OutputConstructor] + private JobTemplateInitContainerVolumeMount( + string name, + + string path) + { + Name = name; + Path = path; + } + } +} diff --git a/sdk/dotnet/ContainerApp/Outputs/JobTemplateVolume.cs b/sdk/dotnet/ContainerApp/Outputs/JobTemplateVolume.cs new file mode 100644 index 0000000000..301e085f14 --- /dev/null +++ b/sdk/dotnet/ContainerApp/Outputs/JobTemplateVolume.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.ContainerApp.Outputs +{ + + [OutputType] + public sealed class JobTemplateVolume + { + /// + /// The name of the volume. + /// + public readonly string Name; + /// + /// The name of the storage to use for the volume. + /// + public readonly string? StorageName; + /// + /// The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + /// + public readonly string? StorageType; + + [OutputConstructor] + private JobTemplateVolume( + string name, + + string? storageName, + + string? storageType) + { + Name = name; + StorageName = storageName; + StorageType = storageType; + } + } +} diff --git a/sdk/dotnet/DataFactory/CredentialServicePrincipal.cs b/sdk/dotnet/DataFactory/CredentialServicePrincipal.cs new file mode 100644 index 0000000000..822331bf03 --- /dev/null +++ b/sdk/dotnet/DataFactory/CredentialServicePrincipal.cs @@ -0,0 +1,316 @@ +// *** 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.Azure.DataFactory +{ + /// + /// Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Azure.Core.GetClientConfig.Invoke(); + /// + /// var example = new Azure.Core.ResourceGroup("example", new() + /// { + /// Name = "example-resources", + /// Location = "westeurope", + /// }); + /// + /// var exampleFactory = new Azure.DataFactory.Factory("example", new() + /// { + /// Name = "example", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// }); + /// + /// var exampleKeyVault = new Azure.KeyVault.KeyVault("example", new() + /// { + /// Name = "example", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId), + /// SkuName = "premium", + /// SoftDeleteRetentionDays = 7, + /// AccessPolicies = new[] + /// { + /// new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs + /// { + /// TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId), + /// ObjectId = current.Apply(getClientConfigResult => getClientConfigResult.ObjectId), + /// KeyPermissions = new[] + /// { + /// "Create", + /// "Get", + /// }, + /// SecretPermissions = new[] + /// { + /// "Set", + /// "Get", + /// "Delete", + /// "Purge", + /// "Recover", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleSecret = new Azure.KeyVault.Secret("example", new() + /// { + /// Name = "example", + /// Value = "example-secret", + /// KeyVaultId = exampleKeyVault.Id, + /// }); + /// + /// var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault("example", new() + /// { + /// Name = "example", + /// DataFactoryId = exampleFactory.Id, + /// KeyVaultId = exampleKeyVault.Id, + /// }); + /// + /// var exampleCredentialServicePrincipal = new Azure.DataFactory.CredentialServicePrincipal("example", new() + /// { + /// Name = "example", + /// Description = "example description", + /// DataFactoryId = exampleFactory.Id, + /// TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId), + /// ServicePrincipalId = current.Apply(getClientConfigResult => getClientConfigResult.ClientId), + /// ServicePrincipalKey = new Azure.DataFactory.Inputs.CredentialServicePrincipalServicePrincipalKeyArgs + /// { + /// LinkedServiceName = exampleLinkedServiceKeyVault.Name, + /// SecretName = exampleSecret.Name, + /// SecretVersion = exampleSecret.Version, + /// }, + /// Annotations = new[] + /// { + /// "1", + /// "2", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Data Factory Credentials can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 + /// ``` + /// + [AzureResourceType("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal")] + public partial class CredentialServicePrincipal : global::Pulumi.CustomResource + { + /// + /// List of tags that can be used for describing the Data Factory Credential. + /// + [Output("annotations")] + public Output> Annotations { get; private set; } = null!; + + /// + /// The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + /// + [Output("dataFactoryId")] + public Output DataFactoryId { get; private set; } = null!; + + /// + /// The description for the Data Factory Credential. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Specifies the name of the Credential. Changing this forces a new resource to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The Client ID of the Service Principal. + /// + [Output("servicePrincipalId")] + public Output ServicePrincipalId { get; private set; } = null!; + + /// + /// A `service_principal_key` block as defined below. + /// + [Output("servicePrincipalKey")] + public Output ServicePrincipalKey { get; private set; } = null!; + + /// + /// The Tenant ID of the Service Principal. + /// + [Output("tenantId")] + public Output TenantId { get; private set; } = null!; + + + /// + /// Create a CredentialServicePrincipal resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CredentialServicePrincipal(string name, CredentialServicePrincipalArgs args, CustomResourceOptions? options = null) + : base("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, args ?? new CredentialServicePrincipalArgs(), MakeResourceOptions(options, "")) + { + } + + private CredentialServicePrincipal(string name, Input id, CredentialServicePrincipalState? state = null, CustomResourceOptions? options = null) + : base("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CredentialServicePrincipal resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static CredentialServicePrincipal Get(string name, Input id, CredentialServicePrincipalState? state = null, CustomResourceOptions? options = null) + { + return new CredentialServicePrincipal(name, id, state, options); + } + } + + public sealed class CredentialServicePrincipalArgs : global::Pulumi.ResourceArgs + { + [Input("annotations")] + private InputList? _annotations; + + /// + /// List of tags that can be used for describing the Data Factory Credential. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + + /// + /// The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + /// + [Input("dataFactoryId", required: true)] + public Input DataFactoryId { get; set; } = null!; + + /// + /// The description for the Data Factory Credential. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specifies the name of the Credential. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The Client ID of the Service Principal. + /// + [Input("servicePrincipalId", required: true)] + public Input ServicePrincipalId { get; set; } = null!; + + /// + /// A `service_principal_key` block as defined below. + /// + [Input("servicePrincipalKey")] + public Input? ServicePrincipalKey { get; set; } + + /// + /// The Tenant ID of the Service Principal. + /// + [Input("tenantId", required: true)] + public Input TenantId { get; set; } = null!; + + public CredentialServicePrincipalArgs() + { + } + public static new CredentialServicePrincipalArgs Empty => new CredentialServicePrincipalArgs(); + } + + public sealed class CredentialServicePrincipalState : global::Pulumi.ResourceArgs + { + [Input("annotations")] + private InputList? _annotations; + + /// + /// List of tags that can be used for describing the Data Factory Credential. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + + /// + /// The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + /// + [Input("dataFactoryId")] + public Input? DataFactoryId { get; set; } + + /// + /// The description for the Data Factory Credential. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specifies the name of the Credential. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The Client ID of the Service Principal. + /// + [Input("servicePrincipalId")] + public Input? ServicePrincipalId { get; set; } + + /// + /// A `service_principal_key` block as defined below. + /// + [Input("servicePrincipalKey")] + public Input? ServicePrincipalKey { get; set; } + + /// + /// The Tenant ID of the Service Principal. + /// + [Input("tenantId")] + public Input? TenantId { get; set; } + + public CredentialServicePrincipalState() + { + } + public static new CredentialServicePrincipalState Empty => new CredentialServicePrincipalState(); + } +} diff --git a/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyArgs.cs b/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyArgs.cs new file mode 100644 index 0000000000..ff04ffa19c --- /dev/null +++ b/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.DataFactory.Inputs +{ + + public sealed class CredentialServicePrincipalServicePrincipalKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the Linked Service to use for the Service Principal Key. + /// + [Input("linkedServiceName", required: true)] + public Input LinkedServiceName { get; set; } = null!; + + /// + /// The name of the Secret in the Key Vault. + /// + [Input("secretName", required: true)] + public Input SecretName { get; set; } = null!; + + /// + /// The version of the Secret in the Key Vault. + /// + [Input("secretVersion")] + public Input? SecretVersion { get; set; } + + public CredentialServicePrincipalServicePrincipalKeyArgs() + { + } + public static new CredentialServicePrincipalServicePrincipalKeyArgs Empty => new CredentialServicePrincipalServicePrincipalKeyArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyGetArgs.cs b/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyGetArgs.cs new file mode 100644 index 0000000000..def9522612 --- /dev/null +++ b/sdk/dotnet/DataFactory/Inputs/CredentialServicePrincipalServicePrincipalKeyGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.DataFactory.Inputs +{ + + public sealed class CredentialServicePrincipalServicePrincipalKeyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the Linked Service to use for the Service Principal Key. + /// + [Input("linkedServiceName", required: true)] + public Input LinkedServiceName { get; set; } = null!; + + /// + /// The name of the Secret in the Key Vault. + /// + [Input("secretName", required: true)] + public Input SecretName { get; set; } = null!; + + /// + /// The version of the Secret in the Key Vault. + /// + [Input("secretVersion")] + public Input? SecretVersion { get; set; } + + public CredentialServicePrincipalServicePrincipalKeyGetArgs() + { + } + public static new CredentialServicePrincipalServicePrincipalKeyGetArgs Empty => new CredentialServicePrincipalServicePrincipalKeyGetArgs(); + } +} diff --git a/sdk/dotnet/DataFactory/Outputs/CredentialServicePrincipalServicePrincipalKey.cs b/sdk/dotnet/DataFactory/Outputs/CredentialServicePrincipalServicePrincipalKey.cs new file mode 100644 index 0000000000..af939fe268 --- /dev/null +++ b/sdk/dotnet/DataFactory/Outputs/CredentialServicePrincipalServicePrincipalKey.cs @@ -0,0 +1,42 @@ +// *** 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.Azure.DataFactory.Outputs +{ + + [OutputType] + public sealed class CredentialServicePrincipalServicePrincipalKey + { + /// + /// The name of the Linked Service to use for the Service Principal Key. + /// + public readonly string LinkedServiceName; + /// + /// The name of the Secret in the Key Vault. + /// + public readonly string SecretName; + /// + /// The version of the Secret in the Key Vault. + /// + public readonly string? SecretVersion; + + [OutputConstructor] + private CredentialServicePrincipalServicePrincipalKey( + string linkedServiceName, + + string secretName, + + string? secretVersion) + { + LinkedServiceName = linkedServiceName; + SecretName = secretName; + SecretVersion = secretVersion; + } + } +} diff --git a/sdk/dotnet/Inputs/ProviderFeaturesArgs.cs b/sdk/dotnet/Inputs/ProviderFeaturesArgs.cs index 43ef951e1e..a6da607b08 100644 --- a/sdk/dotnet/Inputs/ProviderFeaturesArgs.cs +++ b/sdk/dotnet/Inputs/ProviderFeaturesArgs.cs @@ -42,6 +42,9 @@ public sealed class ProviderFeaturesArgs : global::Pulumi.ResourceArgs [Input("recoveryService")] public Input? RecoveryService { get; set; } + [Input("recoveryServicesVaults")] + public Input? RecoveryServicesVaults { get; set; } + [Input("resourceGroup")] public Input? ResourceGroup { get; set; } diff --git a/sdk/dotnet/Inputs/ProviderFeaturesRecoveryServicesVaultsArgs.cs b/sdk/dotnet/Inputs/ProviderFeaturesRecoveryServicesVaultsArgs.cs new file mode 100644 index 0000000000..c08bae6804 --- /dev/null +++ b/sdk/dotnet/Inputs/ProviderFeaturesRecoveryServicesVaultsArgs.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.Azure.Inputs +{ + + public sealed class ProviderFeaturesRecoveryServicesVaultsArgs : global::Pulumi.ResourceArgs + { + [Input("recoverSoftDeletedBackupProtectedVm")] + public Input? RecoverSoftDeletedBackupProtectedVm { get; set; } + + public ProviderFeaturesRecoveryServicesVaultsArgs() + { + } + public static new ProviderFeaturesRecoveryServicesVaultsArgs Empty => new ProviderFeaturesRecoveryServicesVaultsArgs(); + } +} diff --git a/sdk/dotnet/MSSql/Database.cs b/sdk/dotnet/MSSql/Database.cs index 1b4e041472..f13b880fac 100644 --- a/sdk/dotnet/MSSql/Database.cs +++ b/sdk/dotnet/MSSql/Database.cs @@ -416,6 +416,8 @@ public partial class Database : global::Pulumi.CustomResource /// /// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + /// + /// > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. /// [Output("transparentDataEncryptionKeyAutomaticRotationEnabled")] public Output TransparentDataEncryptionKeyAutomaticRotationEnabled { get; private set; } = null!; @@ -700,6 +702,8 @@ public InputMap Tags /// /// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + /// + /// > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. /// [Input("transparentDataEncryptionKeyAutomaticRotationEnabled")] public Input? TransparentDataEncryptionKeyAutomaticRotationEnabled { get; set; } @@ -946,6 +950,8 @@ public InputMap Tags /// /// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + /// + /// > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. /// [Input("transparentDataEncryptionKeyAutomaticRotationEnabled")] public Input? TransparentDataEncryptionKeyAutomaticRotationEnabled { get; set; } diff --git a/sdk/dotnet/Maintenance/AssignmentDynamicScope.cs b/sdk/dotnet/Maintenance/AssignmentDynamicScope.cs new file mode 100644 index 0000000000..511188d2b6 --- /dev/null +++ b/sdk/dotnet/Maintenance/AssignmentDynamicScope.cs @@ -0,0 +1,147 @@ +// *** 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.Azure.Maintenance +{ + /// + /// Manages a Dynamic Maintenance Assignment. + /// + /// > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. + /// + /// ## Import + /// + /// Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName + /// ``` + /// + [AzureResourceType("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope")] + public partial class AssignmentDynamicScope : global::Pulumi.CustomResource + { + /// + /// A `filter` block as defined below. + /// + [Output("filter")] + public Output Filter { get; private set; } = null!; + + /// + /// The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + [Output("maintenanceConfigurationId")] + public Output MaintenanceConfigurationId { get; private set; } = null!; + + /// + /// The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + /// > **Note:** The `name` must be unique per subscription. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a AssignmentDynamicScope resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AssignmentDynamicScope(string name, AssignmentDynamicScopeArgs args, CustomResourceOptions? options = null) + : base("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, args ?? new AssignmentDynamicScopeArgs(), MakeResourceOptions(options, "")) + { + } + + private AssignmentDynamicScope(string name, Input id, AssignmentDynamicScopeState? state = null, CustomResourceOptions? options = null) + : base("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AssignmentDynamicScope resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AssignmentDynamicScope Get(string name, Input id, AssignmentDynamicScopeState? state = null, CustomResourceOptions? options = null) + { + return new AssignmentDynamicScope(name, id, state, options); + } + } + + public sealed class AssignmentDynamicScopeArgs : global::Pulumi.ResourceArgs + { + /// + /// A `filter` block as defined below. + /// + [Input("filter", required: true)] + public Input Filter { get; set; } = null!; + + /// + /// The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + [Input("maintenanceConfigurationId", required: true)] + public Input MaintenanceConfigurationId { get; set; } = null!; + + /// + /// The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + /// > **Note:** The `name` must be unique per subscription. + /// + [Input("name")] + public Input? Name { get; set; } + + public AssignmentDynamicScopeArgs() + { + } + public static new AssignmentDynamicScopeArgs Empty => new AssignmentDynamicScopeArgs(); + } + + public sealed class AssignmentDynamicScopeState : global::Pulumi.ResourceArgs + { + /// + /// A `filter` block as defined below. + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + [Input("maintenanceConfigurationId")] + public Input? MaintenanceConfigurationId { get; set; } + + /// + /// The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + /// + /// > **Note:** The `name` must be unique per subscription. + /// + [Input("name")] + public Input? Name { get; set; } + + public AssignmentDynamicScopeState() + { + } + public static new AssignmentDynamicScopeState Empty => new AssignmentDynamicScopeState(); + } +} diff --git a/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterArgs.cs b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterArgs.cs new file mode 100644 index 0000000000..438de37fa3 --- /dev/null +++ b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Azure.Maintenance.Inputs +{ + + public sealed class AssignmentDynamicScopeFilterArgs : global::Pulumi.ResourceArgs + { + [Input("locations")] + private InputList? _locations; + + /// + /// Specifies a list of locations to scope the query to. + /// + public InputList Locations + { + get => _locations ?? (_locations = new InputList()); + set => _locations = value; + } + + [Input("osTypes")] + private InputList? _osTypes; + + /// + /// Specifies a list of allowed operating systems. + /// + public InputList OsTypes + { + get => _osTypes ?? (_osTypes = new InputList()); + set => _osTypes = value; + } + + [Input("resourceGroups")] + private InputList? _resourceGroups; + + /// + /// Specifies a list of allowed resource groups. + /// + public InputList ResourceGroups + { + get => _resourceGroups ?? (_resourceGroups = new InputList()); + set => _resourceGroups = value; + } + + [Input("resourceTypes")] + private InputList? _resourceTypes; + + /// + /// Specifies a list of allowed resources. + /// + public InputList ResourceTypes + { + get => _resourceTypes ?? (_resourceTypes = new InputList()); + set => _resourceTypes = value; + } + + /// + /// Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + /// + [Input("tagFilter")] + public Input? TagFilter { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A mapping of tags for the VM + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public AssignmentDynamicScopeFilterArgs() + { + } + public static new AssignmentDynamicScopeFilterArgs Empty => new AssignmentDynamicScopeFilterArgs(); + } +} diff --git a/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterGetArgs.cs b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterGetArgs.cs new file mode 100644 index 0000000000..72b6ec2484 --- /dev/null +++ b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterGetArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Azure.Maintenance.Inputs +{ + + public sealed class AssignmentDynamicScopeFilterGetArgs : global::Pulumi.ResourceArgs + { + [Input("locations")] + private InputList? _locations; + + /// + /// Specifies a list of locations to scope the query to. + /// + public InputList Locations + { + get => _locations ?? (_locations = new InputList()); + set => _locations = value; + } + + [Input("osTypes")] + private InputList? _osTypes; + + /// + /// Specifies a list of allowed operating systems. + /// + public InputList OsTypes + { + get => _osTypes ?? (_osTypes = new InputList()); + set => _osTypes = value; + } + + [Input("resourceGroups")] + private InputList? _resourceGroups; + + /// + /// Specifies a list of allowed resource groups. + /// + public InputList ResourceGroups + { + get => _resourceGroups ?? (_resourceGroups = new InputList()); + set => _resourceGroups = value; + } + + [Input("resourceTypes")] + private InputList? _resourceTypes; + + /// + /// Specifies a list of allowed resources. + /// + public InputList ResourceTypes + { + get => _resourceTypes ?? (_resourceTypes = new InputList()); + set => _resourceTypes = value; + } + + /// + /// Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + /// + [Input("tagFilter")] + public Input? TagFilter { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A mapping of tags for the VM + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public AssignmentDynamicScopeFilterGetArgs() + { + } + public static new AssignmentDynamicScopeFilterGetArgs Empty => new AssignmentDynamicScopeFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagArgs.cs b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagArgs.cs new file mode 100644 index 0000000000..27478d54f9 --- /dev/null +++ b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.Maintenance.Inputs +{ + + public sealed class AssignmentDynamicScopeFilterTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the tag to filter by. + /// + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Specifies a list of values the defined tag can have. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public AssignmentDynamicScopeFilterTagArgs() + { + } + public static new AssignmentDynamicScopeFilterTagArgs Empty => new AssignmentDynamicScopeFilterTagArgs(); + } +} diff --git a/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagGetArgs.cs b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagGetArgs.cs new file mode 100644 index 0000000000..32f1ba26dd --- /dev/null +++ b/sdk/dotnet/Maintenance/Inputs/AssignmentDynamicScopeFilterTagGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Azure.Maintenance.Inputs +{ + + public sealed class AssignmentDynamicScopeFilterTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the tag to filter by. + /// + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Specifies a list of values the defined tag can have. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public AssignmentDynamicScopeFilterTagGetArgs() + { + } + public static new AssignmentDynamicScopeFilterTagGetArgs Empty => new AssignmentDynamicScopeFilterTagGetArgs(); + } +} diff --git a/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilter.cs b/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilter.cs new file mode 100644 index 0000000000..b33f5d6681 --- /dev/null +++ b/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilter.cs @@ -0,0 +1,63 @@ +// *** 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.Azure.Maintenance.Outputs +{ + + [OutputType] + public sealed class AssignmentDynamicScopeFilter + { + /// + /// Specifies a list of locations to scope the query to. + /// + public readonly ImmutableArray Locations; + /// + /// Specifies a list of allowed operating systems. + /// + public readonly ImmutableArray OsTypes; + /// + /// Specifies a list of allowed resource groups. + /// + public readonly ImmutableArray ResourceGroups; + /// + /// Specifies a list of allowed resources. + /// + public readonly ImmutableArray ResourceTypes; + /// + /// Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + /// + public readonly string? TagFilter; + /// + /// A mapping of tags for the VM + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private AssignmentDynamicScopeFilter( + ImmutableArray locations, + + ImmutableArray osTypes, + + ImmutableArray resourceGroups, + + ImmutableArray resourceTypes, + + string? tagFilter, + + ImmutableArray tags) + { + Locations = locations; + OsTypes = osTypes; + ResourceGroups = resourceGroups; + ResourceTypes = resourceTypes; + TagFilter = tagFilter; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilterTag.cs b/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilterTag.cs new file mode 100644 index 0000000000..8b63f78914 --- /dev/null +++ b/sdk/dotnet/Maintenance/Outputs/AssignmentDynamicScopeFilterTag.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.Maintenance.Outputs +{ + + [OutputType] + public sealed class AssignmentDynamicScopeFilterTag + { + /// + /// Specifies the tag to filter by. + /// + public readonly string Tag; + /// + /// Specifies a list of values the defined tag can have. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private AssignmentDynamicScopeFilterTag( + string tag, + + ImmutableArray values) + { + Tag = tag; + Values = values; + } + } +} diff --git a/sdk/dotnet/Network/GetNetworkManagerConnectivityConfiguration.cs b/sdk/dotnet/Network/GetNetworkManagerConnectivityConfiguration.cs new file mode 100644 index 0000000000..0df3cf014d --- /dev/null +++ b/sdk/dotnet/Network/GetNetworkManagerConnectivityConfiguration.cs @@ -0,0 +1,180 @@ +// *** 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.Azure.Network +{ + public static class GetNetworkManagerConnectivityConfiguration + { + /// + /// Use this data source to access information about an existing Network Manager Connectivity Configuration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Azure.Network.GetNetworkManagerConnectivityConfiguration.Invoke(new() + /// { + /// Name = "existing", + /// NetworkManagerId = "TODO", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getNetworkManagerConnectivityConfigurationResult => getNetworkManagerConnectivityConfigurationResult.Id), + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(GetNetworkManagerConnectivityConfigurationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", args ?? new GetNetworkManagerConnectivityConfigurationArgs(), options.WithDefaults()); + + /// + /// Use this data source to access information about an existing Network Manager Connectivity Configuration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Azure.Network.GetNetworkManagerConnectivityConfiguration.Invoke(new() + /// { + /// Name = "existing", + /// NetworkManagerId = "TODO", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["id"] = example.Apply(getNetworkManagerConnectivityConfigurationResult => getNetworkManagerConnectivityConfigurationResult.Id), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetNetworkManagerConnectivityConfigurationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", args ?? new GetNetworkManagerConnectivityConfigurationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNetworkManagerConnectivityConfigurationArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of this Network Manager Connectivity Configuration. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// The ID of the Network Manager. + /// + [Input("networkManagerId", required: true)] + public string NetworkManagerId { get; set; } = null!; + + public GetNetworkManagerConnectivityConfigurationArgs() + { + } + public static new GetNetworkManagerConnectivityConfigurationArgs Empty => new GetNetworkManagerConnectivityConfigurationArgs(); + } + + public sealed class GetNetworkManagerConnectivityConfigurationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of this Network Manager Connectivity Configuration. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The ID of the Network Manager. + /// + [Input("networkManagerId", required: true)] + public Input NetworkManagerId { get; set; } = null!; + + public GetNetworkManagerConnectivityConfigurationInvokeArgs() + { + } + public static new GetNetworkManagerConnectivityConfigurationInvokeArgs Empty => new GetNetworkManagerConnectivityConfigurationInvokeArgs(); + } + + + [OutputType] + public sealed class GetNetworkManagerConnectivityConfigurationResult + { + /// + /// An `applies_to_group` block as defined below. + /// + public readonly ImmutableArray AppliesToGroups; + /// + /// The connectivity topology type. + /// + public readonly string ConnectivityTopology; + /// + /// Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + /// + public readonly bool DeleteExistingPeeringEnabled; + /// + /// The description of the Connectivity Configuration. + /// + public readonly string Description; + /// + /// Whether global mesh is supported. + /// + public readonly bool GlobalMeshEnabled; + /// + /// A `hub` block as defined below. + /// + public readonly ImmutableArray Hubs; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string Name; + public readonly string NetworkManagerId; + + [OutputConstructor] + private GetNetworkManagerConnectivityConfigurationResult( + ImmutableArray appliesToGroups, + + string connectivityTopology, + + bool deleteExistingPeeringEnabled, + + string description, + + bool globalMeshEnabled, + + ImmutableArray hubs, + + string id, + + string name, + + string networkManagerId) + { + AppliesToGroups = appliesToGroups; + ConnectivityTopology = connectivityTopology; + DeleteExistingPeeringEnabled = deleteExistingPeeringEnabled; + Description = description; + GlobalMeshEnabled = globalMeshEnabled; + Hubs = hubs; + Id = id; + Name = name; + NetworkManagerId = networkManagerId; + } + } +} diff --git a/sdk/dotnet/Network/GetSubnet.cs b/sdk/dotnet/Network/GetSubnet.cs index e0f01db71d..792abe4882 100644 --- a/sdk/dotnet/Network/GetSubnet.cs +++ b/sdk/dotnet/Network/GetSubnet.cs @@ -148,6 +148,7 @@ public sealed class GetSubnetResult /// /// Enable or Disable network policies for the private endpoint on the subnet. /// + public readonly string PrivateEndpointNetworkPolicies; public readonly bool PrivateEndpointNetworkPoliciesEnabled; /// /// Enable or Disable network policies for the private link service on the subnet. @@ -180,6 +181,8 @@ private GetSubnetResult( string networkSecurityGroupId, + string privateEndpointNetworkPolicies, + bool privateEndpointNetworkPoliciesEnabled, bool privateLinkServiceNetworkPoliciesEnabled, @@ -199,6 +202,7 @@ private GetSubnetResult( Id = id; Name = name; NetworkSecurityGroupId = networkSecurityGroupId; + PrivateEndpointNetworkPolicies = privateEndpointNetworkPolicies; PrivateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; PrivateLinkServiceNetworkPoliciesEnabled = privateLinkServiceNetworkPoliciesEnabled; ResourceGroupName = resourceGroupName; diff --git a/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionArgs.cs b/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionArgs.cs index 9f0a3f71f9..5f9ddf5166 100644 --- a/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionArgs.cs +++ b/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionArgs.cs @@ -14,6 +14,8 @@ public sealed class VirtualNetworkEncryptionArgs : global::Pulumi.ResourceArgs { /// /// Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + /// + /// > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. /// [Input("enforcement", required: true)] public Input Enforcement { get; set; } = null!; diff --git a/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionGetArgs.cs b/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionGetArgs.cs index 862123f26a..e517093166 100644 --- a/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionGetArgs.cs +++ b/sdk/dotnet/Network/Inputs/VirtualNetworkEncryptionGetArgs.cs @@ -14,6 +14,8 @@ public sealed class VirtualNetworkEncryptionGetArgs : global::Pulumi.ResourceArg { /// /// Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + /// + /// > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. /// [Input("enforcement", required: true)] public Input Enforcement { get; set; } = null!; diff --git a/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroupResult.cs b/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroupResult.cs new file mode 100644 index 0000000000..9d815bbcc4 --- /dev/null +++ b/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroupResult.cs @@ -0,0 +1,49 @@ +// *** 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.Azure.Network.Outputs +{ + + [OutputType] + public sealed class GetNetworkManagerConnectivityConfigurationAppliesToGroupResult + { + /// + /// Whether global mesh is supported. + /// + public readonly bool GlobalMeshEnabled; + /// + /// The group connectivity type. + /// + public readonly string GroupConnectivity; + /// + /// The ID of the Network Manager Network Group. + /// + public readonly string NetworkGroupId; + /// + /// Whether hub gateway is used. + /// + public readonly bool UseHubGateway; + + [OutputConstructor] + private GetNetworkManagerConnectivityConfigurationAppliesToGroupResult( + bool globalMeshEnabled, + + string groupConnectivity, + + string networkGroupId, + + bool useHubGateway) + { + GlobalMeshEnabled = globalMeshEnabled; + GroupConnectivity = groupConnectivity; + NetworkGroupId = networkGroupId; + UseHubGateway = useHubGateway; + } + } +} diff --git a/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationHubResult.cs b/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationHubResult.cs new file mode 100644 index 0000000000..00307cf77e --- /dev/null +++ b/sdk/dotnet/Network/Outputs/GetNetworkManagerConnectivityConfigurationHubResult.cs @@ -0,0 +1,35 @@ +// *** 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.Azure.Network.Outputs +{ + + [OutputType] + public sealed class GetNetworkManagerConnectivityConfigurationHubResult + { + /// + /// The resource ID used as hub in Hub and Spoke topology. + /// + public readonly string ResourceId; + /// + /// The resource type used as hub in Hub and Spoke topology. + /// + public readonly string ResourceType; + + [OutputConstructor] + private GetNetworkManagerConnectivityConfigurationHubResult( + string resourceId, + + string resourceType) + { + ResourceId = resourceId; + ResourceType = resourceType; + } + } +} diff --git a/sdk/dotnet/Network/Outputs/VirtualNetworkEncryption.cs b/sdk/dotnet/Network/Outputs/VirtualNetworkEncryption.cs index 85c4bf2ea4..717557786c 100644 --- a/sdk/dotnet/Network/Outputs/VirtualNetworkEncryption.cs +++ b/sdk/dotnet/Network/Outputs/VirtualNetworkEncryption.cs @@ -15,6 +15,8 @@ public sealed class VirtualNetworkEncryption { /// /// Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + /// + /// > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. /// public readonly string Enforcement; diff --git a/sdk/dotnet/Network/Profile.cs b/sdk/dotnet/Network/Profile.cs index b64fc08341..1638fa0c80 100644 --- a/sdk/dotnet/Network/Profile.cs +++ b/sdk/dotnet/Network/Profile.cs @@ -129,7 +129,7 @@ public partial class Profile : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// A mapping of tags to assign to the resource. + /// A mapping of tags assigned to the resource. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -208,7 +208,7 @@ public sealed class ProfileArgs : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// A mapping of tags to assign to the resource. + /// A mapping of tags assigned to the resource. /// public InputMap Tags { @@ -264,7 +264,7 @@ public InputList ContainerNetworkInterfaceIds private InputMap? _tags; /// - /// A mapping of tags to assign to the resource. + /// A mapping of tags assigned to the resource. /// public InputMap Tags { diff --git a/sdk/dotnet/Network/Subnet.cs b/sdk/dotnet/Network/Subnet.cs index 4745e35902..16dec9d1b0 100644 --- a/sdk/dotnet/Network/Subnet.cs +++ b/sdk/dotnet/Network/Subnet.cs @@ -111,10 +111,13 @@ public partial class Subnet : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + /// Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. /// - /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. /// + [Output("privateEndpointNetworkPolicies")] + public Output PrivateEndpointNetworkPolicies { get; private set; } = null!; + [Output("privateEndpointNetworkPoliciesEnabled")] public Output PrivateEndpointNetworkPoliciesEnabled { get; private set; } = null!; @@ -127,7 +130,7 @@ public partial class Subnet : global::Pulumi.CustomResource public Output PrivateLinkServiceNetworkPoliciesEnabled { get; private set; } = null!; /// - /// The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + /// The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. /// [Output("resourceGroupName")] public Output ResourceGroupName { get; private set; } = null!; @@ -237,10 +240,13 @@ public InputList Delegations public Input? Name { get; set; } /// - /// Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + /// Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. /// - /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. /// + [Input("privateEndpointNetworkPolicies")] + public Input? PrivateEndpointNetworkPolicies { get; set; } + [Input("privateEndpointNetworkPoliciesEnabled")] public Input? PrivateEndpointNetworkPoliciesEnabled { get; set; } @@ -253,7 +259,7 @@ public InputList Delegations public Input? PrivateLinkServiceNetworkPoliciesEnabled { get; set; } /// - /// The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + /// The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. /// [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; @@ -337,10 +343,13 @@ public InputList Delegations public Input? Name { get; set; } /// - /// Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + /// Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. /// - /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + /// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. /// + [Input("privateEndpointNetworkPolicies")] + public Input? PrivateEndpointNetworkPolicies { get; set; } + [Input("privateEndpointNetworkPoliciesEnabled")] public Input? PrivateEndpointNetworkPoliciesEnabled { get; set; } @@ -353,7 +362,7 @@ public InputList Delegations public Input? PrivateLinkServiceNetworkPoliciesEnabled { get; set; } /// - /// The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + /// The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. /// [Input("resourceGroupName")] public Input? ResourceGroupName { get; set; } diff --git a/sdk/dotnet/PostgreSql/FlexibleServer.cs b/sdk/dotnet/PostgreSql/FlexibleServer.cs index 2311b1fab6..99e1341ced 100644 --- a/sdk/dotnet/PostgreSql/FlexibleServer.cs +++ b/sdk/dotnet/PostgreSql/FlexibleServer.cs @@ -169,7 +169,9 @@ public partial class FlexibleServer : global::Pulumi.CustomResource public Output BackupRetentionDays { get; private set; } = null!; /// - /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + /// + /// > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. /// /// > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. /// @@ -408,7 +410,9 @@ public Input? AdministratorPassword public Input? BackupRetentionDays { get; set; } /// - /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + /// + /// > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. /// /// > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. /// @@ -599,7 +603,9 @@ public Input? AdministratorPassword public Input? BackupRetentionDays { get; set; } /// - /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + /// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + /// + /// > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. /// /// > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. /// diff --git a/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.cs b/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.cs index a9b89d1ee2..702c7af675 100644 --- a/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.cs +++ b/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.cs @@ -18,6 +18,14 @@ public sealed class AccountBlobPropertiesDeleteRetentionPolicyArgs : global::Pul [Input("days")] public Input? Days { get; set; } + /// + /// Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + /// + /// > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + /// + [Input("permanentDeleteEnabled")] + public Input? PermanentDeleteEnabled { get; set; } + public AccountBlobPropertiesDeleteRetentionPolicyArgs() { } diff --git a/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyGetArgs.cs b/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyGetArgs.cs index a00b172399..8fe432494a 100644 --- a/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyGetArgs.cs +++ b/sdk/dotnet/Storage/Inputs/AccountBlobPropertiesDeleteRetentionPolicyGetArgs.cs @@ -18,6 +18,14 @@ public sealed class AccountBlobPropertiesDeleteRetentionPolicyGetArgs : global:: [Input("days")] public Input? Days { get; set; } + /// + /// Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + /// + /// > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + /// + [Input("permanentDeleteEnabled")] + public Input? PermanentDeleteEnabled { get; set; } + public AccountBlobPropertiesDeleteRetentionPolicyGetArgs() { } diff --git a/sdk/dotnet/Storage/Outputs/AccountBlobPropertiesDeleteRetentionPolicy.cs b/sdk/dotnet/Storage/Outputs/AccountBlobPropertiesDeleteRetentionPolicy.cs index 2169b4e246..819640da4e 100644 --- a/sdk/dotnet/Storage/Outputs/AccountBlobPropertiesDeleteRetentionPolicy.cs +++ b/sdk/dotnet/Storage/Outputs/AccountBlobPropertiesDeleteRetentionPolicy.cs @@ -17,11 +17,21 @@ public sealed class AccountBlobPropertiesDeleteRetentionPolicy /// Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. /// public readonly int? Days; + /// + /// Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + /// + /// > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + /// + public readonly bool? PermanentDeleteEnabled; [OutputConstructor] - private AccountBlobPropertiesDeleteRetentionPolicy(int? days) + private AccountBlobPropertiesDeleteRetentionPolicy( + int? days, + + bool? permanentDeleteEnabled) { Days = days; + PermanentDeleteEnabled = permanentDeleteEnabled; } } } diff --git a/sdk/go/azure/appservice/pulumiTypes.go b/sdk/go/azure/appservice/pulumiTypes.go index 16e278228d..bd2fcd0d56 100644 --- a/sdk/go/azure/appservice/pulumiTypes.go +++ b/sdk/go/azure/appservice/pulumiTypes.go @@ -14957,7 +14957,9 @@ type LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -14999,7 +15001,9 @@ type LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -15140,7 +15144,9 @@ func (o LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() return o.ApplyT(func(v LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -15278,7 +15284,9 @@ func (o LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParameter }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -22472,7 +22480,9 @@ type LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -22514,7 +22524,9 @@ type LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -22657,7 +22669,9 @@ func (o LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Output) LoginParamete }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -22795,7 +22809,9 @@ func (o LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParam }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -30418,7 +30434,9 @@ type LinuxWebAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -30460,7 +30478,9 @@ type LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -30597,7 +30617,9 @@ func (o LinuxWebAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() pulu return o.ApplyT(func(v LinuxWebAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxWebAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v LinuxWebAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -30735,7 +30757,9 @@ func (o LinuxWebAppAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParameters() p }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxWebAppAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxWebAppAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -35836,7 +35860,9 @@ func (o LinuxWebAppSiteConfigAutoHealSettingActionPtrOutput) MinimumProcessExecu type LinuxWebAppSiteConfigAutoHealSettingTrigger struct { // A `requests` block as defined above. Requests *LinuxWebAppSiteConfigAutoHealSettingTriggerRequests `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` + // A `slowRequest` blocks as defined above. SlowRequests []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes []LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode `pulumi:"statusCodes"` @@ -35856,7 +35882,9 @@ type LinuxWebAppSiteConfigAutoHealSettingTriggerInput interface { type LinuxWebAppSiteConfigAutoHealSettingTriggerArgs struct { // A `requests` block as defined above. Requests LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsPtrInput `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` + // A `slowRequest` blocks as defined above. SlowRequests LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput `pulumi:"statusCodes"` @@ -35946,7 +35974,14 @@ func (o LinuxWebAppSiteConfigAutoHealSettingTriggerOutput) Requests() LinuxWebAp }).(LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTrigger) []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` blocks as defined above. func (o LinuxWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequests() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTrigger) []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { return v.SlowRequests @@ -35994,7 +36029,17 @@ func (o LinuxWebAppSiteConfigAutoHealSettingTriggerPtrOutput) Requests() LinuxWe }).(LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequestWithPaths() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v *LinuxWebAppSiteConfigAutoHealSettingTrigger) []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + if v == nil { + return nil + } + return v.SlowRequestWithPaths + }).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` blocks as defined above. func (o LinuxWebAppSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequests() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v *LinuxWebAppSiteConfigAutoHealSettingTrigger) []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { if v == nil { @@ -36176,6 +36221,10 @@ type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path for which this slow request rule applies. + // + // > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path *string `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` @@ -36198,6 +36247,10 @@ type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path for which this slow request rule applies. + // + // > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringPtrInput `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` @@ -36265,6 +36318,10 @@ func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Interval() } // The path for which this slow request rule applies. +// +// > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest) *string { return v.Path }).(pulumi.StringPtrOutput) } @@ -36294,6 +36351,130 @@ func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) Index }).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path for which this slow request rule applies. + Path *string `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path for which this slow request rule applies. + Path pulumi.StringPtrInput `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of Slow Requests in the time `interval` to trigger this rule. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path for which this slow request rule applies. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.TimeTaken }).(pulumi.StringOutput) +} + +type LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -39587,7 +39768,9 @@ type LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -39629,7 +39812,9 @@ type LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -39768,7 +39953,9 @@ func (o LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() return o.ApplyT(func(v LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -39906,7 +40093,9 @@ func (o LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -45024,7 +45213,9 @@ func (o LinuxWebAppSlotSiteConfigAutoHealSettingActionPtrOutput) MinimumProcessE type LinuxWebAppSlotSiteConfigAutoHealSettingTrigger struct { // A `requests` block as defined above. Requests *LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode `pulumi:"statusCodes"` @@ -45044,7 +45235,9 @@ type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerInput interface { type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs struct { // A `requests` block as defined above. Requests LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrInput `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayInput `pulumi:"statusCodes"` @@ -45134,7 +45327,14 @@ func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerOutput) Requests() LinuxW }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTrigger) []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerOutput) SlowRequests() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTrigger) []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { return v.SlowRequests @@ -45182,7 +45382,17 @@ func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) Requests() Lin }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequestWithPaths() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v *LinuxWebAppSlotSiteConfigAutoHealSettingTrigger) []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + if v == nil { + return nil + } + return v.SlowRequestWithPaths + }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequests() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v *LinuxWebAppSlotSiteConfigAutoHealSettingTrigger) []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { if v == nil { @@ -45364,6 +45574,10 @@ type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path for which this slow request rule applies. + // + // > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path *string `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` @@ -45386,6 +45600,10 @@ type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path for which this slow request rule applies. + // + // > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringPtrInput `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` @@ -45453,6 +45671,10 @@ func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) Interv } // The path for which this slow request rule applies. +// +// > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest) *string { return v.Path }).(pulumi.StringPtrOutput) } @@ -45482,6 +45704,130 @@ func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) I }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path for which this slow request rule applies. + Path *string `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path for which this slow request rule applies. + Path pulumi.StringPtrInput `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of Slow Requests in the time `interval` to trigger this rule. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path for which this slow request rule applies. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.TimeTaken }).(pulumi.StringOutput) +} + +type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToLinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -55471,7 +55817,9 @@ type WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -55513,7 +55861,9 @@ type WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -55654,7 +56004,9 @@ func (o WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters return o.ApplyT(func(v WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -55792,7 +56144,9 @@ func (o WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParamet }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -62779,7 +63133,9 @@ type WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -62821,7 +63177,9 @@ type WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -62966,7 +63324,9 @@ func (o WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Output) LoginParame }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -63106,7 +63466,9 @@ func (o WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginPar }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -70506,7 +70868,9 @@ type WindowsWebAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -70548,7 +70912,9 @@ type WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -70687,7 +71053,9 @@ func (o WindowsWebAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() pu return o.ApplyT(func(v WindowsWebAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsWebAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v WindowsWebAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -70825,7 +71193,9 @@ func (o WindowsWebAppAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParameters() }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsWebAppAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsWebAppAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -76282,7 +76652,9 @@ type WindowsWebAppSiteConfigAutoHealSettingTrigger struct { PrivateMemoryKb *int `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests *WindowsWebAppSiteConfigAutoHealSettingTriggerRequests `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes []WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode `pulumi:"statusCodes"` @@ -76304,7 +76676,9 @@ type WindowsWebAppSiteConfigAutoHealSettingTriggerArgs struct { PrivateMemoryKb pulumi.IntPtrInput `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsPtrInput `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput `pulumi:"statusCodes"` @@ -76399,7 +76773,14 @@ func (o WindowsWebAppSiteConfigAutoHealSettingTriggerOutput) Requests() WindowsW }).(WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTrigger) []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o WindowsWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequests() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTrigger) []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { return v.SlowRequests @@ -76457,7 +76838,17 @@ func (o WindowsWebAppSiteConfigAutoHealSettingTriggerPtrOutput) Requests() Windo }).(WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequestWithPaths() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v *WindowsWebAppSiteConfigAutoHealSettingTrigger) []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + if v == nil { + return nil + } + return v.SlowRequestWithPaths + }).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o WindowsWebAppSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequests() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v *WindowsWebAppSiteConfigAutoHealSettingTrigger) []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { if v == nil { @@ -76639,6 +77030,8 @@ type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path for which this slow request rule applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path *string `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` @@ -76661,6 +77054,8 @@ type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path for which this slow request rule applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringPtrInput `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` @@ -76728,6 +77123,8 @@ func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Interval } // The path for which this slow request rule applies. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest) *string { return v.Path }).(pulumi.StringPtrOutput) } @@ -76757,6 +77154,130 @@ func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) Ind }).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path for which this slow request rule applies. + Path *string `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path for which this slow request rule applies. + Path pulumi.StringPtrInput `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of Slow Requests in the time `interval` to trigger this rule. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path for which this slow request rule applies. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.TimeTaken }).(pulumi.StringOutput) +} + +type WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -80401,7 +80922,9 @@ type WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled *bool `pulumi:"wwwAuthenticationDisabled"` @@ -80443,7 +80966,9 @@ type WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs to send to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + // + // > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Should the www-authenticate provider should be omitted from the request? Defaults to `false`. WwwAuthenticationDisabled pulumi.BoolPtrInput `pulumi:"wwwAuthenticationDisabled"` @@ -80584,7 +81109,9 @@ func (o WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Output) LoginParameters( return o.ApplyT(func(v WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -80722,7 +81249,9 @@ func (o WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) LoginParamete }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` +// +// > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. func (o WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2PtrOutput) TenantAuthEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2) *string { if v == nil { @@ -86149,7 +86678,9 @@ type WindowsWebAppSlotSiteConfigAutoHealSettingTrigger struct { PrivateMemoryKb *int `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests *WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode `pulumi:"statusCodes"` @@ -86171,7 +86702,9 @@ type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs struct { PrivateMemoryKb pulumi.IntPtrInput `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrInput `pulumi:"requests"` - // One or more `slowRequest` blocks as defined above. + // One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` + // A `slowRequest` block as defined above. SlowRequests WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // One or more `statusCode` blocks as defined above. StatusCodes WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayInput `pulumi:"statusCodes"` @@ -86266,7 +86799,14 @@ func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerOutput) Requests() Wind }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTrigger) []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerOutput) SlowRequests() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTrigger) []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { return v.SlowRequests @@ -86324,7 +86864,17 @@ func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) Requests() W }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput) } -// One or more `slowRequest` blocks as defined above. +// One or more `slowRequestWithPath` blocks as defined above. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequestWithPaths() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v *WindowsWebAppSlotSiteConfigAutoHealSettingTrigger) []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + if v == nil { + return nil + } + return v.SlowRequestWithPaths + }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +// A `slowRequest` block as defined above. func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerPtrOutput) SlowRequests() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v *WindowsWebAppSlotSiteConfigAutoHealSettingTrigger) []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { if v == nil { @@ -86506,6 +87056,8 @@ type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path for which this slow request rule applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path *string `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` @@ -86528,6 +87080,8 @@ type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path for which this slow request rule applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringPtrInput `pulumi:"path"` // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` @@ -86595,6 +87149,8 @@ func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) Inte } // The path for which this slow request rule applies. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest) *string { return v.Path }).(pulumi.StringPtrOutput) } @@ -86624,6 +87180,132 @@ func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path for which this slow request rule applies. + Path *string `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of Slow Requests in the time `interval` to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path for which this slow request rule applies. + Path pulumi.StringPtrInput `pulumi:"path"` + // The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of Slow Requests in the time `interval` to trigger this rule. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path for which this slow request rule applies. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { + return v.TimeTaken + }).(pulumi.StringOutput) +} + +type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToWindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -92831,7 +93513,7 @@ type GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled bool `pulumi:"wwwAuthenticationDisabled"` @@ -92869,7 +93551,7 @@ type GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled pulumi.BoolInput `pulumi:"wwwAuthenticationDisabled"` @@ -92980,7 +93662,7 @@ func (o GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameter return o.ApplyT(func(v GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` func (o GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -97684,7 +98366,7 @@ type GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled bool `pulumi:"wwwAuthenticationDisabled"` @@ -97722,7 +98404,7 @@ type GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled pulumi.BoolInput `pulumi:"wwwAuthenticationDisabled"` @@ -97831,7 +98513,7 @@ func (o GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() p return o.ApplyT(func(v GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` func (o GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -100212,834 +100894,6 @@ func (o GetLinuxWebAppLogHttpLogFileSystemArrayOutput) Index(i pulumi.IntInput) }).(GetLinuxWebAppLogHttpLogFileSystemOutput) } -type GetLinuxWebAppSiteConfig struct { - // Is this Linux Web App is Always On enabled. - AlwaysOn bool `pulumi:"alwaysOn"` - // The ID of the APIM configuration for this Linux Web App. - ApiDefinitionUrl string `pulumi:"apiDefinitionUrl"` - // The ID of the API Management API for this Linux Web App. - ApiManagementApiId string `pulumi:"apiManagementApiId"` - // The command line used to launch this app. - AppCommandLine string `pulumi:"appCommandLine"` - // A `applicationStack` block as defined above. - ApplicationStacks []GetLinuxWebAppSiteConfigApplicationStack `pulumi:"applicationStacks"` - // Are Auto heal rules be enabled. - AutoHealEnabled bool `pulumi:"autoHealEnabled"` - // A `autoHealSetting` block as defined above. - AutoHealSettings []GetLinuxWebAppSiteConfigAutoHealSetting `pulumi:"autoHealSettings"` - // The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. - ContainerRegistryManagedIdentityClientId string `pulumi:"containerRegistryManagedIdentityClientId"` - // Do connections for Azure Container Registry use Managed Identity. - ContainerRegistryUseManagedIdentity bool `pulumi:"containerRegistryUseManagedIdentity"` - // A `cors` block as defined above. - Cors []GetLinuxWebAppSiteConfigCor `pulumi:"cors"` - // The list of Default Documents for the Linux Web App. - DefaultDocuments []string `pulumi:"defaultDocuments"` - // Is Detailed Error Logging enabled. - DetailedErrorLoggingEnabled bool `pulumi:"detailedErrorLoggingEnabled"` - // The State of FTP / FTPS service. - FtpsState string `pulumi:"ftpsState"` - // The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. - HealthCheckEvictionTimeInMin int `pulumi:"healthCheckEvictionTimeInMin"` - // The path to the Health Check endpoint. - HealthCheckPath string `pulumi:"healthCheckPath"` - // Is HTTP2.0 enabled. - Http2Enabled bool `pulumi:"http2Enabled"` - // The Default action for traffic that does not match any `ipRestriction` rule. - IpRestrictionDefaultAction string `pulumi:"ipRestrictionDefaultAction"` - // A `ipRestriction` block as defined above. - IpRestrictions []GetLinuxWebAppSiteConfigIpRestriction `pulumi:"ipRestrictions"` - // The `LinuxFXVersion` string. - LinuxFxVersion string `pulumi:"linuxFxVersion"` - // The site Load Balancing Mode. - LoadBalancingMode string `pulumi:"loadBalancingMode"` - // Is the Local MySQL enabled. - LocalMysqlEnabled bool `pulumi:"localMysqlEnabled"` - // The Managed Pipeline Mode. - ManagedPipelineMode string `pulumi:"managedPipelineMode"` - // The Minimum version of TLS for requests. - MinimumTlsVersion string `pulumi:"minimumTlsVersion"` - // Is Remote Debugging enabled. - RemoteDebuggingEnabled bool `pulumi:"remoteDebuggingEnabled"` - // The Remote Debugging Version. - RemoteDebuggingVersion string `pulumi:"remoteDebuggingVersion"` - // The Default action for traffic that does not match any `scmIpRestriction` rule. - ScmIpRestrictionDefaultAction string `pulumi:"scmIpRestrictionDefaultAction"` - // A `scmIpRestriction` block as defined above. - ScmIpRestrictions []GetLinuxWebAppSiteConfigScmIpRestriction `pulumi:"scmIpRestrictions"` - // The Minimum version of TLS for requests to SCM. - ScmMinimumTlsVersion string `pulumi:"scmMinimumTlsVersion"` - // The Source Control Management Type in use. - ScmType string `pulumi:"scmType"` - // Is the Linux Web App `ipRestriction` configuration used for the SCM also. - ScmUseMainIpRestriction bool `pulumi:"scmUseMainIpRestriction"` - // Does the Linux Web App use a 32-bit worker. - Use32BitWorker bool `pulumi:"use32BitWorker"` - // Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? - VnetRouteAllEnabled bool `pulumi:"vnetRouteAllEnabled"` - // Are Web Sockets enabled? - WebsocketsEnabled bool `pulumi:"websocketsEnabled"` - // The number of Workers for this Linux App Service. - WorkerCount int `pulumi:"workerCount"` -} - -// GetLinuxWebAppSiteConfigInput is an input type that accepts GetLinuxWebAppSiteConfigArgs and GetLinuxWebAppSiteConfigOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigInput` via: -// -// GetLinuxWebAppSiteConfigArgs{...} -type GetLinuxWebAppSiteConfigInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput - ToGetLinuxWebAppSiteConfigOutputWithContext(context.Context) GetLinuxWebAppSiteConfigOutput -} - -type GetLinuxWebAppSiteConfigArgs struct { - // Is this Linux Web App is Always On enabled. - AlwaysOn pulumi.BoolInput `pulumi:"alwaysOn"` - // The ID of the APIM configuration for this Linux Web App. - ApiDefinitionUrl pulumi.StringInput `pulumi:"apiDefinitionUrl"` - // The ID of the API Management API for this Linux Web App. - ApiManagementApiId pulumi.StringInput `pulumi:"apiManagementApiId"` - // The command line used to launch this app. - AppCommandLine pulumi.StringInput `pulumi:"appCommandLine"` - // A `applicationStack` block as defined above. - ApplicationStacks GetLinuxWebAppSiteConfigApplicationStackArrayInput `pulumi:"applicationStacks"` - // Are Auto heal rules be enabled. - AutoHealEnabled pulumi.BoolInput `pulumi:"autoHealEnabled"` - // A `autoHealSetting` block as defined above. - AutoHealSettings GetLinuxWebAppSiteConfigAutoHealSettingArrayInput `pulumi:"autoHealSettings"` - // The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. - ContainerRegistryManagedIdentityClientId pulumi.StringInput `pulumi:"containerRegistryManagedIdentityClientId"` - // Do connections for Azure Container Registry use Managed Identity. - ContainerRegistryUseManagedIdentity pulumi.BoolInput `pulumi:"containerRegistryUseManagedIdentity"` - // A `cors` block as defined above. - Cors GetLinuxWebAppSiteConfigCorArrayInput `pulumi:"cors"` - // The list of Default Documents for the Linux Web App. - DefaultDocuments pulumi.StringArrayInput `pulumi:"defaultDocuments"` - // Is Detailed Error Logging enabled. - DetailedErrorLoggingEnabled pulumi.BoolInput `pulumi:"detailedErrorLoggingEnabled"` - // The State of FTP / FTPS service. - FtpsState pulumi.StringInput `pulumi:"ftpsState"` - // The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. - HealthCheckEvictionTimeInMin pulumi.IntInput `pulumi:"healthCheckEvictionTimeInMin"` - // The path to the Health Check endpoint. - HealthCheckPath pulumi.StringInput `pulumi:"healthCheckPath"` - // Is HTTP2.0 enabled. - Http2Enabled pulumi.BoolInput `pulumi:"http2Enabled"` - // The Default action for traffic that does not match any `ipRestriction` rule. - IpRestrictionDefaultAction pulumi.StringInput `pulumi:"ipRestrictionDefaultAction"` - // A `ipRestriction` block as defined above. - IpRestrictions GetLinuxWebAppSiteConfigIpRestrictionArrayInput `pulumi:"ipRestrictions"` - // The `LinuxFXVersion` string. - LinuxFxVersion pulumi.StringInput `pulumi:"linuxFxVersion"` - // The site Load Balancing Mode. - LoadBalancingMode pulumi.StringInput `pulumi:"loadBalancingMode"` - // Is the Local MySQL enabled. - LocalMysqlEnabled pulumi.BoolInput `pulumi:"localMysqlEnabled"` - // The Managed Pipeline Mode. - ManagedPipelineMode pulumi.StringInput `pulumi:"managedPipelineMode"` - // The Minimum version of TLS for requests. - MinimumTlsVersion pulumi.StringInput `pulumi:"minimumTlsVersion"` - // Is Remote Debugging enabled. - RemoteDebuggingEnabled pulumi.BoolInput `pulumi:"remoteDebuggingEnabled"` - // The Remote Debugging Version. - RemoteDebuggingVersion pulumi.StringInput `pulumi:"remoteDebuggingVersion"` - // The Default action for traffic that does not match any `scmIpRestriction` rule. - ScmIpRestrictionDefaultAction pulumi.StringInput `pulumi:"scmIpRestrictionDefaultAction"` - // A `scmIpRestriction` block as defined above. - ScmIpRestrictions GetLinuxWebAppSiteConfigScmIpRestrictionArrayInput `pulumi:"scmIpRestrictions"` - // The Minimum version of TLS for requests to SCM. - ScmMinimumTlsVersion pulumi.StringInput `pulumi:"scmMinimumTlsVersion"` - // The Source Control Management Type in use. - ScmType pulumi.StringInput `pulumi:"scmType"` - // Is the Linux Web App `ipRestriction` configuration used for the SCM also. - ScmUseMainIpRestriction pulumi.BoolInput `pulumi:"scmUseMainIpRestriction"` - // Does the Linux Web App use a 32-bit worker. - Use32BitWorker pulumi.BoolInput `pulumi:"use32BitWorker"` - // Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? - VnetRouteAllEnabled pulumi.BoolInput `pulumi:"vnetRouteAllEnabled"` - // Are Web Sockets enabled? - WebsocketsEnabled pulumi.BoolInput `pulumi:"websocketsEnabled"` - // The number of Workers for this Linux App Service. - WorkerCount pulumi.IntInput `pulumi:"workerCount"` -} - -func (GetLinuxWebAppSiteConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfig)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigArgs) ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput { - return i.ToGetLinuxWebAppSiteConfigOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigArgs) ToGetLinuxWebAppSiteConfigOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigOutput) -} - -// GetLinuxWebAppSiteConfigArrayInput is an input type that accepts GetLinuxWebAppSiteConfigArray and GetLinuxWebAppSiteConfigArrayOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigArrayInput` via: -// -// GetLinuxWebAppSiteConfigArray{ GetLinuxWebAppSiteConfigArgs{...} } -type GetLinuxWebAppSiteConfigArrayInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput - ToGetLinuxWebAppSiteConfigArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigArrayOutput -} - -type GetLinuxWebAppSiteConfigArray []GetLinuxWebAppSiteConfigInput - -func (GetLinuxWebAppSiteConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfig)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigArray) ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput { - return i.ToGetLinuxWebAppSiteConfigArrayOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigArray) ToGetLinuxWebAppSiteConfigArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigArrayOutput) -} - -type GetLinuxWebAppSiteConfigOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfig)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigOutput) ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigOutput) ToGetLinuxWebAppSiteConfigOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigOutput { - return o -} - -// Is this Linux Web App is Always On enabled. -func (o GetLinuxWebAppSiteConfigOutput) AlwaysOn() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.AlwaysOn }).(pulumi.BoolOutput) -} - -// The ID of the APIM configuration for this Linux Web App. -func (o GetLinuxWebAppSiteConfigOutput) ApiDefinitionUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ApiDefinitionUrl }).(pulumi.StringOutput) -} - -// The ID of the API Management API for this Linux Web App. -func (o GetLinuxWebAppSiteConfigOutput) ApiManagementApiId() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ApiManagementApiId }).(pulumi.StringOutput) -} - -// The command line used to launch this app. -func (o GetLinuxWebAppSiteConfigOutput) AppCommandLine() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.AppCommandLine }).(pulumi.StringOutput) -} - -// A `applicationStack` block as defined above. -func (o GetLinuxWebAppSiteConfigOutput) ApplicationStacks() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigApplicationStack { - return v.ApplicationStacks - }).(GetLinuxWebAppSiteConfigApplicationStackArrayOutput) -} - -// Are Auto heal rules be enabled. -func (o GetLinuxWebAppSiteConfigOutput) AutoHealEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.AutoHealEnabled }).(pulumi.BoolOutput) -} - -// A `autoHealSetting` block as defined above. -func (o GetLinuxWebAppSiteConfigOutput) AutoHealSettings() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigAutoHealSetting { return v.AutoHealSettings }).(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) -} - -// The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. -func (o GetLinuxWebAppSiteConfigOutput) ContainerRegistryManagedIdentityClientId() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ContainerRegistryManagedIdentityClientId }).(pulumi.StringOutput) -} - -// Do connections for Azure Container Registry use Managed Identity. -func (o GetLinuxWebAppSiteConfigOutput) ContainerRegistryUseManagedIdentity() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.ContainerRegistryUseManagedIdentity }).(pulumi.BoolOutput) -} - -// A `cors` block as defined above. -func (o GetLinuxWebAppSiteConfigOutput) Cors() GetLinuxWebAppSiteConfigCorArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigCor { return v.Cors }).(GetLinuxWebAppSiteConfigCorArrayOutput) -} - -// The list of Default Documents for the Linux Web App. -func (o GetLinuxWebAppSiteConfigOutput) DefaultDocuments() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []string { return v.DefaultDocuments }).(pulumi.StringArrayOutput) -} - -// Is Detailed Error Logging enabled. -func (o GetLinuxWebAppSiteConfigOutput) DetailedErrorLoggingEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.DetailedErrorLoggingEnabled }).(pulumi.BoolOutput) -} - -// The State of FTP / FTPS service. -func (o GetLinuxWebAppSiteConfigOutput) FtpsState() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.FtpsState }).(pulumi.StringOutput) -} - -// The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. -func (o GetLinuxWebAppSiteConfigOutput) HealthCheckEvictionTimeInMin() pulumi.IntOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) int { return v.HealthCheckEvictionTimeInMin }).(pulumi.IntOutput) -} - -// The path to the Health Check endpoint. -func (o GetLinuxWebAppSiteConfigOutput) HealthCheckPath() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.HealthCheckPath }).(pulumi.StringOutput) -} - -// Is HTTP2.0 enabled. -func (o GetLinuxWebAppSiteConfigOutput) Http2Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.Http2Enabled }).(pulumi.BoolOutput) -} - -// The Default action for traffic that does not match any `ipRestriction` rule. -func (o GetLinuxWebAppSiteConfigOutput) IpRestrictionDefaultAction() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.IpRestrictionDefaultAction }).(pulumi.StringOutput) -} - -// A `ipRestriction` block as defined above. -func (o GetLinuxWebAppSiteConfigOutput) IpRestrictions() GetLinuxWebAppSiteConfigIpRestrictionArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigIpRestriction { return v.IpRestrictions }).(GetLinuxWebAppSiteConfigIpRestrictionArrayOutput) -} - -// The `LinuxFXVersion` string. -func (o GetLinuxWebAppSiteConfigOutput) LinuxFxVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.LinuxFxVersion }).(pulumi.StringOutput) -} - -// The site Load Balancing Mode. -func (o GetLinuxWebAppSiteConfigOutput) LoadBalancingMode() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.LoadBalancingMode }).(pulumi.StringOutput) -} - -// Is the Local MySQL enabled. -func (o GetLinuxWebAppSiteConfigOutput) LocalMysqlEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.LocalMysqlEnabled }).(pulumi.BoolOutput) -} - -// The Managed Pipeline Mode. -func (o GetLinuxWebAppSiteConfigOutput) ManagedPipelineMode() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ManagedPipelineMode }).(pulumi.StringOutput) -} - -// The Minimum version of TLS for requests. -func (o GetLinuxWebAppSiteConfigOutput) MinimumTlsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.MinimumTlsVersion }).(pulumi.StringOutput) -} - -// Is Remote Debugging enabled. -func (o GetLinuxWebAppSiteConfigOutput) RemoteDebuggingEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.RemoteDebuggingEnabled }).(pulumi.BoolOutput) -} - -// The Remote Debugging Version. -func (o GetLinuxWebAppSiteConfigOutput) RemoteDebuggingVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.RemoteDebuggingVersion }).(pulumi.StringOutput) -} - -// The Default action for traffic that does not match any `scmIpRestriction` rule. -func (o GetLinuxWebAppSiteConfigOutput) ScmIpRestrictionDefaultAction() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmIpRestrictionDefaultAction }).(pulumi.StringOutput) -} - -// A `scmIpRestriction` block as defined above. -func (o GetLinuxWebAppSiteConfigOutput) ScmIpRestrictions() GetLinuxWebAppSiteConfigScmIpRestrictionArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigScmIpRestriction { - return v.ScmIpRestrictions - }).(GetLinuxWebAppSiteConfigScmIpRestrictionArrayOutput) -} - -// The Minimum version of TLS for requests to SCM. -func (o GetLinuxWebAppSiteConfigOutput) ScmMinimumTlsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmMinimumTlsVersion }).(pulumi.StringOutput) -} - -// The Source Control Management Type in use. -func (o GetLinuxWebAppSiteConfigOutput) ScmType() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmType }).(pulumi.StringOutput) -} - -// Is the Linux Web App `ipRestriction` configuration used for the SCM also. -func (o GetLinuxWebAppSiteConfigOutput) ScmUseMainIpRestriction() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.ScmUseMainIpRestriction }).(pulumi.BoolOutput) -} - -// Does the Linux Web App use a 32-bit worker. -func (o GetLinuxWebAppSiteConfigOutput) Use32BitWorker() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.Use32BitWorker }).(pulumi.BoolOutput) -} - -// Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? -func (o GetLinuxWebAppSiteConfigOutput) VnetRouteAllEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.VnetRouteAllEnabled }).(pulumi.BoolOutput) -} - -// Are Web Sockets enabled? -func (o GetLinuxWebAppSiteConfigOutput) WebsocketsEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.WebsocketsEnabled }).(pulumi.BoolOutput) -} - -// The number of Workers for this Linux App Service. -func (o GetLinuxWebAppSiteConfigOutput) WorkerCount() pulumi.IntOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfig) int { return v.WorkerCount }).(pulumi.IntOutput) -} - -type GetLinuxWebAppSiteConfigArrayOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfig)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigArrayOutput) ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigArrayOutput) ToGetLinuxWebAppSiteConfigArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfig { - return vs[0].([]GetLinuxWebAppSiteConfig)[vs[1].(int)] - }).(GetLinuxWebAppSiteConfigOutput) -} - -type GetLinuxWebAppSiteConfigApplicationStack struct { - DockerImage string `pulumi:"dockerImage"` - // The docker image, including tag, used by this Linux Web App. - DockerImageName string `pulumi:"dockerImageName"` - DockerImageTag string `pulumi:"dockerImageTag"` - // The User Name to use for authentication against the registry to pull the image. - DockerRegistryPassword string `pulumi:"dockerRegistryPassword"` - // The URL of the container registry where the `dockerImageName` is located. - DockerRegistryUrl string `pulumi:"dockerRegistryUrl"` - // The User Name to use for authentication against the registry to pull the image. - DockerRegistryUsername string `pulumi:"dockerRegistryUsername"` - // The version of .NET in use. - DotnetVersion string `pulumi:"dotnetVersion"` - GoVersion string `pulumi:"goVersion"` - // The Java server type. - JavaServer string `pulumi:"javaServer"` - // The Version of the `javaServer` in use. - JavaServerVersion string `pulumi:"javaServerVersion"` - // The Version of Java in use. - JavaVersion string `pulumi:"javaVersion"` - // The version of Node in use. - NodeVersion string `pulumi:"nodeVersion"` - // The version of PHP in use. - PhpVersion string `pulumi:"phpVersion"` - // The version of Python in use. - PythonVersion string `pulumi:"pythonVersion"` - // The version of Ruby in use. - RubyVersion string `pulumi:"rubyVersion"` -} - -// GetLinuxWebAppSiteConfigApplicationStackInput is an input type that accepts GetLinuxWebAppSiteConfigApplicationStackArgs and GetLinuxWebAppSiteConfigApplicationStackOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigApplicationStackInput` via: -// -// GetLinuxWebAppSiteConfigApplicationStackArgs{...} -type GetLinuxWebAppSiteConfigApplicationStackInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput - ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput -} - -type GetLinuxWebAppSiteConfigApplicationStackArgs struct { - DockerImage pulumi.StringInput `pulumi:"dockerImage"` - // The docker image, including tag, used by this Linux Web App. - DockerImageName pulumi.StringInput `pulumi:"dockerImageName"` - DockerImageTag pulumi.StringInput `pulumi:"dockerImageTag"` - // The User Name to use for authentication against the registry to pull the image. - DockerRegistryPassword pulumi.StringInput `pulumi:"dockerRegistryPassword"` - // The URL of the container registry where the `dockerImageName` is located. - DockerRegistryUrl pulumi.StringInput `pulumi:"dockerRegistryUrl"` - // The User Name to use for authentication against the registry to pull the image. - DockerRegistryUsername pulumi.StringInput `pulumi:"dockerRegistryUsername"` - // The version of .NET in use. - DotnetVersion pulumi.StringInput `pulumi:"dotnetVersion"` - GoVersion pulumi.StringInput `pulumi:"goVersion"` - // The Java server type. - JavaServer pulumi.StringInput `pulumi:"javaServer"` - // The Version of the `javaServer` in use. - JavaServerVersion pulumi.StringInput `pulumi:"javaServerVersion"` - // The Version of Java in use. - JavaVersion pulumi.StringInput `pulumi:"javaVersion"` - // The version of Node in use. - NodeVersion pulumi.StringInput `pulumi:"nodeVersion"` - // The version of PHP in use. - PhpVersion pulumi.StringInput `pulumi:"phpVersion"` - // The version of Python in use. - PythonVersion pulumi.StringInput `pulumi:"pythonVersion"` - // The version of Ruby in use. - RubyVersion pulumi.StringInput `pulumi:"rubyVersion"` -} - -func (GetLinuxWebAppSiteConfigApplicationStackArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigApplicationStackArgs) ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput { - return i.ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigApplicationStackArgs) ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigApplicationStackOutput) -} - -// GetLinuxWebAppSiteConfigApplicationStackArrayInput is an input type that accepts GetLinuxWebAppSiteConfigApplicationStackArray and GetLinuxWebAppSiteConfigApplicationStackArrayOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigApplicationStackArrayInput` via: -// -// GetLinuxWebAppSiteConfigApplicationStackArray{ GetLinuxWebAppSiteConfigApplicationStackArgs{...} } -type GetLinuxWebAppSiteConfigApplicationStackArrayInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput - ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput -} - -type GetLinuxWebAppSiteConfigApplicationStackArray []GetLinuxWebAppSiteConfigApplicationStackInput - -func (GetLinuxWebAppSiteConfigApplicationStackArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigApplicationStackArray) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { - return i.ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigApplicationStackArray) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigApplicationStackArrayOutput) -} - -type GetLinuxWebAppSiteConfigApplicationStackOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigApplicationStackOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImage() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImage }).(pulumi.StringOutput) -} - -// The docker image, including tag, used by this Linux Web App. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImageName() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImageName }).(pulumi.StringOutput) -} - -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImageTag() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImageTag }).(pulumi.StringOutput) -} - -// The User Name to use for authentication against the registry to pull the image. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryPassword() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryPassword }).(pulumi.StringOutput) -} - -// The URL of the container registry where the `dockerImageName` is located. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryUrl }).(pulumi.StringOutput) -} - -// The User Name to use for authentication against the registry to pull the image. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryUsername() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryUsername }).(pulumi.StringOutput) -} - -// The version of .NET in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DotnetVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DotnetVersion }).(pulumi.StringOutput) -} - -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) GoVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.GoVersion }).(pulumi.StringOutput) -} - -// The Java server type. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaServer() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaServer }).(pulumi.StringOutput) -} - -// The Version of the `javaServer` in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaServerVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaServerVersion }).(pulumi.StringOutput) -} - -// The Version of Java in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaVersion }).(pulumi.StringOutput) -} - -// The version of Node in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) NodeVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.NodeVersion }).(pulumi.StringOutput) -} - -// The version of PHP in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) PhpVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.PhpVersion }).(pulumi.StringOutput) -} - -// The version of Python in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) PythonVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.PythonVersion }).(pulumi.StringOutput) -} - -// The version of Ruby in use. -func (o GetLinuxWebAppSiteConfigApplicationStackOutput) RubyVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.RubyVersion }).(pulumi.StringOutput) -} - -type GetLinuxWebAppSiteConfigApplicationStackArrayOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigApplicationStackOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigApplicationStack { - return vs[0].([]GetLinuxWebAppSiteConfigApplicationStack)[vs[1].(int)] - }).(GetLinuxWebAppSiteConfigApplicationStackOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSetting struct { - // A `action` block as defined above. - Actions []GetLinuxWebAppSiteConfigAutoHealSettingAction `pulumi:"actions"` - // A `trigger` block as defined below. - Triggers []GetLinuxWebAppSiteConfigAutoHealSettingTrigger `pulumi:"triggers"` -} - -// GetLinuxWebAppSiteConfigAutoHealSettingInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingArgs and GetLinuxWebAppSiteConfigAutoHealSettingOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingInput` via: -// -// GetLinuxWebAppSiteConfigAutoHealSettingArgs{...} -type GetLinuxWebAppSiteConfigAutoHealSettingInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput - ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput -} - -type GetLinuxWebAppSiteConfigAutoHealSettingArgs struct { - // A `action` block as defined above. - Actions GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput `pulumi:"actions"` - // A `trigger` block as defined below. - Triggers GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayInput `pulumi:"triggers"` -} - -func (GetLinuxWebAppSiteConfigAutoHealSettingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput { - return i.ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingOutput) -} - -// GetLinuxWebAppSiteConfigAutoHealSettingArrayInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingArray and GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingArrayInput` via: -// -// GetLinuxWebAppSiteConfigAutoHealSettingArray{ GetLinuxWebAppSiteConfigAutoHealSettingArgs{...} } -type GetLinuxWebAppSiteConfigAutoHealSettingArrayInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput - ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput -} - -type GetLinuxWebAppSiteConfigAutoHealSettingArray []GetLinuxWebAppSiteConfigAutoHealSettingInput - -func (GetLinuxWebAppSiteConfigAutoHealSettingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingArray) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { - return i.ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingArray) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSettingOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigAutoHealSettingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput { - return o -} - -// A `action` block as defined above. -func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) Actions() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSetting) []GetLinuxWebAppSiteConfigAutoHealSettingAction { - return v.Actions - }).(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) -} - -// A `trigger` block as defined below. -func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) Triggers() GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSetting) []GetLinuxWebAppSiteConfigAutoHealSettingTrigger { - return v.Triggers - }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigAutoHealSettingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigAutoHealSetting { - return vs[0].([]GetLinuxWebAppSiteConfigAutoHealSetting)[vs[1].(int)] - }).(GetLinuxWebAppSiteConfigAutoHealSettingOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSettingAction struct { - // The predefined action to be taken to an Auto Heal trigger. - ActionType string `pulumi:"actionType"` - // The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. - MinimumProcessExecutionTime string `pulumi:"minimumProcessExecutionTime"` -} - -// GetLinuxWebAppSiteConfigAutoHealSettingActionInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingActionArgs and GetLinuxWebAppSiteConfigAutoHealSettingActionOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingActionInput` via: -// -// GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{...} -type GetLinuxWebAppSiteConfigAutoHealSettingActionInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput - ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput -} - -type GetLinuxWebAppSiteConfigAutoHealSettingActionArgs struct { - // The predefined action to be taken to an Auto Heal trigger. - ActionType pulumi.StringInput `pulumi:"actionType"` - // The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. - MinimumProcessExecutionTime pulumi.StringInput `pulumi:"minimumProcessExecutionTime"` -} - -func (GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { - return i.ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) -} - -// GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingActionArray and GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput values. -// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput` via: -// -// GetLinuxWebAppSiteConfigAutoHealSettingActionArray{ GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{...} } -type GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput interface { - pulumi.Input - - ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput - ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput -} - -type GetLinuxWebAppSiteConfigAutoHealSettingActionArray []GetLinuxWebAppSiteConfigAutoHealSettingActionInput - -func (GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { - return i.ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(context.Background()) -} - -func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSettingActionOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { - return o -} - -// The predefined action to be taken to an Auto Heal trigger. -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ActionType() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingAction) string { return v.ActionType }).(pulumi.StringOutput) -} - -// The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) MinimumProcessExecutionTime() pulumi.StringOutput { - return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingAction) string { return v.MinimumProcessExecutionTime }).(pulumi.StringOutput) -} - -type GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput struct{ *pulumi.OutputState } - -func (GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { - return o -} - -func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigAutoHealSettingAction { - return vs[0].([]GetLinuxWebAppSiteConfigAutoHealSettingAction)[vs[1].(int)] - }).(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppConnectionAuthenticationInput)(nil)).Elem(), AppConnectionAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppConnectionAuthenticationPtrInput)(nil)).Elem(), AppConnectionAuthenticationArgs{}) @@ -101375,6 +101229,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsPtrInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSiteConfigCorsInput)(nil)).Elem(), LinuxWebAppSiteConfigCorsArgs{}) @@ -101459,6 +101315,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxWebAppSlotSiteConfigCorsInput)(nil)).Elem(), LinuxWebAppSlotSiteConfigCorsArgs{}) @@ -101745,6 +101603,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsPtrInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSiteConfigCorsInput)(nil)).Elem(), WindowsWebAppSiteConfigCorsArgs{}) @@ -101837,6 +101697,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsWebAppSlotSiteConfigCorsInput)(nil)).Elem(), WindowsWebAppSlotSiteConfigCorsArgs{}) @@ -102027,14 +101889,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppLogHttpLogAzureBlobStorageArrayInput)(nil)).Elem(), GetLinuxWebAppLogHttpLogAzureBlobStorageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppLogHttpLogFileSystemInput)(nil)).Elem(), GetLinuxWebAppLogHttpLogFileSystemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppLogHttpLogFileSystemArrayInput)(nil)).Elem(), GetLinuxWebAppLogHttpLogFileSystemArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigInput)(nil)).Elem(), GetLinuxWebAppSiteConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStackInput)(nil)).Elem(), GetLinuxWebAppSiteConfigApplicationStackArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStackArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigApplicationStackArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingActionInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingActionArray{}) pulumi.RegisterOutputType(AppConnectionAuthenticationOutput{}) pulumi.RegisterOutputType(AppConnectionAuthenticationPtrOutput{}) pulumi.RegisterOutputType(AppConnectionSecretStoreOutput{}) @@ -102369,6 +102223,8 @@ func init() { pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput{}) pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(LinuxWebAppSiteConfigCorsOutput{}) @@ -102453,6 +102309,8 @@ func init() { pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput{}) pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(LinuxWebAppSlotSiteConfigCorsOutput{}) @@ -102739,6 +102597,8 @@ func init() { pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsPtrOutput{}) pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(WindowsWebAppSiteConfigCorsOutput{}) @@ -102831,6 +102691,8 @@ func init() { pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsPtrOutput{}) pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(WindowsWebAppSlotSiteConfigCorsOutput{}) @@ -103021,12 +102883,4 @@ func init() { pulumi.RegisterOutputType(GetLinuxWebAppLogHttpLogAzureBlobStorageArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppLogHttpLogFileSystemOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppLogHttpLogFileSystemArrayOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigArrayOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigApplicationStackOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigApplicationStackArrayOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput{}) - pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput{}) } diff --git a/sdk/go/azure/appservice/pulumiTypes1.go b/sdk/go/azure/appservice/pulumiTypes1.go index 11fb7ca4dd..18fd565911 100644 --- a/sdk/go/azure/appservice/pulumiTypes1.go +++ b/sdk/go/azure/appservice/pulumiTypes1.go @@ -13,9 +13,839 @@ import ( var _ = internal.GetEnvOrDefault +type GetLinuxWebAppSiteConfig struct { + // Is this Linux Web App is Always On enabled. + AlwaysOn bool `pulumi:"alwaysOn"` + // The ID of the APIM configuration for this Linux Web App. + ApiDefinitionUrl string `pulumi:"apiDefinitionUrl"` + // The ID of the API Management API for this Linux Web App. + ApiManagementApiId string `pulumi:"apiManagementApiId"` + // The command line used to launch this app. + AppCommandLine string `pulumi:"appCommandLine"` + // A `applicationStack` block as defined above. + ApplicationStacks []GetLinuxWebAppSiteConfigApplicationStack `pulumi:"applicationStacks"` + // Are Auto heal rules be enabled. + AutoHealEnabled bool `pulumi:"autoHealEnabled"` + // A `autoHealSetting` block as defined above. + AutoHealSettings []GetLinuxWebAppSiteConfigAutoHealSetting `pulumi:"autoHealSettings"` + // The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. + ContainerRegistryManagedIdentityClientId string `pulumi:"containerRegistryManagedIdentityClientId"` + // Do connections for Azure Container Registry use Managed Identity. + ContainerRegistryUseManagedIdentity bool `pulumi:"containerRegistryUseManagedIdentity"` + // A `cors` block as defined above. + Cors []GetLinuxWebAppSiteConfigCor `pulumi:"cors"` + // The list of Default Documents for the Linux Web App. + DefaultDocuments []string `pulumi:"defaultDocuments"` + // Is Detailed Error Logging enabled. + DetailedErrorLoggingEnabled bool `pulumi:"detailedErrorLoggingEnabled"` + // The State of FTP / FTPS service. + FtpsState string `pulumi:"ftpsState"` + // The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. + HealthCheckEvictionTimeInMin int `pulumi:"healthCheckEvictionTimeInMin"` + // The path to the Health Check endpoint. + HealthCheckPath string `pulumi:"healthCheckPath"` + // Is HTTP2.0 enabled. + Http2Enabled bool `pulumi:"http2Enabled"` + // The Default action for traffic that does not match any `ipRestriction` rule. + IpRestrictionDefaultAction string `pulumi:"ipRestrictionDefaultAction"` + // A `ipRestriction` block as defined above. + IpRestrictions []GetLinuxWebAppSiteConfigIpRestriction `pulumi:"ipRestrictions"` + // The `LinuxFXVersion` string. + LinuxFxVersion string `pulumi:"linuxFxVersion"` + // The site Load Balancing Mode. + LoadBalancingMode string `pulumi:"loadBalancingMode"` + // Is the Local MySQL enabled. + LocalMysqlEnabled bool `pulumi:"localMysqlEnabled"` + // The Managed Pipeline Mode. + ManagedPipelineMode string `pulumi:"managedPipelineMode"` + // The Minimum version of TLS for requests. + MinimumTlsVersion string `pulumi:"minimumTlsVersion"` + // Is Remote Debugging enabled. + RemoteDebuggingEnabled bool `pulumi:"remoteDebuggingEnabled"` + // The Remote Debugging Version. + RemoteDebuggingVersion string `pulumi:"remoteDebuggingVersion"` + // The Default action for traffic that does not match any `scmIpRestriction` rule. + ScmIpRestrictionDefaultAction string `pulumi:"scmIpRestrictionDefaultAction"` + // A `scmIpRestriction` block as defined above. + ScmIpRestrictions []GetLinuxWebAppSiteConfigScmIpRestriction `pulumi:"scmIpRestrictions"` + // The Minimum version of TLS for requests to SCM. + ScmMinimumTlsVersion string `pulumi:"scmMinimumTlsVersion"` + // The Source Control Management Type in use. + ScmType string `pulumi:"scmType"` + // Is the Linux Web App `ipRestriction` configuration used for the SCM also. + ScmUseMainIpRestriction bool `pulumi:"scmUseMainIpRestriction"` + // Does the Linux Web App use a 32-bit worker. + Use32BitWorker bool `pulumi:"use32BitWorker"` + // Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? + VnetRouteAllEnabled bool `pulumi:"vnetRouteAllEnabled"` + // Are Web Sockets enabled? + WebsocketsEnabled bool `pulumi:"websocketsEnabled"` + // The number of Workers for this Linux App Service. + WorkerCount int `pulumi:"workerCount"` +} + +// GetLinuxWebAppSiteConfigInput is an input type that accepts GetLinuxWebAppSiteConfigArgs and GetLinuxWebAppSiteConfigOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigInput` via: +// +// GetLinuxWebAppSiteConfigArgs{...} +type GetLinuxWebAppSiteConfigInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput + ToGetLinuxWebAppSiteConfigOutputWithContext(context.Context) GetLinuxWebAppSiteConfigOutput +} + +type GetLinuxWebAppSiteConfigArgs struct { + // Is this Linux Web App is Always On enabled. + AlwaysOn pulumi.BoolInput `pulumi:"alwaysOn"` + // The ID of the APIM configuration for this Linux Web App. + ApiDefinitionUrl pulumi.StringInput `pulumi:"apiDefinitionUrl"` + // The ID of the API Management API for this Linux Web App. + ApiManagementApiId pulumi.StringInput `pulumi:"apiManagementApiId"` + // The command line used to launch this app. + AppCommandLine pulumi.StringInput `pulumi:"appCommandLine"` + // A `applicationStack` block as defined above. + ApplicationStacks GetLinuxWebAppSiteConfigApplicationStackArrayInput `pulumi:"applicationStacks"` + // Are Auto heal rules be enabled. + AutoHealEnabled pulumi.BoolInput `pulumi:"autoHealEnabled"` + // A `autoHealSetting` block as defined above. + AutoHealSettings GetLinuxWebAppSiteConfigAutoHealSettingArrayInput `pulumi:"autoHealSettings"` + // The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. + ContainerRegistryManagedIdentityClientId pulumi.StringInput `pulumi:"containerRegistryManagedIdentityClientId"` + // Do connections for Azure Container Registry use Managed Identity. + ContainerRegistryUseManagedIdentity pulumi.BoolInput `pulumi:"containerRegistryUseManagedIdentity"` + // A `cors` block as defined above. + Cors GetLinuxWebAppSiteConfigCorArrayInput `pulumi:"cors"` + // The list of Default Documents for the Linux Web App. + DefaultDocuments pulumi.StringArrayInput `pulumi:"defaultDocuments"` + // Is Detailed Error Logging enabled. + DetailedErrorLoggingEnabled pulumi.BoolInput `pulumi:"detailedErrorLoggingEnabled"` + // The State of FTP / FTPS service. + FtpsState pulumi.StringInput `pulumi:"ftpsState"` + // The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. + HealthCheckEvictionTimeInMin pulumi.IntInput `pulumi:"healthCheckEvictionTimeInMin"` + // The path to the Health Check endpoint. + HealthCheckPath pulumi.StringInput `pulumi:"healthCheckPath"` + // Is HTTP2.0 enabled. + Http2Enabled pulumi.BoolInput `pulumi:"http2Enabled"` + // The Default action for traffic that does not match any `ipRestriction` rule. + IpRestrictionDefaultAction pulumi.StringInput `pulumi:"ipRestrictionDefaultAction"` + // A `ipRestriction` block as defined above. + IpRestrictions GetLinuxWebAppSiteConfigIpRestrictionArrayInput `pulumi:"ipRestrictions"` + // The `LinuxFXVersion` string. + LinuxFxVersion pulumi.StringInput `pulumi:"linuxFxVersion"` + // The site Load Balancing Mode. + LoadBalancingMode pulumi.StringInput `pulumi:"loadBalancingMode"` + // Is the Local MySQL enabled. + LocalMysqlEnabled pulumi.BoolInput `pulumi:"localMysqlEnabled"` + // The Managed Pipeline Mode. + ManagedPipelineMode pulumi.StringInput `pulumi:"managedPipelineMode"` + // The Minimum version of TLS for requests. + MinimumTlsVersion pulumi.StringInput `pulumi:"minimumTlsVersion"` + // Is Remote Debugging enabled. + RemoteDebuggingEnabled pulumi.BoolInput `pulumi:"remoteDebuggingEnabled"` + // The Remote Debugging Version. + RemoteDebuggingVersion pulumi.StringInput `pulumi:"remoteDebuggingVersion"` + // The Default action for traffic that does not match any `scmIpRestriction` rule. + ScmIpRestrictionDefaultAction pulumi.StringInput `pulumi:"scmIpRestrictionDefaultAction"` + // A `scmIpRestriction` block as defined above. + ScmIpRestrictions GetLinuxWebAppSiteConfigScmIpRestrictionArrayInput `pulumi:"scmIpRestrictions"` + // The Minimum version of TLS for requests to SCM. + ScmMinimumTlsVersion pulumi.StringInput `pulumi:"scmMinimumTlsVersion"` + // The Source Control Management Type in use. + ScmType pulumi.StringInput `pulumi:"scmType"` + // Is the Linux Web App `ipRestriction` configuration used for the SCM also. + ScmUseMainIpRestriction pulumi.BoolInput `pulumi:"scmUseMainIpRestriction"` + // Does the Linux Web App use a 32-bit worker. + Use32BitWorker pulumi.BoolInput `pulumi:"use32BitWorker"` + // Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? + VnetRouteAllEnabled pulumi.BoolInput `pulumi:"vnetRouteAllEnabled"` + // Are Web Sockets enabled? + WebsocketsEnabled pulumi.BoolInput `pulumi:"websocketsEnabled"` + // The number of Workers for this Linux App Service. + WorkerCount pulumi.IntInput `pulumi:"workerCount"` +} + +func (GetLinuxWebAppSiteConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfig)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigArgs) ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput { + return i.ToGetLinuxWebAppSiteConfigOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigArgs) ToGetLinuxWebAppSiteConfigOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigOutput) +} + +// GetLinuxWebAppSiteConfigArrayInput is an input type that accepts GetLinuxWebAppSiteConfigArray and GetLinuxWebAppSiteConfigArrayOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigArrayInput` via: +// +// GetLinuxWebAppSiteConfigArray{ GetLinuxWebAppSiteConfigArgs{...} } +type GetLinuxWebAppSiteConfigArrayInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput + ToGetLinuxWebAppSiteConfigArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigArrayOutput +} + +type GetLinuxWebAppSiteConfigArray []GetLinuxWebAppSiteConfigInput + +func (GetLinuxWebAppSiteConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfig)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigArray) ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput { + return i.ToGetLinuxWebAppSiteConfigArrayOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigArray) ToGetLinuxWebAppSiteConfigArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigArrayOutput) +} + +type GetLinuxWebAppSiteConfigOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfig)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigOutput) ToGetLinuxWebAppSiteConfigOutput() GetLinuxWebAppSiteConfigOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigOutput) ToGetLinuxWebAppSiteConfigOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigOutput { + return o +} + +// Is this Linux Web App is Always On enabled. +func (o GetLinuxWebAppSiteConfigOutput) AlwaysOn() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.AlwaysOn }).(pulumi.BoolOutput) +} + +// The ID of the APIM configuration for this Linux Web App. +func (o GetLinuxWebAppSiteConfigOutput) ApiDefinitionUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ApiDefinitionUrl }).(pulumi.StringOutput) +} + +// The ID of the API Management API for this Linux Web App. +func (o GetLinuxWebAppSiteConfigOutput) ApiManagementApiId() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ApiManagementApiId }).(pulumi.StringOutput) +} + +// The command line used to launch this app. +func (o GetLinuxWebAppSiteConfigOutput) AppCommandLine() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.AppCommandLine }).(pulumi.StringOutput) +} + +// A `applicationStack` block as defined above. +func (o GetLinuxWebAppSiteConfigOutput) ApplicationStacks() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigApplicationStack { + return v.ApplicationStacks + }).(GetLinuxWebAppSiteConfigApplicationStackArrayOutput) +} + +// Are Auto heal rules be enabled. +func (o GetLinuxWebAppSiteConfigOutput) AutoHealEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.AutoHealEnabled }).(pulumi.BoolOutput) +} + +// A `autoHealSetting` block as defined above. +func (o GetLinuxWebAppSiteConfigOutput) AutoHealSettings() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigAutoHealSetting { return v.AutoHealSettings }).(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) +} + +// The Client ID of the Managed Service Identity used for connections to the Azure Container Registry. +func (o GetLinuxWebAppSiteConfigOutput) ContainerRegistryManagedIdentityClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ContainerRegistryManagedIdentityClientId }).(pulumi.StringOutput) +} + +// Do connections for Azure Container Registry use Managed Identity. +func (o GetLinuxWebAppSiteConfigOutput) ContainerRegistryUseManagedIdentity() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.ContainerRegistryUseManagedIdentity }).(pulumi.BoolOutput) +} + +// A `cors` block as defined above. +func (o GetLinuxWebAppSiteConfigOutput) Cors() GetLinuxWebAppSiteConfigCorArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigCor { return v.Cors }).(GetLinuxWebAppSiteConfigCorArrayOutput) +} + +// The list of Default Documents for the Linux Web App. +func (o GetLinuxWebAppSiteConfigOutput) DefaultDocuments() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []string { return v.DefaultDocuments }).(pulumi.StringArrayOutput) +} + +// Is Detailed Error Logging enabled. +func (o GetLinuxWebAppSiteConfigOutput) DetailedErrorLoggingEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.DetailedErrorLoggingEnabled }).(pulumi.BoolOutput) +} + +// The State of FTP / FTPS service. +func (o GetLinuxWebAppSiteConfigOutput) FtpsState() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.FtpsState }).(pulumi.StringOutput) +} + +// The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. +func (o GetLinuxWebAppSiteConfigOutput) HealthCheckEvictionTimeInMin() pulumi.IntOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) int { return v.HealthCheckEvictionTimeInMin }).(pulumi.IntOutput) +} + +// The path to the Health Check endpoint. +func (o GetLinuxWebAppSiteConfigOutput) HealthCheckPath() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.HealthCheckPath }).(pulumi.StringOutput) +} + +// Is HTTP2.0 enabled. +func (o GetLinuxWebAppSiteConfigOutput) Http2Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.Http2Enabled }).(pulumi.BoolOutput) +} + +// The Default action for traffic that does not match any `ipRestriction` rule. +func (o GetLinuxWebAppSiteConfigOutput) IpRestrictionDefaultAction() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.IpRestrictionDefaultAction }).(pulumi.StringOutput) +} + +// A `ipRestriction` block as defined above. +func (o GetLinuxWebAppSiteConfigOutput) IpRestrictions() GetLinuxWebAppSiteConfigIpRestrictionArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigIpRestriction { return v.IpRestrictions }).(GetLinuxWebAppSiteConfigIpRestrictionArrayOutput) +} + +// The `LinuxFXVersion` string. +func (o GetLinuxWebAppSiteConfigOutput) LinuxFxVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.LinuxFxVersion }).(pulumi.StringOutput) +} + +// The site Load Balancing Mode. +func (o GetLinuxWebAppSiteConfigOutput) LoadBalancingMode() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.LoadBalancingMode }).(pulumi.StringOutput) +} + +// Is the Local MySQL enabled. +func (o GetLinuxWebAppSiteConfigOutput) LocalMysqlEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.LocalMysqlEnabled }).(pulumi.BoolOutput) +} + +// The Managed Pipeline Mode. +func (o GetLinuxWebAppSiteConfigOutput) ManagedPipelineMode() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ManagedPipelineMode }).(pulumi.StringOutput) +} + +// The Minimum version of TLS for requests. +func (o GetLinuxWebAppSiteConfigOutput) MinimumTlsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.MinimumTlsVersion }).(pulumi.StringOutput) +} + +// Is Remote Debugging enabled. +func (o GetLinuxWebAppSiteConfigOutput) RemoteDebuggingEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.RemoteDebuggingEnabled }).(pulumi.BoolOutput) +} + +// The Remote Debugging Version. +func (o GetLinuxWebAppSiteConfigOutput) RemoteDebuggingVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.RemoteDebuggingVersion }).(pulumi.StringOutput) +} + +// The Default action for traffic that does not match any `scmIpRestriction` rule. +func (o GetLinuxWebAppSiteConfigOutput) ScmIpRestrictionDefaultAction() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmIpRestrictionDefaultAction }).(pulumi.StringOutput) +} + +// A `scmIpRestriction` block as defined above. +func (o GetLinuxWebAppSiteConfigOutput) ScmIpRestrictions() GetLinuxWebAppSiteConfigScmIpRestrictionArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) []GetLinuxWebAppSiteConfigScmIpRestriction { + return v.ScmIpRestrictions + }).(GetLinuxWebAppSiteConfigScmIpRestrictionArrayOutput) +} + +// The Minimum version of TLS for requests to SCM. +func (o GetLinuxWebAppSiteConfigOutput) ScmMinimumTlsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmMinimumTlsVersion }).(pulumi.StringOutput) +} + +// The Source Control Management Type in use. +func (o GetLinuxWebAppSiteConfigOutput) ScmType() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) string { return v.ScmType }).(pulumi.StringOutput) +} + +// Is the Linux Web App `ipRestriction` configuration used for the SCM also. +func (o GetLinuxWebAppSiteConfigOutput) ScmUseMainIpRestriction() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.ScmUseMainIpRestriction }).(pulumi.BoolOutput) +} + +// Does the Linux Web App use a 32-bit worker. +func (o GetLinuxWebAppSiteConfigOutput) Use32BitWorker() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.Use32BitWorker }).(pulumi.BoolOutput) +} + +// Are all outbound traffic to NAT Gateways, Network Security Groups and User Defined Routes applied? +func (o GetLinuxWebAppSiteConfigOutput) VnetRouteAllEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.VnetRouteAllEnabled }).(pulumi.BoolOutput) +} + +// Are Web Sockets enabled? +func (o GetLinuxWebAppSiteConfigOutput) WebsocketsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) bool { return v.WebsocketsEnabled }).(pulumi.BoolOutput) +} + +// The number of Workers for this Linux App Service. +func (o GetLinuxWebAppSiteConfigOutput) WorkerCount() pulumi.IntOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfig) int { return v.WorkerCount }).(pulumi.IntOutput) +} + +type GetLinuxWebAppSiteConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfig)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigArrayOutput) ToGetLinuxWebAppSiteConfigArrayOutput() GetLinuxWebAppSiteConfigArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigArrayOutput) ToGetLinuxWebAppSiteConfigArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfig { + return vs[0].([]GetLinuxWebAppSiteConfig)[vs[1].(int)] + }).(GetLinuxWebAppSiteConfigOutput) +} + +type GetLinuxWebAppSiteConfigApplicationStack struct { + DockerImage string `pulumi:"dockerImage"` + // The docker image, including tag, used by this Linux Web App. + DockerImageName string `pulumi:"dockerImageName"` + DockerImageTag string `pulumi:"dockerImageTag"` + // The User Name to use for authentication against the registry to pull the image. + DockerRegistryPassword string `pulumi:"dockerRegistryPassword"` + // The URL of the container registry where the `dockerImageName` is located. + DockerRegistryUrl string `pulumi:"dockerRegistryUrl"` + // The User Name to use for authentication against the registry to pull the image. + DockerRegistryUsername string `pulumi:"dockerRegistryUsername"` + // The version of .NET in use. + DotnetVersion string `pulumi:"dotnetVersion"` + GoVersion string `pulumi:"goVersion"` + // The Java server type. + JavaServer string `pulumi:"javaServer"` + // The Version of the `javaServer` in use. + JavaServerVersion string `pulumi:"javaServerVersion"` + // The Version of Java in use. + JavaVersion string `pulumi:"javaVersion"` + // The version of Node in use. + NodeVersion string `pulumi:"nodeVersion"` + // The version of PHP in use. + PhpVersion string `pulumi:"phpVersion"` + // The version of Python in use. + PythonVersion string `pulumi:"pythonVersion"` + // The version of Ruby in use. + RubyVersion string `pulumi:"rubyVersion"` +} + +// GetLinuxWebAppSiteConfigApplicationStackInput is an input type that accepts GetLinuxWebAppSiteConfigApplicationStackArgs and GetLinuxWebAppSiteConfigApplicationStackOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigApplicationStackInput` via: +// +// GetLinuxWebAppSiteConfigApplicationStackArgs{...} +type GetLinuxWebAppSiteConfigApplicationStackInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput + ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput +} + +type GetLinuxWebAppSiteConfigApplicationStackArgs struct { + DockerImage pulumi.StringInput `pulumi:"dockerImage"` + // The docker image, including tag, used by this Linux Web App. + DockerImageName pulumi.StringInput `pulumi:"dockerImageName"` + DockerImageTag pulumi.StringInput `pulumi:"dockerImageTag"` + // The User Name to use for authentication against the registry to pull the image. + DockerRegistryPassword pulumi.StringInput `pulumi:"dockerRegistryPassword"` + // The URL of the container registry where the `dockerImageName` is located. + DockerRegistryUrl pulumi.StringInput `pulumi:"dockerRegistryUrl"` + // The User Name to use for authentication against the registry to pull the image. + DockerRegistryUsername pulumi.StringInput `pulumi:"dockerRegistryUsername"` + // The version of .NET in use. + DotnetVersion pulumi.StringInput `pulumi:"dotnetVersion"` + GoVersion pulumi.StringInput `pulumi:"goVersion"` + // The Java server type. + JavaServer pulumi.StringInput `pulumi:"javaServer"` + // The Version of the `javaServer` in use. + JavaServerVersion pulumi.StringInput `pulumi:"javaServerVersion"` + // The Version of Java in use. + JavaVersion pulumi.StringInput `pulumi:"javaVersion"` + // The version of Node in use. + NodeVersion pulumi.StringInput `pulumi:"nodeVersion"` + // The version of PHP in use. + PhpVersion pulumi.StringInput `pulumi:"phpVersion"` + // The version of Python in use. + PythonVersion pulumi.StringInput `pulumi:"pythonVersion"` + // The version of Ruby in use. + RubyVersion pulumi.StringInput `pulumi:"rubyVersion"` +} + +func (GetLinuxWebAppSiteConfigApplicationStackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigApplicationStackArgs) ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput { + return i.ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigApplicationStackArgs) ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigApplicationStackOutput) +} + +// GetLinuxWebAppSiteConfigApplicationStackArrayInput is an input type that accepts GetLinuxWebAppSiteConfigApplicationStackArray and GetLinuxWebAppSiteConfigApplicationStackArrayOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigApplicationStackArrayInput` via: +// +// GetLinuxWebAppSiteConfigApplicationStackArray{ GetLinuxWebAppSiteConfigApplicationStackArgs{...} } +type GetLinuxWebAppSiteConfigApplicationStackArrayInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput + ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput +} + +type GetLinuxWebAppSiteConfigApplicationStackArray []GetLinuxWebAppSiteConfigApplicationStackInput + +func (GetLinuxWebAppSiteConfigApplicationStackArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigApplicationStackArray) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { + return i.ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigApplicationStackArray) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigApplicationStackArrayOutput) +} + +type GetLinuxWebAppSiteConfigApplicationStackOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigApplicationStackOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) ToGetLinuxWebAppSiteConfigApplicationStackOutput() GetLinuxWebAppSiteConfigApplicationStackOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) ToGetLinuxWebAppSiteConfigApplicationStackOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImage() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImage }).(pulumi.StringOutput) +} + +// The docker image, including tag, used by this Linux Web App. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImageName() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImageName }).(pulumi.StringOutput) +} + +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerImageTag() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerImageTag }).(pulumi.StringOutput) +} + +// The User Name to use for authentication against the registry to pull the image. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryPassword }).(pulumi.StringOutput) +} + +// The URL of the container registry where the `dockerImageName` is located. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryUrl }).(pulumi.StringOutput) +} + +// The User Name to use for authentication against the registry to pull the image. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DockerRegistryUsername() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DockerRegistryUsername }).(pulumi.StringOutput) +} + +// The version of .NET in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) DotnetVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.DotnetVersion }).(pulumi.StringOutput) +} + +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) GoVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.GoVersion }).(pulumi.StringOutput) +} + +// The Java server type. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaServer() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaServer }).(pulumi.StringOutput) +} + +// The Version of the `javaServer` in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaServerVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaServerVersion }).(pulumi.StringOutput) +} + +// The Version of Java in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) JavaVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.JavaVersion }).(pulumi.StringOutput) +} + +// The version of Node in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) NodeVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.NodeVersion }).(pulumi.StringOutput) +} + +// The version of PHP in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) PhpVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.PhpVersion }).(pulumi.StringOutput) +} + +// The version of Python in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) PythonVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.PythonVersion }).(pulumi.StringOutput) +} + +// The version of Ruby in use. +func (o GetLinuxWebAppSiteConfigApplicationStackOutput) RubyVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigApplicationStack) string { return v.RubyVersion }).(pulumi.StringOutput) +} + +type GetLinuxWebAppSiteConfigApplicationStackArrayOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigApplicationStack)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutput() GetLinuxWebAppSiteConfigApplicationStackArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) ToGetLinuxWebAppSiteConfigApplicationStackArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigApplicationStackArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigApplicationStackArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigApplicationStackOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigApplicationStack { + return vs[0].([]GetLinuxWebAppSiteConfigApplicationStack)[vs[1].(int)] + }).(GetLinuxWebAppSiteConfigApplicationStackOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSetting struct { + // A `action` block as defined above. + Actions []GetLinuxWebAppSiteConfigAutoHealSettingAction `pulumi:"actions"` + // A `trigger` block as defined below. + Triggers []GetLinuxWebAppSiteConfigAutoHealSettingTrigger `pulumi:"triggers"` +} + +// GetLinuxWebAppSiteConfigAutoHealSettingInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingArgs and GetLinuxWebAppSiteConfigAutoHealSettingOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingArgs{...} +type GetLinuxWebAppSiteConfigAutoHealSettingInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingArgs struct { + // A `action` block as defined above. + Actions GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput `pulumi:"actions"` + // A `trigger` block as defined below. + Triggers GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayInput `pulumi:"triggers"` +} + +func (GetLinuxWebAppSiteConfigAutoHealSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingOutput) +} + +// GetLinuxWebAppSiteConfigAutoHealSettingArrayInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingArray and GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingArrayInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingArray{ GetLinuxWebAppSiteConfigAutoHealSettingArgs{...} } +type GetLinuxWebAppSiteConfigAutoHealSettingArrayInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingArray []GetLinuxWebAppSiteConfigAutoHealSettingInput + +func (GetLinuxWebAppSiteConfigAutoHealSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingArray) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingArray) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingOutput() GetLinuxWebAppSiteConfigAutoHealSettingOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingOutput { + return o +} + +// A `action` block as defined above. +func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) Actions() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSetting) []GetLinuxWebAppSiteConfigAutoHealSettingAction { + return v.Actions + }).(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) +} + +// A `trigger` block as defined below. +func (o GetLinuxWebAppSiteConfigAutoHealSettingOutput) Triggers() GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSetting) []GetLinuxWebAppSiteConfigAutoHealSettingTrigger { + return v.Triggers + }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSetting)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigAutoHealSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigAutoHealSetting { + return vs[0].([]GetLinuxWebAppSiteConfigAutoHealSetting)[vs[1].(int)] + }).(GetLinuxWebAppSiteConfigAutoHealSettingOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingAction struct { + // The predefined action to be taken to an Auto Heal trigger. + ActionType string `pulumi:"actionType"` + // The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. + MinimumProcessExecutionTime string `pulumi:"minimumProcessExecutionTime"` +} + +// GetLinuxWebAppSiteConfigAutoHealSettingActionInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingActionArgs and GetLinuxWebAppSiteConfigAutoHealSettingActionOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingActionInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{...} +type GetLinuxWebAppSiteConfigAutoHealSettingActionInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingActionArgs struct { + // The predefined action to be taken to an Auto Heal trigger. + ActionType pulumi.StringInput `pulumi:"actionType"` + // The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. + MinimumProcessExecutionTime pulumi.StringInput `pulumi:"minimumProcessExecutionTime"` +} + +func (GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) +} + +// GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingActionArray and GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingActionArray{ GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{...} } +type GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingActionArray []GetLinuxWebAppSiteConfigAutoHealSettingActionInput + +func (GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingActionArray) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingActionOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { + return o +} + +// The predefined action to be taken to an Auto Heal trigger. +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) ActionType() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingAction) string { return v.ActionType }).(pulumi.StringOutput) +} + +// The minimum amount of time in `hh:mm:ss` the Linux Web App must have been running before the defined action will be run in the event of a trigger. +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) MinimumProcessExecutionTime() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingAction) string { return v.MinimumProcessExecutionTime }).(pulumi.StringOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingAction)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigAutoHealSettingActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigAutoHealSettingAction { + return vs[0].([]GetLinuxWebAppSiteConfigAutoHealSettingAction)[vs[1].(int)] + }).(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput) +} + type GetLinuxWebAppSiteConfigAutoHealSettingTrigger struct { // A `requests` block as defined above. Requests []GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequest `pulumi:"requests"` + // (Optional) One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` // A `slowRequest` block as defined above. SlowRequests []GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // A `statusCode` block as defined above. @@ -36,6 +866,8 @@ type GetLinuxWebAppSiteConfigAutoHealSettingTriggerInput interface { type GetLinuxWebAppSiteConfigAutoHealSettingTriggerArgs struct { // A `requests` block as defined above. Requests GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArrayInput `pulumi:"requests"` + // (Optional) One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` // A `slowRequest` block as defined above. SlowRequests GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // A `statusCode` block as defined above. @@ -100,6 +932,13 @@ func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerOutput) Requests() GetLinu }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArrayOutput) } +// (Optional) One or more `slowRequestWithPath` blocks as defined above. +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTrigger) []GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + // A `slowRequest` block as defined above. func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequests() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTrigger) []GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { @@ -246,8 +1085,10 @@ type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path to which this rule status code applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path string `pulumi:"path"` - // The amount of time that qualifies as slow for this rule. + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` } @@ -268,8 +1109,10 @@ type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path to which this rule status code applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringInput `pulumi:"path"` - // The amount of time that qualifies as slow for this rule. + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` } @@ -335,11 +1178,13 @@ func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Interva } // The path to which this rule status code applies. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringOutput { return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest) string { return v.Path }).(pulumi.StringOutput) } -// The amount of time that qualifies as slow for this rule. +// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) TimeTaken() pulumi.StringOutput { return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest) string { return v.TimeTaken }).(pulumi.StringOutput) } @@ -364,6 +1209,130 @@ func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) In }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path to which this rule status code applies. + Path string `pulumi:"path"` + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path to which this rule status code applies. + Path pulumi.StringInput `pulumi:"path"` + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path to which this rule status code applies. +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Path }).(pulumi.StringOutput) +} + +// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.TimeTaken }).(pulumi.StringOutput) +} + +type GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToGetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -3038,7 +4007,7 @@ type GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled bool `pulumi:"wwwAuthenticationDisabled"` @@ -3076,7 +4045,7 @@ type GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled pulumi.BoolInput `pulumi:"wwwAuthenticationDisabled"` @@ -3189,7 +4158,7 @@ func (o GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Output) LoginParamet }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` func (o GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -7729,7 +8698,7 @@ type GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2 struct { JwtAllowedGroups []string `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters map[string]string `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint string `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled bool `pulumi:"wwwAuthenticationDisabled"` @@ -7767,7 +8736,7 @@ type GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Args struct { JwtAllowedGroups pulumi.StringArrayInput `pulumi:"jwtAllowedGroups"` // A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. LoginParameters pulumi.StringMapInput `pulumi:"loginParameters"` - // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + // The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` TenantAuthEndpoint pulumi.StringInput `pulumi:"tenantAuthEndpoint"` // Is the www-authenticate provider omitted from the request? WwwAuthenticationDisabled pulumi.BoolInput `pulumi:"wwwAuthenticationDisabled"` @@ -7878,7 +8847,7 @@ func (o GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Output) LoginParameters() return o.ApplyT(func(v GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2) map[string]string { return v.LoginParameters }).(pulumi.StringMapOutput) } -// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` +// The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` func (o GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2Output) TenantAuthEndpoint() pulumi.StringOutput { return o.ApplyT(func(v GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2) string { return v.TenantAuthEndpoint }).(pulumi.StringOutput) } @@ -11254,6 +12223,8 @@ type GetWindowsWebAppSiteConfigAutoHealSettingTrigger struct { PrivateMemoryKb int `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests []GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequest `pulumi:"requests"` + // (Optional) One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths []GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath `pulumi:"slowRequestWithPaths"` // A `slowRequest` block as defined above. SlowRequests []GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest `pulumi:"slowRequests"` // A `statusCode` block as defined above. @@ -11276,6 +12247,8 @@ type GetWindowsWebAppSiteConfigAutoHealSettingTriggerArgs struct { PrivateMemoryKb pulumi.IntInput `pulumi:"privateMemoryKb"` // A `requests` block as defined above. Requests GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArrayInput `pulumi:"requests"` + // (Optional) One or more `slowRequestWithPath` blocks as defined above. + SlowRequestWithPaths GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput `pulumi:"slowRequestWithPaths"` // A `slowRequest` block as defined above. SlowRequests GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput `pulumi:"slowRequests"` // A `statusCode` block as defined above. @@ -11345,6 +12318,13 @@ func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerOutput) Requests() GetWi }).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArrayOutput) } +// (Optional) One or more `slowRequestWithPath` blocks as defined above. +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequestWithPaths() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTrigger) []GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return v.SlowRequestWithPaths + }).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + // A `slowRequest` block as defined above. func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerOutput) SlowRequests() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput { return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTrigger) []GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { @@ -11491,8 +12471,10 @@ type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest struct { // The time interval in the form `hh:mm:ss`. Interval string `pulumi:"interval"` // The path to which this rule status code applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path string `pulumi:"path"` - // The amount of time that qualifies as slow for this rule. + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken string `pulumi:"timeTaken"` } @@ -11513,8 +12495,10 @@ type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs struct { // The time interval in the form `hh:mm:ss`. Interval pulumi.StringInput `pulumi:"interval"` // The path to which this rule status code applies. + // + // Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. Path pulumi.StringInput `pulumi:"path"` - // The amount of time that qualifies as slow for this rule. + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. TimeTaken pulumi.StringInput `pulumi:"timeTaken"` } @@ -11580,11 +12564,13 @@ func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Inter } // The path to which this rule status code applies. +// +// Deprecated: `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) Path() pulumi.StringOutput { return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest) string { return v.Path }).(pulumi.StringOutput) } -// The amount of time that qualifies as slow for this rule. +// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) TimeTaken() pulumi.StringOutput { return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest) string { return v.TimeTaken }).(pulumi.StringOutput) } @@ -11609,6 +12595,130 @@ func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput) }).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput) } +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath struct { + // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + Count int `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval string `pulumi:"interval"` + // The path to which this rule status code applies. + Path string `pulumi:"path"` + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken string `pulumi:"timeTaken"` +} + +// GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput is an input type that accepts GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs and GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput values. +// You can construct a concrete instance of `GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput` via: +// +// GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput interface { + pulumi.Input + + ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput + ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput +} + +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs struct { + // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + Count pulumi.IntInput `pulumi:"count"` + // The time interval in the form `hh:mm:ss`. + Interval pulumi.StringInput `pulumi:"interval"` + // The path to which this rule status code applies. + Path pulumi.StringInput `pulumi:"path"` + // (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + TimeTaken pulumi.StringInput `pulumi:"timeTaken"` +} + +func (GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return i.ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(context.Background()) +} + +func (i GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + +// GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput is an input type that accepts GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray and GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput values. +// You can construct a concrete instance of `GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput` via: +// +// GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{ GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{...} } +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput interface { + pulumi.Input + + ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput + ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput +} + +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray []GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput + +func (GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (i GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return i.ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(context.Background()) +} + +func (i GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) +} + +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput struct{ *pulumi.OutputState } + +func (GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutputWithContext(ctx context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return o +} + +// The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) int { return v.Count }).(pulumi.IntOutput) +} + +// The time interval in the form `hh:mm:ss`. +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Interval }).(pulumi.StringOutput) +} + +// The path to which this rule status code applies. +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.Path }).(pulumi.StringOutput) +} + +// (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) TimeTaken() pulumi.StringOutput { + return o.ApplyT(func(v GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath) string { return v.TimeTaken }).(pulumi.StringOutput) +} + +type GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput struct{ *pulumi.OutputState } + +func (GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)(nil)).Elem() +} + +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput() GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) ToGetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutputWithContext(ctx context.Context) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput { + return o +} + +func (o GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput) Index(i pulumi.IntInput) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + return vs[0].([]GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath)[vs[1].(int)] + }).(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput) +} + type GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode struct { // The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. Count int `pulumi:"count"` @@ -13125,12 +14235,22 @@ func (o GetWindowsWebAppStorageAccountArrayOutput) Index(i pulumi.IntInput) GetW } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigInput)(nil)).Elem(), GetLinuxWebAppSiteConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStackInput)(nil)).Elem(), GetLinuxWebAppSiteConfigApplicationStackArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigApplicationStackArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigApplicationStackArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingActionInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingActionArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingActionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLinuxWebAppSiteConfigCorInput)(nil)).Elem(), GetLinuxWebAppSiteConfigCorArgs{}) @@ -13289,6 +14409,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArrayInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayInput)(nil)).Elem(), GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppSiteConfigCorInput)(nil)).Elem(), GetWindowsWebAppSiteConfigCorArgs{}) @@ -13313,12 +14435,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppStickySettingArrayInput)(nil)).Elem(), GetWindowsWebAppStickySettingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppStorageAccountInput)(nil)).Elem(), GetWindowsWebAppStorageAccountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsWebAppStorageAccountArrayInput)(nil)).Elem(), GetWindowsWebAppStorageAccountArray{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigArrayOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigApplicationStackOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigApplicationStackArrayOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingArrayOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingActionOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingActionArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(GetLinuxWebAppSiteConfigCorOutput{}) @@ -13477,6 +14609,8 @@ func init() { pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArrayOutput{}) pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestOutput{}) pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArrayOutput{}) + pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathOutput{}) + pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArrayOutput{}) pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeOutput{}) pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArrayOutput{}) pulumi.RegisterOutputType(GetWindowsWebAppSiteConfigCorOutput{}) diff --git a/sdk/go/azure/compute/automanageConfigurationAssignment.go b/sdk/go/azure/compute/automanageConfigurationAssignment.go new file mode 100644 index 0000000000..3c763eeca5 --- /dev/null +++ b/sdk/go/azure/compute/automanageConfigurationAssignment.go @@ -0,0 +1,352 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package compute + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Virtual Machine Automanage Configuration Profile Assignment. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automanage" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-rg"), +// Location: pulumi.String("westus"), +// }) +// if err != nil { +// return err +// } +// exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{ +// Name: pulumi.String("examplevnet"), +// AddressSpaces: pulumi.StringArray{ +// pulumi.String("10.0.0.0/16"), +// }, +// Location: example.Location, +// ResourceGroupName: example.Name, +// }) +// if err != nil { +// return err +// } +// exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{ +// Name: pulumi.String("internal"), +// ResourceGroupName: example.Name, +// VirtualNetworkName: exampleVirtualNetwork.Name, +// AddressPrefixes: pulumi.StringArray{ +// pulumi.String("10.0.2.0/24"), +// }, +// }) +// if err != nil { +// return err +// } +// exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{ +// Name: pulumi.String("exampleni"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// IpConfigurations: network.NetworkInterfaceIpConfigurationArray{ +// &network.NetworkInterfaceIpConfigurationArgs{ +// Name: pulumi.String("internal"), +// SubnetId: exampleSubnet.ID(), +// PrivateIpAddressAllocation: pulumi.String("Dynamic"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// exampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{ +// Name: pulumi.String("examplevm"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// Size: pulumi.String("Standard_F2"), +// AdminUsername: pulumi.String("adminuser"), +// AdminPassword: pulumi.String("P@$$w0rd1234!"), +// DisablePasswordAuthentication: pulumi.Bool(false), +// NetworkInterfaceIds: pulumi.StringArray{ +// exampleNetworkInterface.ID(), +// }, +// OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{ +// Caching: pulumi.String("ReadWrite"), +// StorageAccountType: pulumi.String("Standard_LRS"), +// }, +// SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{ +// Publisher: pulumi.String("Canonical"), +// Offer: pulumi.String("0001-com-ubuntu-server-jammy"), +// Sku: pulumi.String("22_04-lts"), +// Version: pulumi.String("latest"), +// }, +// }) +// if err != nil { +// return err +// } +// exampleConfiguration, err := automanage.NewConfiguration(ctx, "example", &automanage.ConfigurationArgs{ +// Name: pulumi.String("exampleconfig"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// }) +// if err != nil { +// return err +// } +// _, err = compute.NewAutomanageConfigurationAssignment(ctx, "example", &compute.AutomanageConfigurationAssignmentArgs{ +// VirtualMachineId: exampleLinuxVirtualMachine.ID(), +// ConfigurationId: exampleConfiguration.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default +// ``` +type AutomanageConfigurationAssignment struct { + pulumi.CustomResourceState + + // The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + ConfigurationId pulumi.StringOutput `pulumi:"configurationId"` + // The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"` +} + +// NewAutomanageConfigurationAssignment registers a new resource with the given unique name, arguments, and options. +func NewAutomanageConfigurationAssignment(ctx *pulumi.Context, + name string, args *AutomanageConfigurationAssignmentArgs, opts ...pulumi.ResourceOption) (*AutomanageConfigurationAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'ConfigurationId'") + } + if args.VirtualMachineId == nil { + return nil, errors.New("invalid value for required argument 'VirtualMachineId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AutomanageConfigurationAssignment + err := ctx.RegisterResource("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAutomanageConfigurationAssignment gets an existing AutomanageConfigurationAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAutomanageConfigurationAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AutomanageConfigurationAssignmentState, opts ...pulumi.ResourceOption) (*AutomanageConfigurationAssignment, error) { + var resource AutomanageConfigurationAssignment + err := ctx.ReadResource("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AutomanageConfigurationAssignment resources. +type automanageConfigurationAssignmentState struct { + // The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + ConfigurationId *string `pulumi:"configurationId"` + // The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + VirtualMachineId *string `pulumi:"virtualMachineId"` +} + +type AutomanageConfigurationAssignmentState struct { + // The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + ConfigurationId pulumi.StringPtrInput + // The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringPtrInput +} + +func (AutomanageConfigurationAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*automanageConfigurationAssignmentState)(nil)).Elem() +} + +type automanageConfigurationAssignmentArgs struct { + // The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + ConfigurationId string `pulumi:"configurationId"` + // The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + VirtualMachineId string `pulumi:"virtualMachineId"` +} + +// The set of arguments for constructing a AutomanageConfigurationAssignment resource. +type AutomanageConfigurationAssignmentArgs struct { + // The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + ConfigurationId pulumi.StringInput + // The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringInput +} + +func (AutomanageConfigurationAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*automanageConfigurationAssignmentArgs)(nil)).Elem() +} + +type AutomanageConfigurationAssignmentInput interface { + pulumi.Input + + ToAutomanageConfigurationAssignmentOutput() AutomanageConfigurationAssignmentOutput + ToAutomanageConfigurationAssignmentOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentOutput +} + +func (*AutomanageConfigurationAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (i *AutomanageConfigurationAssignment) ToAutomanageConfigurationAssignmentOutput() AutomanageConfigurationAssignmentOutput { + return i.ToAutomanageConfigurationAssignmentOutputWithContext(context.Background()) +} + +func (i *AutomanageConfigurationAssignment) ToAutomanageConfigurationAssignmentOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomanageConfigurationAssignmentOutput) +} + +// AutomanageConfigurationAssignmentArrayInput is an input type that accepts AutomanageConfigurationAssignmentArray and AutomanageConfigurationAssignmentArrayOutput values. +// You can construct a concrete instance of `AutomanageConfigurationAssignmentArrayInput` via: +// +// AutomanageConfigurationAssignmentArray{ AutomanageConfigurationAssignmentArgs{...} } +type AutomanageConfigurationAssignmentArrayInput interface { + pulumi.Input + + ToAutomanageConfigurationAssignmentArrayOutput() AutomanageConfigurationAssignmentArrayOutput + ToAutomanageConfigurationAssignmentArrayOutputWithContext(context.Context) AutomanageConfigurationAssignmentArrayOutput +} + +type AutomanageConfigurationAssignmentArray []AutomanageConfigurationAssignmentInput + +func (AutomanageConfigurationAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (i AutomanageConfigurationAssignmentArray) ToAutomanageConfigurationAssignmentArrayOutput() AutomanageConfigurationAssignmentArrayOutput { + return i.ToAutomanageConfigurationAssignmentArrayOutputWithContext(context.Background()) +} + +func (i AutomanageConfigurationAssignmentArray) ToAutomanageConfigurationAssignmentArrayOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomanageConfigurationAssignmentArrayOutput) +} + +// AutomanageConfigurationAssignmentMapInput is an input type that accepts AutomanageConfigurationAssignmentMap and AutomanageConfigurationAssignmentMapOutput values. +// You can construct a concrete instance of `AutomanageConfigurationAssignmentMapInput` via: +// +// AutomanageConfigurationAssignmentMap{ "key": AutomanageConfigurationAssignmentArgs{...} } +type AutomanageConfigurationAssignmentMapInput interface { + pulumi.Input + + ToAutomanageConfigurationAssignmentMapOutput() AutomanageConfigurationAssignmentMapOutput + ToAutomanageConfigurationAssignmentMapOutputWithContext(context.Context) AutomanageConfigurationAssignmentMapOutput +} + +type AutomanageConfigurationAssignmentMap map[string]AutomanageConfigurationAssignmentInput + +func (AutomanageConfigurationAssignmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (i AutomanageConfigurationAssignmentMap) ToAutomanageConfigurationAssignmentMapOutput() AutomanageConfigurationAssignmentMapOutput { + return i.ToAutomanageConfigurationAssignmentMapOutputWithContext(context.Background()) +} + +func (i AutomanageConfigurationAssignmentMap) ToAutomanageConfigurationAssignmentMapOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutomanageConfigurationAssignmentMapOutput) +} + +type AutomanageConfigurationAssignmentOutput struct{ *pulumi.OutputState } + +func (AutomanageConfigurationAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (o AutomanageConfigurationAssignmentOutput) ToAutomanageConfigurationAssignmentOutput() AutomanageConfigurationAssignmentOutput { + return o +} + +func (o AutomanageConfigurationAssignmentOutput) ToAutomanageConfigurationAssignmentOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentOutput { + return o +} + +// The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. +func (o AutomanageConfigurationAssignmentOutput) ConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *AutomanageConfigurationAssignment) pulumi.StringOutput { return v.ConfigurationId }).(pulumi.StringOutput) +} + +// The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. +func (o AutomanageConfigurationAssignmentOutput) VirtualMachineId() pulumi.StringOutput { + return o.ApplyT(func(v *AutomanageConfigurationAssignment) pulumi.StringOutput { return v.VirtualMachineId }).(pulumi.StringOutput) +} + +type AutomanageConfigurationAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (AutomanageConfigurationAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (o AutomanageConfigurationAssignmentArrayOutput) ToAutomanageConfigurationAssignmentArrayOutput() AutomanageConfigurationAssignmentArrayOutput { + return o +} + +func (o AutomanageConfigurationAssignmentArrayOutput) ToAutomanageConfigurationAssignmentArrayOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentArrayOutput { + return o +} + +func (o AutomanageConfigurationAssignmentArrayOutput) Index(i pulumi.IntInput) AutomanageConfigurationAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AutomanageConfigurationAssignment { + return vs[0].([]*AutomanageConfigurationAssignment)[vs[1].(int)] + }).(AutomanageConfigurationAssignmentOutput) +} + +type AutomanageConfigurationAssignmentMapOutput struct{ *pulumi.OutputState } + +func (AutomanageConfigurationAssignmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AutomanageConfigurationAssignment)(nil)).Elem() +} + +func (o AutomanageConfigurationAssignmentMapOutput) ToAutomanageConfigurationAssignmentMapOutput() AutomanageConfigurationAssignmentMapOutput { + return o +} + +func (o AutomanageConfigurationAssignmentMapOutput) ToAutomanageConfigurationAssignmentMapOutputWithContext(ctx context.Context) AutomanageConfigurationAssignmentMapOutput { + return o +} + +func (o AutomanageConfigurationAssignmentMapOutput) MapIndex(k pulumi.StringInput) AutomanageConfigurationAssignmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AutomanageConfigurationAssignment { + return vs[0].(map[string]*AutomanageConfigurationAssignment)[vs[1].(string)] + }).(AutomanageConfigurationAssignmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AutomanageConfigurationAssignmentInput)(nil)).Elem(), &AutomanageConfigurationAssignment{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutomanageConfigurationAssignmentArrayInput)(nil)).Elem(), AutomanageConfigurationAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutomanageConfigurationAssignmentMapInput)(nil)).Elem(), AutomanageConfigurationAssignmentMap{}) + pulumi.RegisterOutputType(AutomanageConfigurationAssignmentOutput{}) + pulumi.RegisterOutputType(AutomanageConfigurationAssignmentArrayOutput{}) + pulumi.RegisterOutputType(AutomanageConfigurationAssignmentMapOutput{}) +} diff --git a/sdk/go/azure/compute/bastionHost.go b/sdk/go/azure/compute/bastionHost.go index c4bd970e05..2728c37ecc 100644 --- a/sdk/go/azure/compute/bastionHost.go +++ b/sdk/go/azure/compute/bastionHost.go @@ -114,6 +114,10 @@ type BastionHost struct { // // > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. IpConnectEnabled pulumi.BoolPtrOutput `pulumi:"ipConnectEnabled"` + // Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + // + // > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + KerberosEnabled pulumi.BoolPtrOutput `pulumi:"kerberosEnabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. Location pulumi.StringOutput `pulumi:"location"` // Specifies the name of the Bastion Host. Changing this forces a new resource to be created. @@ -190,6 +194,10 @@ type bastionHostState struct { // // > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. IpConnectEnabled *bool `pulumi:"ipConnectEnabled"` + // Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + // + // > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + KerberosEnabled *bool `pulumi:"kerberosEnabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. Location *string `pulumi:"location"` // Specifies the name of the Bastion Host. Changing this forces a new resource to be created. @@ -231,6 +239,10 @@ type BastionHostState struct { // // > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. IpConnectEnabled pulumi.BoolPtrInput + // Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + // + // > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + KerberosEnabled pulumi.BoolPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. Location pulumi.StringPtrInput // Specifies the name of the Bastion Host. Changing this forces a new resource to be created. @@ -274,6 +286,10 @@ type bastionHostArgs struct { // // > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. IpConnectEnabled *bool `pulumi:"ipConnectEnabled"` + // Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + // + // > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + KerberosEnabled *bool `pulumi:"kerberosEnabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. Location *string `pulumi:"location"` // Specifies the name of the Bastion Host. Changing this forces a new resource to be created. @@ -314,6 +330,10 @@ type BastionHostArgs struct { // // > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. IpConnectEnabled pulumi.BoolPtrInput + // Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + // + // > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + KerberosEnabled pulumi.BoolPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. Location pulumi.StringPtrInput // Specifies the name of the Bastion Host. Changing this forces a new resource to be created. @@ -456,6 +476,13 @@ func (o BastionHostOutput) IpConnectEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *BastionHost) pulumi.BoolPtrOutput { return v.IpConnectEnabled }).(pulumi.BoolPtrOutput) } +// Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. +// +// > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. +func (o BastionHostOutput) KerberosEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BastionHost) pulumi.BoolPtrOutput { return v.KerberosEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. func (o BastionHostOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v *BastionHost) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) diff --git a/sdk/go/azure/compute/galleryApplicationAssignment.go b/sdk/go/azure/compute/galleryApplicationAssignment.go new file mode 100644 index 0000000000..07ff7bfb32 --- /dev/null +++ b/sdk/go/azure/compute/galleryApplicationAssignment.go @@ -0,0 +1,400 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package compute + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Virtual Machine Gallery Application Assignment. +// +// > **Note:** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` and `compute.WindowsVirtualMachine` resources, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignoreChanges` for the `galleryApplication` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := compute.LookupVirtualMachine(ctx, &compute.LookupVirtualMachineArgs{ +// Name: "example-vm", +// ResourceGroupName: "example-resources-vm", +// }, nil) +// if err != nil { +// return err +// } +// exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// exampleSharedImageGallery, err := compute.NewSharedImageGallery(ctx, "example", &compute.SharedImageGalleryArgs{ +// Name: pulumi.String("examplegallery"), +// ResourceGroupName: exampleResourceGroup.Name, +// Location: exampleResourceGroup.Location, +// }) +// if err != nil { +// return err +// } +// exampleGalleryApplication, err := compute.NewGalleryApplication(ctx, "example", &compute.GalleryApplicationArgs{ +// Name: pulumi.String("example-app"), +// GalleryId: exampleSharedImageGallery.ID(), +// Location: exampleResourceGroup.Location, +// SupportedOsType: pulumi.String("Linux"), +// }) +// if err != nil { +// return err +// } +// exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{ +// Name: pulumi.String("examplestorage"), +// ResourceGroupName: exampleResourceGroup.Name, +// Location: exampleResourceGroup.Location, +// AccountTier: pulumi.String("Standard"), +// AccountReplicationType: pulumi.String("LRS"), +// }) +// if err != nil { +// return err +// } +// exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{ +// Name: pulumi.String("example-container"), +// StorageAccountName: exampleAccount.Name, +// ContainerAccessType: pulumi.String("blob"), +// }) +// if err != nil { +// return err +// } +// exampleBlob, err := storage.NewBlob(ctx, "example", &storage.BlobArgs{ +// Name: pulumi.String("scripts"), +// StorageAccountName: exampleAccount.Name, +// StorageContainerName: exampleContainer.Name, +// Type: pulumi.String("Block"), +// SourceContent: pulumi.String("[scripts file content]"), +// }) +// if err != nil { +// return err +// } +// exampleGalleryApplicationVersion, err := compute.NewGalleryApplicationVersion(ctx, "example", &compute.GalleryApplicationVersionArgs{ +// Name: pulumi.String("0.0.1"), +// GalleryApplicationId: exampleGalleryApplication.ID(), +// Location: exampleGalleryApplication.Location, +// ManageAction: &compute.GalleryApplicationVersionManageActionArgs{ +// Install: pulumi.String("[install command]"), +// Remove: pulumi.String("[remove command]"), +// }, +// Source: &compute.GalleryApplicationVersionSourceArgs{ +// MediaLink: exampleBlob.ID(), +// }, +// TargetRegions: compute.GalleryApplicationVersionTargetRegionArray{ +// &compute.GalleryApplicationVersionTargetRegionArgs{ +// Name: exampleGalleryApplication.Location, +// RegionalReplicaCount: pulumi.Int(1), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = compute.NewGalleryApplicationAssignment(ctx, "example", &compute.GalleryApplicationAssignmentArgs{ +// GalleryApplicationVersionId: exampleGalleryApplicationVersion.ID(), +// VirtualMachineId: pulumi.String(example.Id), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 +// ``` +type GalleryApplicationAssignment struct { + pulumi.CustomResourceState + + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + ConfigurationBlobUri pulumi.StringPtrOutput `pulumi:"configurationBlobUri"` + // The ID of the Gallery Application Version. Changing this forces a new resource to be created. + GalleryApplicationVersionId pulumi.StringOutput `pulumi:"galleryApplicationVersionId"` + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + Order pulumi.IntPtrOutput `pulumi:"order"` + // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + Tag pulumi.StringPtrOutput `pulumi:"tag"` + // The ID of the Virtual Machine. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"` +} + +// NewGalleryApplicationAssignment registers a new resource with the given unique name, arguments, and options. +func NewGalleryApplicationAssignment(ctx *pulumi.Context, + name string, args *GalleryApplicationAssignmentArgs, opts ...pulumi.ResourceOption) (*GalleryApplicationAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GalleryApplicationVersionId == nil { + return nil, errors.New("invalid value for required argument 'GalleryApplicationVersionId'") + } + if args.VirtualMachineId == nil { + return nil, errors.New("invalid value for required argument 'VirtualMachineId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GalleryApplicationAssignment + err := ctx.RegisterResource("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGalleryApplicationAssignment gets an existing GalleryApplicationAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGalleryApplicationAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GalleryApplicationAssignmentState, opts ...pulumi.ResourceOption) (*GalleryApplicationAssignment, error) { + var resource GalleryApplicationAssignment + err := ctx.ReadResource("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GalleryApplicationAssignment resources. +type galleryApplicationAssignmentState struct { + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` + // The ID of the Gallery Application Version. Changing this forces a new resource to be created. + GalleryApplicationVersionId *string `pulumi:"galleryApplicationVersionId"` + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + Order *int `pulumi:"order"` + // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + Tag *string `pulumi:"tag"` + // The ID of the Virtual Machine. Changing this forces a new resource to be created. + VirtualMachineId *string `pulumi:"virtualMachineId"` +} + +type GalleryApplicationAssignmentState struct { + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + ConfigurationBlobUri pulumi.StringPtrInput + // The ID of the Gallery Application Version. Changing this forces a new resource to be created. + GalleryApplicationVersionId pulumi.StringPtrInput + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + Order pulumi.IntPtrInput + // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + Tag pulumi.StringPtrInput + // The ID of the Virtual Machine. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringPtrInput +} + +func (GalleryApplicationAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*galleryApplicationAssignmentState)(nil)).Elem() +} + +type galleryApplicationAssignmentArgs struct { + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` + // The ID of the Gallery Application Version. Changing this forces a new resource to be created. + GalleryApplicationVersionId string `pulumi:"galleryApplicationVersionId"` + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + Order *int `pulumi:"order"` + // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + Tag *string `pulumi:"tag"` + // The ID of the Virtual Machine. Changing this forces a new resource to be created. + VirtualMachineId string `pulumi:"virtualMachineId"` +} + +// The set of arguments for constructing a GalleryApplicationAssignment resource. +type GalleryApplicationAssignmentArgs struct { + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + ConfigurationBlobUri pulumi.StringPtrInput + // The ID of the Gallery Application Version. Changing this forces a new resource to be created. + GalleryApplicationVersionId pulumi.StringInput + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + Order pulumi.IntPtrInput + // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + Tag pulumi.StringPtrInput + // The ID of the Virtual Machine. Changing this forces a new resource to be created. + VirtualMachineId pulumi.StringInput +} + +func (GalleryApplicationAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*galleryApplicationAssignmentArgs)(nil)).Elem() +} + +type GalleryApplicationAssignmentInput interface { + pulumi.Input + + ToGalleryApplicationAssignmentOutput() GalleryApplicationAssignmentOutput + ToGalleryApplicationAssignmentOutputWithContext(ctx context.Context) GalleryApplicationAssignmentOutput +} + +func (*GalleryApplicationAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**GalleryApplicationAssignment)(nil)).Elem() +} + +func (i *GalleryApplicationAssignment) ToGalleryApplicationAssignmentOutput() GalleryApplicationAssignmentOutput { + return i.ToGalleryApplicationAssignmentOutputWithContext(context.Background()) +} + +func (i *GalleryApplicationAssignment) ToGalleryApplicationAssignmentOutputWithContext(ctx context.Context) GalleryApplicationAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GalleryApplicationAssignmentOutput) +} + +// GalleryApplicationAssignmentArrayInput is an input type that accepts GalleryApplicationAssignmentArray and GalleryApplicationAssignmentArrayOutput values. +// You can construct a concrete instance of `GalleryApplicationAssignmentArrayInput` via: +// +// GalleryApplicationAssignmentArray{ GalleryApplicationAssignmentArgs{...} } +type GalleryApplicationAssignmentArrayInput interface { + pulumi.Input + + ToGalleryApplicationAssignmentArrayOutput() GalleryApplicationAssignmentArrayOutput + ToGalleryApplicationAssignmentArrayOutputWithContext(context.Context) GalleryApplicationAssignmentArrayOutput +} + +type GalleryApplicationAssignmentArray []GalleryApplicationAssignmentInput + +func (GalleryApplicationAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GalleryApplicationAssignment)(nil)).Elem() +} + +func (i GalleryApplicationAssignmentArray) ToGalleryApplicationAssignmentArrayOutput() GalleryApplicationAssignmentArrayOutput { + return i.ToGalleryApplicationAssignmentArrayOutputWithContext(context.Background()) +} + +func (i GalleryApplicationAssignmentArray) ToGalleryApplicationAssignmentArrayOutputWithContext(ctx context.Context) GalleryApplicationAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GalleryApplicationAssignmentArrayOutput) +} + +// GalleryApplicationAssignmentMapInput is an input type that accepts GalleryApplicationAssignmentMap and GalleryApplicationAssignmentMapOutput values. +// You can construct a concrete instance of `GalleryApplicationAssignmentMapInput` via: +// +// GalleryApplicationAssignmentMap{ "key": GalleryApplicationAssignmentArgs{...} } +type GalleryApplicationAssignmentMapInput interface { + pulumi.Input + + ToGalleryApplicationAssignmentMapOutput() GalleryApplicationAssignmentMapOutput + ToGalleryApplicationAssignmentMapOutputWithContext(context.Context) GalleryApplicationAssignmentMapOutput +} + +type GalleryApplicationAssignmentMap map[string]GalleryApplicationAssignmentInput + +func (GalleryApplicationAssignmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GalleryApplicationAssignment)(nil)).Elem() +} + +func (i GalleryApplicationAssignmentMap) ToGalleryApplicationAssignmentMapOutput() GalleryApplicationAssignmentMapOutput { + return i.ToGalleryApplicationAssignmentMapOutputWithContext(context.Background()) +} + +func (i GalleryApplicationAssignmentMap) ToGalleryApplicationAssignmentMapOutputWithContext(ctx context.Context) GalleryApplicationAssignmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GalleryApplicationAssignmentMapOutput) +} + +type GalleryApplicationAssignmentOutput struct{ *pulumi.OutputState } + +func (GalleryApplicationAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GalleryApplicationAssignment)(nil)).Elem() +} + +func (o GalleryApplicationAssignmentOutput) ToGalleryApplicationAssignmentOutput() GalleryApplicationAssignmentOutput { + return o +} + +func (o GalleryApplicationAssignmentOutput) ToGalleryApplicationAssignmentOutputWithContext(ctx context.Context) GalleryApplicationAssignmentOutput { + return o +} + +// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. +func (o GalleryApplicationAssignmentOutput) ConfigurationBlobUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GalleryApplicationAssignment) pulumi.StringPtrOutput { return v.ConfigurationBlobUri }).(pulumi.StringPtrOutput) +} + +// The ID of the Gallery Application Version. Changing this forces a new resource to be created. +func (o GalleryApplicationAssignmentOutput) GalleryApplicationVersionId() pulumi.StringOutput { + return o.ApplyT(func(v *GalleryApplicationAssignment) pulumi.StringOutput { return v.GalleryApplicationVersionId }).(pulumi.StringOutput) +} + +// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. +func (o GalleryApplicationAssignmentOutput) Order() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GalleryApplicationAssignment) pulumi.IntPtrOutput { return v.Order }).(pulumi.IntPtrOutput) +} + +// Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. +func (o GalleryApplicationAssignmentOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GalleryApplicationAssignment) pulumi.StringPtrOutput { return v.Tag }).(pulumi.StringPtrOutput) +} + +// The ID of the Virtual Machine. Changing this forces a new resource to be created. +func (o GalleryApplicationAssignmentOutput) VirtualMachineId() pulumi.StringOutput { + return o.ApplyT(func(v *GalleryApplicationAssignment) pulumi.StringOutput { return v.VirtualMachineId }).(pulumi.StringOutput) +} + +type GalleryApplicationAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (GalleryApplicationAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GalleryApplicationAssignment)(nil)).Elem() +} + +func (o GalleryApplicationAssignmentArrayOutput) ToGalleryApplicationAssignmentArrayOutput() GalleryApplicationAssignmentArrayOutput { + return o +} + +func (o GalleryApplicationAssignmentArrayOutput) ToGalleryApplicationAssignmentArrayOutputWithContext(ctx context.Context) GalleryApplicationAssignmentArrayOutput { + return o +} + +func (o GalleryApplicationAssignmentArrayOutput) Index(i pulumi.IntInput) GalleryApplicationAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GalleryApplicationAssignment { + return vs[0].([]*GalleryApplicationAssignment)[vs[1].(int)] + }).(GalleryApplicationAssignmentOutput) +} + +type GalleryApplicationAssignmentMapOutput struct{ *pulumi.OutputState } + +func (GalleryApplicationAssignmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GalleryApplicationAssignment)(nil)).Elem() +} + +func (o GalleryApplicationAssignmentMapOutput) ToGalleryApplicationAssignmentMapOutput() GalleryApplicationAssignmentMapOutput { + return o +} + +func (o GalleryApplicationAssignmentMapOutput) ToGalleryApplicationAssignmentMapOutputWithContext(ctx context.Context) GalleryApplicationAssignmentMapOutput { + return o +} + +func (o GalleryApplicationAssignmentMapOutput) MapIndex(k pulumi.StringInput) GalleryApplicationAssignmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GalleryApplicationAssignment { + return vs[0].(map[string]*GalleryApplicationAssignment)[vs[1].(string)] + }).(GalleryApplicationAssignmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GalleryApplicationAssignmentInput)(nil)).Elem(), &GalleryApplicationAssignment{}) + pulumi.RegisterInputType(reflect.TypeOf((*GalleryApplicationAssignmentArrayInput)(nil)).Elem(), GalleryApplicationAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GalleryApplicationAssignmentMapInput)(nil)).Elem(), GalleryApplicationAssignmentMap{}) + pulumi.RegisterOutputType(GalleryApplicationAssignmentOutput{}) + pulumi.RegisterOutputType(GalleryApplicationAssignmentArrayOutput{}) + pulumi.RegisterOutputType(GalleryApplicationAssignmentMapOutput{}) +} diff --git a/sdk/go/azure/compute/init.go b/sdk/go/azure/compute/init.go index 1d71d98a8a..4f53e4d190 100644 --- a/sdk/go/azure/compute/init.go +++ b/sdk/go/azure/compute/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment": + r = &AutomanageConfigurationAssignment{} case "azure:compute/availabilitySet:AvailabilitySet": r = &AvailabilitySet{} case "azure:compute/bastionHost:BastionHost": @@ -51,6 +53,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Extension{} case "azure:compute/galleryApplication:GalleryApplication": r = &GalleryApplication{} + case "azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment": + r = &GalleryApplicationAssignment{} case "azure:compute/galleryApplicationVersion:GalleryApplicationVersion": r = &GalleryApplicationVersion{} case "azure:compute/image:Image": @@ -104,6 +108,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "azure", + "compute/automanageConfigurationAssignment", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "compute/availabilitySet", @@ -179,6 +188,11 @@ func init() { "compute/galleryApplication", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "compute/galleryApplicationAssignment", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "compute/galleryApplicationVersion", diff --git a/sdk/go/azure/compute/linuxVirtualMachine.go b/sdk/go/azure/compute/linuxVirtualMachine.go index 0717a6db8b..983298595d 100644 --- a/sdk/go/azure/compute/linuxVirtualMachine.go +++ b/sdk/go/azure/compute/linuxVirtualMachine.go @@ -194,10 +194,12 @@ type LinuxVirtualMachine struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrOutput `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications LinuxVirtualMachineGalleryApplicationArrayOutput `pulumi:"galleryApplications"` // An `identity` block as defined below. Identity LinuxVirtualMachineIdentityPtrOutput `pulumi:"identity"` - // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. LicenseType pulumi.StringPtrOutput `pulumi:"licenseType"` // The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` @@ -393,10 +395,12 @@ type linuxVirtualMachineState struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget *string `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications []LinuxVirtualMachineGalleryApplication `pulumi:"galleryApplications"` // An `identity` block as defined below. Identity *LinuxVirtualMachineIdentity `pulumi:"identity"` - // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. LicenseType *string `pulumi:"licenseType"` // The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. Location *string `pulumi:"location"` @@ -537,10 +541,12 @@ type LinuxVirtualMachineState struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrInput // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications LinuxVirtualMachineGalleryApplicationArrayInput // An `identity` block as defined below. Identity LinuxVirtualMachineIdentityPtrInput - // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. LicenseType pulumi.StringPtrInput // The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. Location pulumi.StringPtrInput @@ -685,10 +691,12 @@ type linuxVirtualMachineArgs struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget *string `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications []LinuxVirtualMachineGalleryApplication `pulumi:"galleryApplications"` // An `identity` block as defined below. Identity *LinuxVirtualMachineIdentity `pulumi:"identity"` - // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. LicenseType *string `pulumi:"licenseType"` // The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. Location *string `pulumi:"location"` @@ -820,10 +828,12 @@ type LinuxVirtualMachineArgs struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrInput // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications LinuxVirtualMachineGalleryApplicationArrayInput // An `identity` block as defined below. Identity LinuxVirtualMachineIdentityPtrInput - // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + // Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. LicenseType pulumi.StringPtrInput // The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. Location pulumi.StringPtrInput @@ -1101,6 +1111,8 @@ func (o LinuxVirtualMachineOutput) ExtensionsTimeBudget() pulumi.StringPtrOutput } // One or more `galleryApplication` blocks as defined below. +// +// > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. func (o LinuxVirtualMachineOutput) GalleryApplications() LinuxVirtualMachineGalleryApplicationArrayOutput { return o.ApplyT(func(v *LinuxVirtualMachine) LinuxVirtualMachineGalleryApplicationArrayOutput { return v.GalleryApplications @@ -1112,7 +1124,7 @@ func (o LinuxVirtualMachineOutput) Identity() LinuxVirtualMachineIdentityPtrOutp return o.ApplyT(func(v *LinuxVirtualMachine) LinuxVirtualMachineIdentityPtrOutput { return v.Identity }).(LinuxVirtualMachineIdentityPtrOutput) } -// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. +// Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. func (o LinuxVirtualMachineOutput) LicenseType() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.StringPtrOutput { return v.LicenseType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/compute/pulumiTypes.go b/sdk/go/azure/compute/pulumiTypes.go index a465cccda3..e36dccf734 100644 --- a/sdk/go/azure/compute/pulumiTypes.go +++ b/sdk/go/azure/compute/pulumiTypes.go @@ -1550,6 +1550,8 @@ func (o ImageOsDiskPtrOutput) SizeGb() pulumi.IntPtrOutput { } type LinuxVirtualMachineAdditionalCapabilities struct { + // Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + HibernationEnabled *bool `pulumi:"hibernationEnabled"` // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. UltraSsdEnabled *bool `pulumi:"ultraSsdEnabled"` } @@ -1566,6 +1568,8 @@ type LinuxVirtualMachineAdditionalCapabilitiesInput interface { } type LinuxVirtualMachineAdditionalCapabilitiesArgs struct { + // Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + HibernationEnabled pulumi.BoolPtrInput `pulumi:"hibernationEnabled"` // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. UltraSsdEnabled pulumi.BoolPtrInput `pulumi:"ultraSsdEnabled"` } @@ -1647,6 +1651,11 @@ func (o LinuxVirtualMachineAdditionalCapabilitiesOutput) ToLinuxVirtualMachineAd }).(LinuxVirtualMachineAdditionalCapabilitiesPtrOutput) } +// Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. +func (o LinuxVirtualMachineAdditionalCapabilitiesOutput) HibernationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LinuxVirtualMachineAdditionalCapabilities) *bool { return v.HibernationEnabled }).(pulumi.BoolPtrOutput) +} + // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. func (o LinuxVirtualMachineAdditionalCapabilitiesOutput) UltraSsdEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v LinuxVirtualMachineAdditionalCapabilities) *bool { return v.UltraSsdEnabled }).(pulumi.BoolPtrOutput) @@ -1676,6 +1685,16 @@ func (o LinuxVirtualMachineAdditionalCapabilitiesPtrOutput) Elem() LinuxVirtualM }).(LinuxVirtualMachineAdditionalCapabilitiesOutput) } +// Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. +func (o LinuxVirtualMachineAdditionalCapabilitiesPtrOutput) HibernationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LinuxVirtualMachineAdditionalCapabilities) *bool { + if v == nil { + return nil + } + return v.HibernationEnabled + }).(pulumi.BoolPtrOutput) +} + // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. func (o LinuxVirtualMachineAdditionalCapabilitiesPtrOutput) UltraSsdEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachineAdditionalCapabilities) *bool { @@ -1948,7 +1967,7 @@ type LinuxVirtualMachineGalleryApplication struct { AutomaticUpgradeEnabled *bool `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` - // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. Order *int `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag *string `pulumi:"tag"` @@ -1974,7 +1993,7 @@ type LinuxVirtualMachineGalleryApplicationArgs struct { AutomaticUpgradeEnabled pulumi.BoolPtrInput `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri pulumi.StringPtrInput `pulumi:"configurationBlobUri"` - // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. Order pulumi.IntPtrInput `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag pulumi.StringPtrInput `pulumi:"tag"` @@ -2045,7 +2064,7 @@ func (o LinuxVirtualMachineGalleryApplicationOutput) ConfigurationBlobUri() pulu return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *string { return v.ConfigurationBlobUri }).(pulumi.StringPtrOutput) } -// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. +// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. func (o LinuxVirtualMachineGalleryApplicationOutput) Order() pulumi.IntPtrOutput { return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *int { return v.Order }).(pulumi.IntPtrOutput) } @@ -5992,6 +6011,10 @@ type LinuxVirtualMachineScaleSetRollingUpgradePolicy struct { MaxUnhealthyInstancePercent int `pulumi:"maxUnhealthyInstancePercent"` // The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. MaxUnhealthyUpgradedInstancePercent int `pulumi:"maxUnhealthyUpgradedInstancePercent"` + // Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + // + // > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + MaximumSurgeInstancesEnabled *bool `pulumi:"maximumSurgeInstancesEnabled"` // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. PauseTimeBetweenBatches string `pulumi:"pauseTimeBetweenBatches"` // Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. @@ -6018,6 +6041,10 @@ type LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs struct { MaxUnhealthyInstancePercent pulumi.IntInput `pulumi:"maxUnhealthyInstancePercent"` // The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. MaxUnhealthyUpgradedInstancePercent pulumi.IntInput `pulumi:"maxUnhealthyUpgradedInstancePercent"` + // Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + // + // > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + MaximumSurgeInstancesEnabled pulumi.BoolPtrInput `pulumi:"maximumSurgeInstancesEnabled"` // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. PauseTimeBetweenBatches pulumi.StringInput `pulumi:"pauseTimeBetweenBatches"` // Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. @@ -6123,6 +6150,13 @@ func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyOutput) MaxUnhealthyUpgra }).(pulumi.IntOutput) } +// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. +// +// > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. +func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyOutput) MaximumSurgeInstancesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LinuxVirtualMachineScaleSetRollingUpgradePolicy) *bool { return v.MaximumSurgeInstancesEnabled }).(pulumi.BoolPtrOutput) +} + // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyOutput) PauseTimeBetweenBatches() pulumi.StringOutput { return o.ApplyT(func(v LinuxVirtualMachineScaleSetRollingUpgradePolicy) string { return v.PauseTimeBetweenBatches }).(pulumi.StringOutput) @@ -6199,6 +6233,18 @@ func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) MaxUnhealthyUp }).(pulumi.IntPtrOutput) } +// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. +// +// > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. +func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) MaximumSurgeInstancesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LinuxVirtualMachineScaleSetRollingUpgradePolicy) *bool { + if v == nil { + return nil + } + return v.MaximumSurgeInstancesEnabled + }).(pulumi.BoolPtrOutput) +} + // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. func (o LinuxVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) PauseTimeBetweenBatches() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachineScaleSetRollingUpgradePolicy) *string { @@ -22317,6 +22363,8 @@ func (o VirtualMachineStorageOsDiskPtrOutput) WriteAcceleratorEnabled() pulumi.B } type WindowsVirtualMachineAdditionalCapabilities struct { + // Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + HibernationEnabled *bool `pulumi:"hibernationEnabled"` // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. UltraSsdEnabled *bool `pulumi:"ultraSsdEnabled"` } @@ -22333,6 +22381,8 @@ type WindowsVirtualMachineAdditionalCapabilitiesInput interface { } type WindowsVirtualMachineAdditionalCapabilitiesArgs struct { + // Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + HibernationEnabled pulumi.BoolPtrInput `pulumi:"hibernationEnabled"` // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. UltraSsdEnabled pulumi.BoolPtrInput `pulumi:"ultraSsdEnabled"` } @@ -22414,6 +22464,11 @@ func (o WindowsVirtualMachineAdditionalCapabilitiesOutput) ToWindowsVirtualMachi }).(WindowsVirtualMachineAdditionalCapabilitiesPtrOutput) } +// Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. +func (o WindowsVirtualMachineAdditionalCapabilitiesOutput) HibernationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WindowsVirtualMachineAdditionalCapabilities) *bool { return v.HibernationEnabled }).(pulumi.BoolPtrOutput) +} + // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. func (o WindowsVirtualMachineAdditionalCapabilitiesOutput) UltraSsdEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v WindowsVirtualMachineAdditionalCapabilities) *bool { return v.UltraSsdEnabled }).(pulumi.BoolPtrOutput) @@ -22443,6 +22498,16 @@ func (o WindowsVirtualMachineAdditionalCapabilitiesPtrOutput) Elem() WindowsVirt }).(WindowsVirtualMachineAdditionalCapabilitiesOutput) } +// Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. +func (o WindowsVirtualMachineAdditionalCapabilitiesPtrOutput) HibernationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WindowsVirtualMachineAdditionalCapabilities) *bool { + if v == nil { + return nil + } + return v.HibernationEnabled + }).(pulumi.BoolPtrOutput) +} + // Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. func (o WindowsVirtualMachineAdditionalCapabilitiesPtrOutput) UltraSsdEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachineAdditionalCapabilities) *bool { @@ -22709,7 +22774,7 @@ type WindowsVirtualMachineGalleryApplication struct { AutomaticUpgradeEnabled *bool `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` - // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. Order *int `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag *string `pulumi:"tag"` @@ -22735,7 +22800,7 @@ type WindowsVirtualMachineGalleryApplicationArgs struct { AutomaticUpgradeEnabled pulumi.BoolPtrInput `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri pulumi.StringPtrInput `pulumi:"configurationBlobUri"` - // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. Order pulumi.IntPtrInput `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag pulumi.StringPtrInput `pulumi:"tag"` @@ -22806,7 +22871,7 @@ func (o WindowsVirtualMachineGalleryApplicationOutput) ConfigurationBlobUri() pu return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *string { return v.ConfigurationBlobUri }).(pulumi.StringPtrOutput) } -// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. +// Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. func (o WindowsVirtualMachineGalleryApplicationOutput) Order() pulumi.IntPtrOutput { return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *int { return v.Order }).(pulumi.IntPtrOutput) } @@ -26757,6 +26822,10 @@ type WindowsVirtualMachineScaleSetRollingUpgradePolicy struct { MaxUnhealthyInstancePercent int `pulumi:"maxUnhealthyInstancePercent"` // The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. MaxUnhealthyUpgradedInstancePercent int `pulumi:"maxUnhealthyUpgradedInstancePercent"` + // Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + // + // > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + MaximumSurgeInstancesEnabled *bool `pulumi:"maximumSurgeInstancesEnabled"` // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. PauseTimeBetweenBatches string `pulumi:"pauseTimeBetweenBatches"` // Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. @@ -26783,6 +26852,10 @@ type WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs struct { MaxUnhealthyInstancePercent pulumi.IntInput `pulumi:"maxUnhealthyInstancePercent"` // The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. MaxUnhealthyUpgradedInstancePercent pulumi.IntInput `pulumi:"maxUnhealthyUpgradedInstancePercent"` + // Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + // + // > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + MaximumSurgeInstancesEnabled pulumi.BoolPtrInput `pulumi:"maximumSurgeInstancesEnabled"` // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. PauseTimeBetweenBatches pulumi.StringInput `pulumi:"pauseTimeBetweenBatches"` // Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. @@ -26888,6 +26961,13 @@ func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyOutput) MaxUnhealthyUpg }).(pulumi.IntOutput) } +// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. +// +// > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. +func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyOutput) MaximumSurgeInstancesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WindowsVirtualMachineScaleSetRollingUpgradePolicy) *bool { return v.MaximumSurgeInstancesEnabled }).(pulumi.BoolPtrOutput) +} + // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyOutput) PauseTimeBetweenBatches() pulumi.StringOutput { return o.ApplyT(func(v WindowsVirtualMachineScaleSetRollingUpgradePolicy) string { return v.PauseTimeBetweenBatches }).(pulumi.StringOutput) @@ -26964,6 +27044,18 @@ func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) MaxUnhealthy }).(pulumi.IntPtrOutput) } +// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. +// +// > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. +func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) MaximumSurgeInstancesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WindowsVirtualMachineScaleSetRollingUpgradePolicy) *bool { + if v == nil { + return nil + } + return v.MaximumSurgeInstancesEnabled + }).(pulumi.BoolPtrOutput) +} + // The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. func (o WindowsVirtualMachineScaleSetRollingUpgradePolicyPtrOutput) PauseTimeBetweenBatches() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachineScaleSetRollingUpgradePolicy) *string { diff --git a/sdk/go/azure/compute/windowsVirtualMachine.go b/sdk/go/azure/compute/windowsVirtualMachine.go index ad9e317d71..3d6135884a 100644 --- a/sdk/go/azure/compute/windowsVirtualMachine.go +++ b/sdk/go/azure/compute/windowsVirtualMachine.go @@ -173,6 +173,8 @@ type WindowsVirtualMachine struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrOutput `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications WindowsVirtualMachineGalleryApplicationArrayOutput `pulumi:"galleryApplications"` // Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). // @@ -374,6 +376,8 @@ type windowsVirtualMachineState struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget *string `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications []WindowsVirtualMachineGalleryApplication `pulumi:"galleryApplications"` // Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). // @@ -517,6 +521,8 @@ type WindowsVirtualMachineState struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrInput // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications WindowsVirtualMachineGalleryApplicationArrayInput // Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). // @@ -664,6 +670,8 @@ type windowsVirtualMachineArgs struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget *string `pulumi:"extensionsTimeBudget"` // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications []WindowsVirtualMachineGalleryApplication `pulumi:"galleryApplications"` // Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). // @@ -798,6 +806,8 @@ type WindowsVirtualMachineArgs struct { // Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. ExtensionsTimeBudget pulumi.StringPtrInput // One or more `galleryApplication` blocks as defined below. + // + // > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. GalleryApplications WindowsVirtualMachineGalleryApplicationArrayInput // Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). // @@ -1080,6 +1090,8 @@ func (o WindowsVirtualMachineOutput) ExtensionsTimeBudget() pulumi.StringPtrOutp } // One or more `galleryApplication` blocks as defined below. +// +// > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. func (o WindowsVirtualMachineOutput) GalleryApplications() WindowsVirtualMachineGalleryApplicationArrayOutput { return o.ApplyT(func(v *WindowsVirtualMachine) WindowsVirtualMachineGalleryApplicationArrayOutput { return v.GalleryApplications diff --git a/sdk/go/azure/config/pulumiTypes.go b/sdk/go/azure/config/pulumiTypes.go index 865be3265b..db977df28f 100644 --- a/sdk/go/azure/config/pulumiTypes.go +++ b/sdk/go/azure/config/pulumiTypes.go @@ -24,6 +24,7 @@ type Features struct { ManagedDisk *FeaturesManagedDisk `pulumi:"managedDisk"` PostgresqlFlexibleServer *FeaturesPostgresqlFlexibleServer `pulumi:"postgresqlFlexibleServer"` RecoveryService *FeaturesRecoveryService `pulumi:"recoveryService"` + RecoveryServicesVaults *FeaturesRecoveryServicesVaults `pulumi:"recoveryServicesVaults"` ResourceGroup *FeaturesResourceGroup `pulumi:"resourceGroup"` Subscription *FeaturesSubscription `pulumi:"subscription"` TemplateDeployment *FeaturesTemplateDeployment `pulumi:"templateDeployment"` @@ -53,6 +54,7 @@ type FeaturesArgs struct { ManagedDisk FeaturesManagedDiskPtrInput `pulumi:"managedDisk"` PostgresqlFlexibleServer FeaturesPostgresqlFlexibleServerPtrInput `pulumi:"postgresqlFlexibleServer"` RecoveryService FeaturesRecoveryServicePtrInput `pulumi:"recoveryService"` + RecoveryServicesVaults FeaturesRecoveryServicesVaultsPtrInput `pulumi:"recoveryServicesVaults"` ResourceGroup FeaturesResourceGroupPtrInput `pulumi:"resourceGroup"` Subscription FeaturesSubscriptionPtrInput `pulumi:"subscription"` TemplateDeployment FeaturesTemplateDeploymentPtrInput `pulumi:"templateDeployment"` @@ -126,6 +128,10 @@ func (o FeaturesOutput) RecoveryService() FeaturesRecoveryServicePtrOutput { return o.ApplyT(func(v Features) *FeaturesRecoveryService { return v.RecoveryService }).(FeaturesRecoveryServicePtrOutput) } +func (o FeaturesOutput) RecoveryServicesVaults() FeaturesRecoveryServicesVaultsPtrOutput { + return o.ApplyT(func(v Features) *FeaturesRecoveryServicesVaults { return v.RecoveryServicesVaults }).(FeaturesRecoveryServicesVaultsPtrOutput) +} + func (o FeaturesOutput) ResourceGroup() FeaturesResourceGroupPtrOutput { return o.ApplyT(func(v Features) *FeaturesResourceGroup { return v.ResourceGroup }).(FeaturesResourceGroupPtrOutput) } @@ -1677,6 +1683,139 @@ func (o FeaturesRecoveryServicePtrOutput) VmBackupStopProtectionAndRetainDataOnD }).(pulumi.BoolPtrOutput) } +type FeaturesRecoveryServicesVaults struct { + RecoverSoftDeletedBackupProtectedVm *bool `pulumi:"recoverSoftDeletedBackupProtectedVm"` +} + +// FeaturesRecoveryServicesVaultsInput is an input type that accepts FeaturesRecoveryServicesVaultsArgs and FeaturesRecoveryServicesVaultsOutput values. +// You can construct a concrete instance of `FeaturesRecoveryServicesVaultsInput` via: +// +// FeaturesRecoveryServicesVaultsArgs{...} +type FeaturesRecoveryServicesVaultsInput interface { + pulumi.Input + + ToFeaturesRecoveryServicesVaultsOutput() FeaturesRecoveryServicesVaultsOutput + ToFeaturesRecoveryServicesVaultsOutputWithContext(context.Context) FeaturesRecoveryServicesVaultsOutput +} + +type FeaturesRecoveryServicesVaultsArgs struct { + RecoverSoftDeletedBackupProtectedVm pulumi.BoolPtrInput `pulumi:"recoverSoftDeletedBackupProtectedVm"` +} + +func (FeaturesRecoveryServicesVaultsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (i FeaturesRecoveryServicesVaultsArgs) ToFeaturesRecoveryServicesVaultsOutput() FeaturesRecoveryServicesVaultsOutput { + return i.ToFeaturesRecoveryServicesVaultsOutputWithContext(context.Background()) +} + +func (i FeaturesRecoveryServicesVaultsArgs) ToFeaturesRecoveryServicesVaultsOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FeaturesRecoveryServicesVaultsOutput) +} + +func (i FeaturesRecoveryServicesVaultsArgs) ToFeaturesRecoveryServicesVaultsPtrOutput() FeaturesRecoveryServicesVaultsPtrOutput { + return i.ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (i FeaturesRecoveryServicesVaultsArgs) ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FeaturesRecoveryServicesVaultsOutput).ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx) +} + +// FeaturesRecoveryServicesVaultsPtrInput is an input type that accepts FeaturesRecoveryServicesVaultsArgs, FeaturesRecoveryServicesVaultsPtr and FeaturesRecoveryServicesVaultsPtrOutput values. +// You can construct a concrete instance of `FeaturesRecoveryServicesVaultsPtrInput` via: +// +// FeaturesRecoveryServicesVaultsArgs{...} +// +// or: +// +// nil +type FeaturesRecoveryServicesVaultsPtrInput interface { + pulumi.Input + + ToFeaturesRecoveryServicesVaultsPtrOutput() FeaturesRecoveryServicesVaultsPtrOutput + ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Context) FeaturesRecoveryServicesVaultsPtrOutput +} + +type featuresRecoveryServicesVaultsPtrType FeaturesRecoveryServicesVaultsArgs + +func FeaturesRecoveryServicesVaultsPtr(v *FeaturesRecoveryServicesVaultsArgs) FeaturesRecoveryServicesVaultsPtrInput { + return (*featuresRecoveryServicesVaultsPtrType)(v) +} + +func (*featuresRecoveryServicesVaultsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (i *featuresRecoveryServicesVaultsPtrType) ToFeaturesRecoveryServicesVaultsPtrOutput() FeaturesRecoveryServicesVaultsPtrOutput { + return i.ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (i *featuresRecoveryServicesVaultsPtrType) ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FeaturesRecoveryServicesVaultsPtrOutput) +} + +type FeaturesRecoveryServicesVaultsOutput struct{ *pulumi.OutputState } + +func (FeaturesRecoveryServicesVaultsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (o FeaturesRecoveryServicesVaultsOutput) ToFeaturesRecoveryServicesVaultsOutput() FeaturesRecoveryServicesVaultsOutput { + return o +} + +func (o FeaturesRecoveryServicesVaultsOutput) ToFeaturesRecoveryServicesVaultsOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsOutput { + return o +} + +func (o FeaturesRecoveryServicesVaultsOutput) ToFeaturesRecoveryServicesVaultsPtrOutput() FeaturesRecoveryServicesVaultsPtrOutput { + return o.ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (o FeaturesRecoveryServicesVaultsOutput) ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FeaturesRecoveryServicesVaults) *FeaturesRecoveryServicesVaults { + return &v + }).(FeaturesRecoveryServicesVaultsPtrOutput) +} + +func (o FeaturesRecoveryServicesVaultsOutput) RecoverSoftDeletedBackupProtectedVm() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FeaturesRecoveryServicesVaults) *bool { return v.RecoverSoftDeletedBackupProtectedVm }).(pulumi.BoolPtrOutput) +} + +type FeaturesRecoveryServicesVaultsPtrOutput struct{ *pulumi.OutputState } + +func (FeaturesRecoveryServicesVaultsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (o FeaturesRecoveryServicesVaultsPtrOutput) ToFeaturesRecoveryServicesVaultsPtrOutput() FeaturesRecoveryServicesVaultsPtrOutput { + return o +} + +func (o FeaturesRecoveryServicesVaultsPtrOutput) ToFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) FeaturesRecoveryServicesVaultsPtrOutput { + return o +} + +func (o FeaturesRecoveryServicesVaultsPtrOutput) Elem() FeaturesRecoveryServicesVaultsOutput { + return o.ApplyT(func(v *FeaturesRecoveryServicesVaults) FeaturesRecoveryServicesVaults { + if v != nil { + return *v + } + var ret FeaturesRecoveryServicesVaults + return ret + }).(FeaturesRecoveryServicesVaultsOutput) +} + +func (o FeaturesRecoveryServicesVaultsPtrOutput) RecoverSoftDeletedBackupProtectedVm() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FeaturesRecoveryServicesVaults) *bool { + if v == nil { + return nil + } + return v.RecoverSoftDeletedBackupProtectedVm + }).(pulumi.BoolPtrOutput) +} + type FeaturesResourceGroup struct { PreventDeletionIfContainsResources *bool `pulumi:"preventDeletionIfContainsResources"` } @@ -2439,6 +2578,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FeaturesPostgresqlFlexibleServerPtrInput)(nil)).Elem(), FeaturesPostgresqlFlexibleServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeaturesRecoveryServiceInput)(nil)).Elem(), FeaturesRecoveryServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeaturesRecoveryServicePtrInput)(nil)).Elem(), FeaturesRecoveryServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FeaturesRecoveryServicesVaultsInput)(nil)).Elem(), FeaturesRecoveryServicesVaultsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FeaturesRecoveryServicesVaultsPtrInput)(nil)).Elem(), FeaturesRecoveryServicesVaultsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeaturesResourceGroupInput)(nil)).Elem(), FeaturesResourceGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeaturesResourceGroupPtrInput)(nil)).Elem(), FeaturesResourceGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeaturesSubscriptionInput)(nil)).Elem(), FeaturesSubscriptionArgs{}) @@ -2470,6 +2611,8 @@ func init() { pulumi.RegisterOutputType(FeaturesPostgresqlFlexibleServerPtrOutput{}) pulumi.RegisterOutputType(FeaturesRecoveryServiceOutput{}) pulumi.RegisterOutputType(FeaturesRecoveryServicePtrOutput{}) + pulumi.RegisterOutputType(FeaturesRecoveryServicesVaultsOutput{}) + pulumi.RegisterOutputType(FeaturesRecoveryServicesVaultsPtrOutput{}) pulumi.RegisterOutputType(FeaturesResourceGroupOutput{}) pulumi.RegisterOutputType(FeaturesResourceGroupPtrOutput{}) pulumi.RegisterOutputType(FeaturesSubscriptionOutput{}) diff --git a/sdk/go/azure/containerapp/environment.go b/sdk/go/azure/containerapp/environment.go index 44abd3dcd5..4ad6359009 100644 --- a/sdk/go/azure/containerapp/environment.go +++ b/sdk/go/azure/containerapp/environment.go @@ -72,6 +72,8 @@ import ( type Environment struct { pulumi.CustomResourceState + // The ID of the Custom Domain Verification for this Container App Environment. + CustomDomainVerificationId pulumi.StringOutput `pulumi:"customDomainVerificationId"` // Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. DaprApplicationInsightsConnectionString pulumi.StringPtrOutput `pulumi:"daprApplicationInsightsConnectionString"` // The default, publicly resolvable, name of this Container App Environment. @@ -154,6 +156,8 @@ func GetEnvironment(ctx *pulumi.Context, // Input properties used for looking up and filtering Environment resources. type environmentState struct { + // The ID of the Custom Domain Verification for this Container App Environment. + CustomDomainVerificationId *string `pulumi:"customDomainVerificationId"` // Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. DaprApplicationInsightsConnectionString *string `pulumi:"daprApplicationInsightsConnectionString"` // The default, publicly resolvable, name of this Container App Environment. @@ -197,6 +201,8 @@ type environmentState struct { } type EnvironmentState struct { + // The ID of the Custom Domain Verification for this Container App Environment. + CustomDomainVerificationId pulumi.StringPtrInput // Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. DaprApplicationInsightsConnectionString pulumi.StringPtrInput // The default, publicly resolvable, name of this Container App Environment. @@ -397,6 +403,11 @@ func (o EnvironmentOutput) ToEnvironmentOutputWithContext(ctx context.Context) E return o } +// The ID of the Custom Domain Verification for this Container App Environment. +func (o EnvironmentOutput) CustomDomainVerificationId() pulumi.StringOutput { + return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.CustomDomainVerificationId }).(pulumi.StringOutput) +} + // Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. func (o EnvironmentOutput) DaprApplicationInsightsConnectionString() pulumi.StringPtrOutput { return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.DaprApplicationInsightsConnectionString }).(pulumi.StringPtrOutput) diff --git a/sdk/go/azure/containerapp/environmentCustomDomain.go b/sdk/go/azure/containerapp/environmentCustomDomain.go new file mode 100644 index 0000000000..a31ce18402 --- /dev/null +++ b/sdk/go/azure/containerapp/environmentCustomDomain.go @@ -0,0 +1,352 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package containerapp + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Container App Environment Custom Domain Suffix. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{ +// Name: pulumi.String("acctest-01"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// Sku: pulumi.String("PerGB2018"), +// RetentionInDays: pulumi.Int(30), +// }) +// if err != nil { +// return err +// } +// exampleEnvironment, err := containerapp.NewEnvironment(ctx, "example", &containerapp.EnvironmentArgs{ +// Name: pulumi.String("my-environment"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// LogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(), +// }) +// if err != nil { +// return err +// } +// invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{ +// Input: "testacc.pfx", +// }, nil) +// if err != nil { +// return err +// } +// _, err = containerapp.NewEnvironmentCustomDomain(ctx, "example", &containerapp.EnvironmentCustomDomainArgs{ +// ContainerAppEnvironmentId: exampleEnvironment.ID(), +// CertificateBlobBase64: invokeFilebase64.Result, +// CertificatePassword: pulumi.String("TestAcc"), +// DnsSuffix: pulumi.String("acceptancetest.contoso.com"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. +// +// ```sh +// $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" +// ``` +type EnvironmentCustomDomain struct { + pulumi.CustomResourceState + + // The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + CertificateBlobBase64 pulumi.StringOutput `pulumi:"certificateBlobBase64"` + // The password for the Certificate bundle. + CertificatePassword pulumi.StringOutput `pulumi:"certificatePassword"` + // The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringOutput `pulumi:"containerAppEnvironmentId"` + // Custom DNS Suffix for the Container App Environment. + DnsSuffix pulumi.StringOutput `pulumi:"dnsSuffix"` +} + +// NewEnvironmentCustomDomain registers a new resource with the given unique name, arguments, and options. +func NewEnvironmentCustomDomain(ctx *pulumi.Context, + name string, args *EnvironmentCustomDomainArgs, opts ...pulumi.ResourceOption) (*EnvironmentCustomDomain, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CertificateBlobBase64 == nil { + return nil, errors.New("invalid value for required argument 'CertificateBlobBase64'") + } + if args.CertificatePassword == nil { + return nil, errors.New("invalid value for required argument 'CertificatePassword'") + } + if args.ContainerAppEnvironmentId == nil { + return nil, errors.New("invalid value for required argument 'ContainerAppEnvironmentId'") + } + if args.DnsSuffix == nil { + return nil, errors.New("invalid value for required argument 'DnsSuffix'") + } + if args.CertificatePassword != nil { + args.CertificatePassword = pulumi.ToSecret(args.CertificatePassword).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "certificatePassword", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EnvironmentCustomDomain + err := ctx.RegisterResource("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEnvironmentCustomDomain gets an existing EnvironmentCustomDomain resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetEnvironmentCustomDomain(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EnvironmentCustomDomainState, opts ...pulumi.ResourceOption) (*EnvironmentCustomDomain, error) { + var resource EnvironmentCustomDomain + err := ctx.ReadResource("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EnvironmentCustomDomain resources. +type environmentCustomDomainState struct { + // The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + CertificateBlobBase64 *string `pulumi:"certificateBlobBase64"` + // The password for the Certificate bundle. + CertificatePassword *string `pulumi:"certificatePassword"` + // The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + ContainerAppEnvironmentId *string `pulumi:"containerAppEnvironmentId"` + // Custom DNS Suffix for the Container App Environment. + DnsSuffix *string `pulumi:"dnsSuffix"` +} + +type EnvironmentCustomDomainState struct { + // The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + CertificateBlobBase64 pulumi.StringPtrInput + // The password for the Certificate bundle. + CertificatePassword pulumi.StringPtrInput + // The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringPtrInput + // Custom DNS Suffix for the Container App Environment. + DnsSuffix pulumi.StringPtrInput +} + +func (EnvironmentCustomDomainState) ElementType() reflect.Type { + return reflect.TypeOf((*environmentCustomDomainState)(nil)).Elem() +} + +type environmentCustomDomainArgs struct { + // The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + CertificateBlobBase64 string `pulumi:"certificateBlobBase64"` + // The password for the Certificate bundle. + CertificatePassword string `pulumi:"certificatePassword"` + // The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + ContainerAppEnvironmentId string `pulumi:"containerAppEnvironmentId"` + // Custom DNS Suffix for the Container App Environment. + DnsSuffix string `pulumi:"dnsSuffix"` +} + +// The set of arguments for constructing a EnvironmentCustomDomain resource. +type EnvironmentCustomDomainArgs struct { + // The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + CertificateBlobBase64 pulumi.StringInput + // The password for the Certificate bundle. + CertificatePassword pulumi.StringInput + // The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringInput + // Custom DNS Suffix for the Container App Environment. + DnsSuffix pulumi.StringInput +} + +func (EnvironmentCustomDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*environmentCustomDomainArgs)(nil)).Elem() +} + +type EnvironmentCustomDomainInput interface { + pulumi.Input + + ToEnvironmentCustomDomainOutput() EnvironmentCustomDomainOutput + ToEnvironmentCustomDomainOutputWithContext(ctx context.Context) EnvironmentCustomDomainOutput +} + +func (*EnvironmentCustomDomain) ElementType() reflect.Type { + return reflect.TypeOf((**EnvironmentCustomDomain)(nil)).Elem() +} + +func (i *EnvironmentCustomDomain) ToEnvironmentCustomDomainOutput() EnvironmentCustomDomainOutput { + return i.ToEnvironmentCustomDomainOutputWithContext(context.Background()) +} + +func (i *EnvironmentCustomDomain) ToEnvironmentCustomDomainOutputWithContext(ctx context.Context) EnvironmentCustomDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnvironmentCustomDomainOutput) +} + +// EnvironmentCustomDomainArrayInput is an input type that accepts EnvironmentCustomDomainArray and EnvironmentCustomDomainArrayOutput values. +// You can construct a concrete instance of `EnvironmentCustomDomainArrayInput` via: +// +// EnvironmentCustomDomainArray{ EnvironmentCustomDomainArgs{...} } +type EnvironmentCustomDomainArrayInput interface { + pulumi.Input + + ToEnvironmentCustomDomainArrayOutput() EnvironmentCustomDomainArrayOutput + ToEnvironmentCustomDomainArrayOutputWithContext(context.Context) EnvironmentCustomDomainArrayOutput +} + +type EnvironmentCustomDomainArray []EnvironmentCustomDomainInput + +func (EnvironmentCustomDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EnvironmentCustomDomain)(nil)).Elem() +} + +func (i EnvironmentCustomDomainArray) ToEnvironmentCustomDomainArrayOutput() EnvironmentCustomDomainArrayOutput { + return i.ToEnvironmentCustomDomainArrayOutputWithContext(context.Background()) +} + +func (i EnvironmentCustomDomainArray) ToEnvironmentCustomDomainArrayOutputWithContext(ctx context.Context) EnvironmentCustomDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnvironmentCustomDomainArrayOutput) +} + +// EnvironmentCustomDomainMapInput is an input type that accepts EnvironmentCustomDomainMap and EnvironmentCustomDomainMapOutput values. +// You can construct a concrete instance of `EnvironmentCustomDomainMapInput` via: +// +// EnvironmentCustomDomainMap{ "key": EnvironmentCustomDomainArgs{...} } +type EnvironmentCustomDomainMapInput interface { + pulumi.Input + + ToEnvironmentCustomDomainMapOutput() EnvironmentCustomDomainMapOutput + ToEnvironmentCustomDomainMapOutputWithContext(context.Context) EnvironmentCustomDomainMapOutput +} + +type EnvironmentCustomDomainMap map[string]EnvironmentCustomDomainInput + +func (EnvironmentCustomDomainMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EnvironmentCustomDomain)(nil)).Elem() +} + +func (i EnvironmentCustomDomainMap) ToEnvironmentCustomDomainMapOutput() EnvironmentCustomDomainMapOutput { + return i.ToEnvironmentCustomDomainMapOutputWithContext(context.Background()) +} + +func (i EnvironmentCustomDomainMap) ToEnvironmentCustomDomainMapOutputWithContext(ctx context.Context) EnvironmentCustomDomainMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnvironmentCustomDomainMapOutput) +} + +type EnvironmentCustomDomainOutput struct{ *pulumi.OutputState } + +func (EnvironmentCustomDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EnvironmentCustomDomain)(nil)).Elem() +} + +func (o EnvironmentCustomDomainOutput) ToEnvironmentCustomDomainOutput() EnvironmentCustomDomainOutput { + return o +} + +func (o EnvironmentCustomDomainOutput) ToEnvironmentCustomDomainOutputWithContext(ctx context.Context) EnvironmentCustomDomainOutput { + return o +} + +// The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. +func (o EnvironmentCustomDomainOutput) CertificateBlobBase64() pulumi.StringOutput { + return o.ApplyT(func(v *EnvironmentCustomDomain) pulumi.StringOutput { return v.CertificateBlobBase64 }).(pulumi.StringOutput) +} + +// The password for the Certificate bundle. +func (o EnvironmentCustomDomainOutput) CertificatePassword() pulumi.StringOutput { + return o.ApplyT(func(v *EnvironmentCustomDomain) pulumi.StringOutput { return v.CertificatePassword }).(pulumi.StringOutput) +} + +// The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. +func (o EnvironmentCustomDomainOutput) ContainerAppEnvironmentId() pulumi.StringOutput { + return o.ApplyT(func(v *EnvironmentCustomDomain) pulumi.StringOutput { return v.ContainerAppEnvironmentId }).(pulumi.StringOutput) +} + +// Custom DNS Suffix for the Container App Environment. +func (o EnvironmentCustomDomainOutput) DnsSuffix() pulumi.StringOutput { + return o.ApplyT(func(v *EnvironmentCustomDomain) pulumi.StringOutput { return v.DnsSuffix }).(pulumi.StringOutput) +} + +type EnvironmentCustomDomainArrayOutput struct{ *pulumi.OutputState } + +func (EnvironmentCustomDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EnvironmentCustomDomain)(nil)).Elem() +} + +func (o EnvironmentCustomDomainArrayOutput) ToEnvironmentCustomDomainArrayOutput() EnvironmentCustomDomainArrayOutput { + return o +} + +func (o EnvironmentCustomDomainArrayOutput) ToEnvironmentCustomDomainArrayOutputWithContext(ctx context.Context) EnvironmentCustomDomainArrayOutput { + return o +} + +func (o EnvironmentCustomDomainArrayOutput) Index(i pulumi.IntInput) EnvironmentCustomDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EnvironmentCustomDomain { + return vs[0].([]*EnvironmentCustomDomain)[vs[1].(int)] + }).(EnvironmentCustomDomainOutput) +} + +type EnvironmentCustomDomainMapOutput struct{ *pulumi.OutputState } + +func (EnvironmentCustomDomainMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EnvironmentCustomDomain)(nil)).Elem() +} + +func (o EnvironmentCustomDomainMapOutput) ToEnvironmentCustomDomainMapOutput() EnvironmentCustomDomainMapOutput { + return o +} + +func (o EnvironmentCustomDomainMapOutput) ToEnvironmentCustomDomainMapOutputWithContext(ctx context.Context) EnvironmentCustomDomainMapOutput { + return o +} + +func (o EnvironmentCustomDomainMapOutput) MapIndex(k pulumi.StringInput) EnvironmentCustomDomainOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EnvironmentCustomDomain { + return vs[0].(map[string]*EnvironmentCustomDomain)[vs[1].(string)] + }).(EnvironmentCustomDomainOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentCustomDomainInput)(nil)).Elem(), &EnvironmentCustomDomain{}) + pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentCustomDomainArrayInput)(nil)).Elem(), EnvironmentCustomDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentCustomDomainMapInput)(nil)).Elem(), EnvironmentCustomDomainMap{}) + pulumi.RegisterOutputType(EnvironmentCustomDomainOutput{}) + pulumi.RegisterOutputType(EnvironmentCustomDomainArrayOutput{}) + pulumi.RegisterOutputType(EnvironmentCustomDomainMapOutput{}) +} diff --git a/sdk/go/azure/containerapp/getEnvironment.go b/sdk/go/azure/containerapp/getEnvironment.go index d573b07695..931006584b 100644 --- a/sdk/go/azure/containerapp/getEnvironment.go +++ b/sdk/go/azure/containerapp/getEnvironment.go @@ -59,6 +59,8 @@ type LookupEnvironmentArgs struct { // A collection of values returned by getEnvironment. type LookupEnvironmentResult struct { + // The ID of the Custom Domain Verification for this Container App Environment. + CustomDomainVerificationId string `pulumi:"customDomainVerificationId"` // The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. DefaultDomain string `pulumi:"defaultDomain"` // The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation. @@ -125,6 +127,11 @@ func (o LookupEnvironmentResultOutput) ToLookupEnvironmentResultOutputWithContex return o } +// The ID of the Custom Domain Verification for this Container App Environment. +func (o LookupEnvironmentResultOutput) CustomDomainVerificationId() pulumi.StringOutput { + return o.ApplyT(func(v LookupEnvironmentResult) string { return v.CustomDomainVerificationId }).(pulumi.StringOutput) +} + // The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. func (o LookupEnvironmentResultOutput) DefaultDomain() pulumi.StringOutput { return o.ApplyT(func(v LookupEnvironmentResult) string { return v.DefaultDomain }).(pulumi.StringOutput) diff --git a/sdk/go/azure/containerapp/init.go b/sdk/go/azure/containerapp/init.go index 8811530c36..df31e4bede 100644 --- a/sdk/go/azure/containerapp/init.go +++ b/sdk/go/azure/containerapp/init.go @@ -29,10 +29,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Environment{} case "azure:containerapp/environmentCertificate:EnvironmentCertificate": r = &EnvironmentCertificate{} + case "azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain": + r = &EnvironmentCustomDomain{} case "azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent": r = &EnvironmentDaprComponent{} case "azure:containerapp/environmentStorage:EnvironmentStorage": r = &EnvironmentStorage{} + case "azure:containerapp/job:Job": + r = &Job{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -66,6 +70,11 @@ func init() { "containerapp/environmentCertificate", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "containerapp/environmentCustomDomain", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "containerapp/environmentDaprComponent", @@ -76,4 +85,9 @@ func init() { "containerapp/environmentStorage", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "containerapp/job", + &module{version}, + ) } diff --git a/sdk/go/azure/containerapp/job.go b/sdk/go/azure/containerapp/job.go new file mode 100644 index 0000000000..25e0397f9a --- /dev/null +++ b/sdk/go/azure/containerapp/job.go @@ -0,0 +1,589 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package containerapp + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Container App Job. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerapp" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/operationalinsights" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{ +// Name: pulumi.String("example-log-analytics-workspace"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// Sku: pulumi.String("PerGB2018"), +// RetentionInDays: pulumi.Int(30), +// }) +// if err != nil { +// return err +// } +// exampleEnvironment, err := containerapp.NewEnvironment(ctx, "example", &containerapp.EnvironmentArgs{ +// Name: pulumi.String("example-container-app-environment"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// LogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = containerapp.NewJob(ctx, "example", &containerapp.JobArgs{ +// Name: pulumi.String("example-container-app-job"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// ContainerAppEnvironmentId: exampleEnvironment.ID(), +// ReplicaTimeoutInSeconds: pulumi.Int(10), +// ReplicaRetryLimit: pulumi.Int(10), +// ManualTriggerConfig: &containerapp.JobManualTriggerConfigArgs{ +// Parallelism: pulumi.Int(4), +// ReplicaCompletionCount: pulumi.Int(1), +// }, +// Template: &containerapp.JobTemplateArgs{ +// Containers: containerapp.JobTemplateContainerArray{ +// &containerapp.JobTemplateContainerArgs{ +// Image: pulumi.String("repo/testcontainerAppsJob0:v1"), +// Name: pulumi.String("testcontainerappsjob0"), +// ReadinessProbes: containerapp.JobTemplateContainerReadinessProbeArray{ +// &containerapp.JobTemplateContainerReadinessProbeArgs{ +// Transport: pulumi.String("HTTP"), +// Port: pulumi.Int(5000), +// }, +// }, +// LivenessProbes: containerapp.JobTemplateContainerLivenessProbeArray{ +// &containerapp.JobTemplateContainerLivenessProbeArgs{ +// Transport: pulumi.String("HTTP"), +// Port: pulumi.Int(5000), +// Path: pulumi.String("/health"), +// Headers: containerapp.JobTemplateContainerLivenessProbeHeaderArray{ +// &containerapp.JobTemplateContainerLivenessProbeHeaderArgs{ +// Name: pulumi.String("Cache-Control"), +// Value: pulumi.String("no-cache"), +// }, +// }, +// InitialDelay: pulumi.Int(5), +// IntervalSeconds: pulumi.Int(20), +// Timeout: pulumi.Int(2), +// FailureCountThreshold: pulumi.Int(1), +// }, +// }, +// StartupProbes: containerapp.JobTemplateContainerStartupProbeArray{ +// &containerapp.JobTemplateContainerStartupProbeArgs{ +// Transport: pulumi.String("TCP"), +// Port: pulumi.Int(5000), +// }, +// }, +// Cpu: pulumi.Float64(0.5), +// Memory: pulumi.String("1Gi"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// A Container App Job can be imported using the resource id, e.g. +// +// ```sh +// $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" +// ``` +type Job struct { + pulumi.CustomResourceState + + // The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringOutput `pulumi:"containerAppEnvironmentId"` + // The endpoint for the Container App Job event stream. + EventStreamEndpoint pulumi.StringOutput `pulumi:"eventStreamEndpoint"` + // A `eventTriggerConfig` block as defined below. + EventTriggerConfig JobEventTriggerConfigPtrOutput `pulumi:"eventTriggerConfig"` + // A `identity` block as defined below. + Identity JobIdentityPtrOutput `pulumi:"identity"` + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + Location pulumi.StringOutput `pulumi:"location"` + // A `manualTriggerConfig` block as defined below. + ManualTriggerConfig JobManualTriggerConfigPtrOutput `pulumi:"manualTriggerConfig"` + // Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + Name pulumi.StringOutput `pulumi:"name"` + // A list of the Public IP Addresses which the Container App uses for outbound network access. + OutboundIpAddresses pulumi.StringArrayOutput `pulumi:"outboundIpAddresses"` + // A `registries` block as defined below. + Registries JobRegistryArrayOutput `pulumi:"registries"` + // The maximum number of times a replica is allowed to retry. + ReplicaRetryLimit pulumi.IntPtrOutput `pulumi:"replicaRetryLimit"` + // The maximum number of seconds a replica is allowed to run. + ReplicaTimeoutInSeconds pulumi.IntOutput `pulumi:"replicaTimeoutInSeconds"` + // The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // A `scheduleTriggerConfig` block as defined below. + // + // > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + ScheduleTriggerConfig JobScheduleTriggerConfigPtrOutput `pulumi:"scheduleTriggerConfig"` + // A `secrets` block as defined below. + Secrets JobSecretArrayOutput `pulumi:"secrets"` + // A mapping of tags to assign to the resource. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A `template` block as defined below. + Template JobTemplateOutput `pulumi:"template"` + // The name of the workload profile to use for the Container App Job. + WorkloadProfileName pulumi.StringPtrOutput `pulumi:"workloadProfileName"` +} + +// NewJob registers a new resource with the given unique name, arguments, and options. +func NewJob(ctx *pulumi.Context, + name string, args *JobArgs, opts ...pulumi.ResourceOption) (*Job, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ContainerAppEnvironmentId == nil { + return nil, errors.New("invalid value for required argument 'ContainerAppEnvironmentId'") + } + if args.ReplicaTimeoutInSeconds == nil { + return nil, errors.New("invalid value for required argument 'ReplicaTimeoutInSeconds'") + } + if args.ResourceGroupName == nil { + return nil, errors.New("invalid value for required argument 'ResourceGroupName'") + } + if args.Template == nil { + return nil, errors.New("invalid value for required argument 'Template'") + } + if args.Secrets != nil { + args.Secrets = pulumi.ToSecret(args.Secrets).(JobSecretArrayInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "secrets", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Job + err := ctx.RegisterResource("azure:containerapp/job:Job", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetJob gets an existing Job resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetJob(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *JobState, opts ...pulumi.ResourceOption) (*Job, error) { + var resource Job + err := ctx.ReadResource("azure:containerapp/job:Job", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Job resources. +type jobState struct { + // The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + ContainerAppEnvironmentId *string `pulumi:"containerAppEnvironmentId"` + // The endpoint for the Container App Job event stream. + EventStreamEndpoint *string `pulumi:"eventStreamEndpoint"` + // A `eventTriggerConfig` block as defined below. + EventTriggerConfig *JobEventTriggerConfig `pulumi:"eventTriggerConfig"` + // A `identity` block as defined below. + Identity *JobIdentity `pulumi:"identity"` + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // A `manualTriggerConfig` block as defined below. + ManualTriggerConfig *JobManualTriggerConfig `pulumi:"manualTriggerConfig"` + // Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // A list of the Public IP Addresses which the Container App uses for outbound network access. + OutboundIpAddresses []string `pulumi:"outboundIpAddresses"` + // A `registries` block as defined below. + Registries []JobRegistry `pulumi:"registries"` + // The maximum number of times a replica is allowed to retry. + ReplicaRetryLimit *int `pulumi:"replicaRetryLimit"` + // The maximum number of seconds a replica is allowed to run. + ReplicaTimeoutInSeconds *int `pulumi:"replicaTimeoutInSeconds"` + // The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + ResourceGroupName *string `pulumi:"resourceGroupName"` + // A `scheduleTriggerConfig` block as defined below. + // + // > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + ScheduleTriggerConfig *JobScheduleTriggerConfig `pulumi:"scheduleTriggerConfig"` + // A `secrets` block as defined below. + Secrets []JobSecret `pulumi:"secrets"` + // A mapping of tags to assign to the resource. + Tags map[string]string `pulumi:"tags"` + // A `template` block as defined below. + Template *JobTemplate `pulumi:"template"` + // The name of the workload profile to use for the Container App Job. + WorkloadProfileName *string `pulumi:"workloadProfileName"` +} + +type JobState struct { + // The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringPtrInput + // The endpoint for the Container App Job event stream. + EventStreamEndpoint pulumi.StringPtrInput + // A `eventTriggerConfig` block as defined below. + EventTriggerConfig JobEventTriggerConfigPtrInput + // A `identity` block as defined below. + Identity JobIdentityPtrInput + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // A `manualTriggerConfig` block as defined below. + ManualTriggerConfig JobManualTriggerConfigPtrInput + // Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // A list of the Public IP Addresses which the Container App uses for outbound network access. + OutboundIpAddresses pulumi.StringArrayInput + // A `registries` block as defined below. + Registries JobRegistryArrayInput + // The maximum number of times a replica is allowed to retry. + ReplicaRetryLimit pulumi.IntPtrInput + // The maximum number of seconds a replica is allowed to run. + ReplicaTimeoutInSeconds pulumi.IntPtrInput + // The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringPtrInput + // A `scheduleTriggerConfig` block as defined below. + // + // > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + ScheduleTriggerConfig JobScheduleTriggerConfigPtrInput + // A `secrets` block as defined below. + Secrets JobSecretArrayInput + // A mapping of tags to assign to the resource. + Tags pulumi.StringMapInput + // A `template` block as defined below. + Template JobTemplatePtrInput + // The name of the workload profile to use for the Container App Job. + WorkloadProfileName pulumi.StringPtrInput +} + +func (JobState) ElementType() reflect.Type { + return reflect.TypeOf((*jobState)(nil)).Elem() +} + +type jobArgs struct { + // The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + ContainerAppEnvironmentId string `pulumi:"containerAppEnvironmentId"` + // A `eventTriggerConfig` block as defined below. + EventTriggerConfig *JobEventTriggerConfig `pulumi:"eventTriggerConfig"` + // A `identity` block as defined below. + Identity *JobIdentity `pulumi:"identity"` + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // A `manualTriggerConfig` block as defined below. + ManualTriggerConfig *JobManualTriggerConfig `pulumi:"manualTriggerConfig"` + // Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // A `registries` block as defined below. + Registries []JobRegistry `pulumi:"registries"` + // The maximum number of times a replica is allowed to retry. + ReplicaRetryLimit *int `pulumi:"replicaRetryLimit"` + // The maximum number of seconds a replica is allowed to run. + ReplicaTimeoutInSeconds int `pulumi:"replicaTimeoutInSeconds"` + // The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + ResourceGroupName string `pulumi:"resourceGroupName"` + // A `scheduleTriggerConfig` block as defined below. + // + // > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + ScheduleTriggerConfig *JobScheduleTriggerConfig `pulumi:"scheduleTriggerConfig"` + // A `secrets` block as defined below. + Secrets []JobSecret `pulumi:"secrets"` + // A mapping of tags to assign to the resource. + Tags map[string]string `pulumi:"tags"` + // A `template` block as defined below. + Template JobTemplate `pulumi:"template"` + // The name of the workload profile to use for the Container App Job. + WorkloadProfileName *string `pulumi:"workloadProfileName"` +} + +// The set of arguments for constructing a Job resource. +type JobArgs struct { + // The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + ContainerAppEnvironmentId pulumi.StringInput + // A `eventTriggerConfig` block as defined below. + EventTriggerConfig JobEventTriggerConfigPtrInput + // A `identity` block as defined below. + Identity JobIdentityPtrInput + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // A `manualTriggerConfig` block as defined below. + ManualTriggerConfig JobManualTriggerConfigPtrInput + // Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // A `registries` block as defined below. + Registries JobRegistryArrayInput + // The maximum number of times a replica is allowed to retry. + ReplicaRetryLimit pulumi.IntPtrInput + // The maximum number of seconds a replica is allowed to run. + ReplicaTimeoutInSeconds pulumi.IntInput + // The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringInput + // A `scheduleTriggerConfig` block as defined below. + // + // > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + ScheduleTriggerConfig JobScheduleTriggerConfigPtrInput + // A `secrets` block as defined below. + Secrets JobSecretArrayInput + // A mapping of tags to assign to the resource. + Tags pulumi.StringMapInput + // A `template` block as defined below. + Template JobTemplateInput + // The name of the workload profile to use for the Container App Job. + WorkloadProfileName pulumi.StringPtrInput +} + +func (JobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*jobArgs)(nil)).Elem() +} + +type JobInput interface { + pulumi.Input + + ToJobOutput() JobOutput + ToJobOutputWithContext(ctx context.Context) JobOutput +} + +func (*Job) ElementType() reflect.Type { + return reflect.TypeOf((**Job)(nil)).Elem() +} + +func (i *Job) ToJobOutput() JobOutput { + return i.ToJobOutputWithContext(context.Background()) +} + +func (i *Job) ToJobOutputWithContext(ctx context.Context) JobOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobOutput) +} + +// JobArrayInput is an input type that accepts JobArray and JobArrayOutput values. +// You can construct a concrete instance of `JobArrayInput` via: +// +// JobArray{ JobArgs{...} } +type JobArrayInput interface { + pulumi.Input + + ToJobArrayOutput() JobArrayOutput + ToJobArrayOutputWithContext(context.Context) JobArrayOutput +} + +type JobArray []JobInput + +func (JobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Job)(nil)).Elem() +} + +func (i JobArray) ToJobArrayOutput() JobArrayOutput { + return i.ToJobArrayOutputWithContext(context.Background()) +} + +func (i JobArray) ToJobArrayOutputWithContext(ctx context.Context) JobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobArrayOutput) +} + +// JobMapInput is an input type that accepts JobMap and JobMapOutput values. +// You can construct a concrete instance of `JobMapInput` via: +// +// JobMap{ "key": JobArgs{...} } +type JobMapInput interface { + pulumi.Input + + ToJobMapOutput() JobMapOutput + ToJobMapOutputWithContext(context.Context) JobMapOutput +} + +type JobMap map[string]JobInput + +func (JobMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Job)(nil)).Elem() +} + +func (i JobMap) ToJobMapOutput() JobMapOutput { + return i.ToJobMapOutputWithContext(context.Background()) +} + +func (i JobMap) ToJobMapOutputWithContext(ctx context.Context) JobMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobMapOutput) +} + +type JobOutput struct{ *pulumi.OutputState } + +func (JobOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Job)(nil)).Elem() +} + +func (o JobOutput) ToJobOutput() JobOutput { + return o +} + +func (o JobOutput) ToJobOutputWithContext(ctx context.Context) JobOutput { + return o +} + +// The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. +func (o JobOutput) ContainerAppEnvironmentId() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.ContainerAppEnvironmentId }).(pulumi.StringOutput) +} + +// The endpoint for the Container App Job event stream. +func (o JobOutput) EventStreamEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.EventStreamEndpoint }).(pulumi.StringOutput) +} + +// A `eventTriggerConfig` block as defined below. +func (o JobOutput) EventTriggerConfig() JobEventTriggerConfigPtrOutput { + return o.ApplyT(func(v *Job) JobEventTriggerConfigPtrOutput { return v.EventTriggerConfig }).(JobEventTriggerConfigPtrOutput) +} + +// A `identity` block as defined below. +func (o JobOutput) Identity() JobIdentityPtrOutput { + return o.ApplyT(func(v *Job) JobIdentityPtrOutput { return v.Identity }).(JobIdentityPtrOutput) +} + +// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. +func (o JobOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) +} + +// A `manualTriggerConfig` block as defined below. +func (o JobOutput) ManualTriggerConfig() JobManualTriggerConfigPtrOutput { + return o.ApplyT(func(v *Job) JobManualTriggerConfigPtrOutput { return v.ManualTriggerConfig }).(JobManualTriggerConfigPtrOutput) +} + +// Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. +func (o JobOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// A list of the Public IP Addresses which the Container App uses for outbound network access. +func (o JobOutput) OutboundIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Job) pulumi.StringArrayOutput { return v.OutboundIpAddresses }).(pulumi.StringArrayOutput) +} + +// A `registries` block as defined below. +func (o JobOutput) Registries() JobRegistryArrayOutput { + return o.ApplyT(func(v *Job) JobRegistryArrayOutput { return v.Registries }).(JobRegistryArrayOutput) +} + +// The maximum number of times a replica is allowed to retry. +func (o JobOutput) ReplicaRetryLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Job) pulumi.IntPtrOutput { return v.ReplicaRetryLimit }).(pulumi.IntPtrOutput) +} + +// The maximum number of seconds a replica is allowed to run. +func (o JobOutput) ReplicaTimeoutInSeconds() pulumi.IntOutput { + return o.ApplyT(func(v *Job) pulumi.IntOutput { return v.ReplicaTimeoutInSeconds }).(pulumi.IntOutput) +} + +// The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. +func (o JobOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// A `scheduleTriggerConfig` block as defined below. +// +// > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. +func (o JobOutput) ScheduleTriggerConfig() JobScheduleTriggerConfigPtrOutput { + return o.ApplyT(func(v *Job) JobScheduleTriggerConfigPtrOutput { return v.ScheduleTriggerConfig }).(JobScheduleTriggerConfigPtrOutput) +} + +// A `secrets` block as defined below. +func (o JobOutput) Secrets() JobSecretArrayOutput { + return o.ApplyT(func(v *Job) JobSecretArrayOutput { return v.Secrets }).(JobSecretArrayOutput) +} + +// A mapping of tags to assign to the resource. +func (o JobOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Job) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A `template` block as defined below. +func (o JobOutput) Template() JobTemplateOutput { + return o.ApplyT(func(v *Job) JobTemplateOutput { return v.Template }).(JobTemplateOutput) +} + +// The name of the workload profile to use for the Container App Job. +func (o JobOutput) WorkloadProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Job) pulumi.StringPtrOutput { return v.WorkloadProfileName }).(pulumi.StringPtrOutput) +} + +type JobArrayOutput struct{ *pulumi.OutputState } + +func (JobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Job)(nil)).Elem() +} + +func (o JobArrayOutput) ToJobArrayOutput() JobArrayOutput { + return o +} + +func (o JobArrayOutput) ToJobArrayOutputWithContext(ctx context.Context) JobArrayOutput { + return o +} + +func (o JobArrayOutput) Index(i pulumi.IntInput) JobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Job { + return vs[0].([]*Job)[vs[1].(int)] + }).(JobOutput) +} + +type JobMapOutput struct{ *pulumi.OutputState } + +func (JobMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Job)(nil)).Elem() +} + +func (o JobMapOutput) ToJobMapOutput() JobMapOutput { + return o +} + +func (o JobMapOutput) ToJobMapOutputWithContext(ctx context.Context) JobMapOutput { + return o +} + +func (o JobMapOutput) MapIndex(k pulumi.StringInput) JobOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Job { + return vs[0].(map[string]*Job)[vs[1].(string)] + }).(JobOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*JobInput)(nil)).Elem(), &Job{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobArrayInput)(nil)).Elem(), JobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobMapInput)(nil)).Elem(), JobMap{}) + pulumi.RegisterOutputType(JobOutput{}) + pulumi.RegisterOutputType(JobArrayOutput{}) + pulumi.RegisterOutputType(JobMapOutput{}) +} diff --git a/sdk/go/azure/containerapp/pulumiTypes.go b/sdk/go/azure/containerapp/pulumiTypes.go index caf84a6877..dbe226c884 100644 --- a/sdk/go/azure/containerapp/pulumiTypes.go +++ b/sdk/go/azure/containerapp/pulumiTypes.go @@ -1270,8 +1270,6 @@ type AppSecret struct { // The value for this secret. // // !> **Note:** `value` will be ignored if `keyVaultSecretId` and `identity` are provided. - // - // !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. Value *string `pulumi:"value"` } @@ -1300,8 +1298,6 @@ type AppSecretArgs struct { // The value for this secret. // // !> **Note:** `value` will be ignored if `keyVaultSecretId` and `identity` are provided. - // - // !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -1378,8 +1374,6 @@ func (o AppSecretOutput) Name() pulumi.StringOutput { // The value for this secret. // // !> **Note:** `value` will be ignored if `keyVaultSecretId` and `identity` are provided. -// -// !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. func (o AppSecretOutput) Value() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSecret) *string { return v.Value }).(pulumi.StringPtrOutput) } @@ -4799,6 +4793,3271 @@ func (o EnvironmentWorkloadProfileArrayOutput) Index(i pulumi.IntInput) Environm }).(EnvironmentWorkloadProfileOutput) } +type JobEventTriggerConfig struct { + // Number of parallel replicas of a job that can run at a given time. + Parallelism *int `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount *int `pulumi:"replicaCompletionCount"` + // A `scale` block as defined below. + Scales []JobEventTriggerConfigScale `pulumi:"scales"` +} + +// JobEventTriggerConfigInput is an input type that accepts JobEventTriggerConfigArgs and JobEventTriggerConfigOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigInput` via: +// +// JobEventTriggerConfigArgs{...} +type JobEventTriggerConfigInput interface { + pulumi.Input + + ToJobEventTriggerConfigOutput() JobEventTriggerConfigOutput + ToJobEventTriggerConfigOutputWithContext(context.Context) JobEventTriggerConfigOutput +} + +type JobEventTriggerConfigArgs struct { + // Number of parallel replicas of a job that can run at a given time. + Parallelism pulumi.IntPtrInput `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount pulumi.IntPtrInput `pulumi:"replicaCompletionCount"` + // A `scale` block as defined below. + Scales JobEventTriggerConfigScaleArrayInput `pulumi:"scales"` +} + +func (JobEventTriggerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfig)(nil)).Elem() +} + +func (i JobEventTriggerConfigArgs) ToJobEventTriggerConfigOutput() JobEventTriggerConfigOutput { + return i.ToJobEventTriggerConfigOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigArgs) ToJobEventTriggerConfigOutputWithContext(ctx context.Context) JobEventTriggerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigOutput) +} + +func (i JobEventTriggerConfigArgs) ToJobEventTriggerConfigPtrOutput() JobEventTriggerConfigPtrOutput { + return i.ToJobEventTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigArgs) ToJobEventTriggerConfigPtrOutputWithContext(ctx context.Context) JobEventTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigOutput).ToJobEventTriggerConfigPtrOutputWithContext(ctx) +} + +// JobEventTriggerConfigPtrInput is an input type that accepts JobEventTriggerConfigArgs, JobEventTriggerConfigPtr and JobEventTriggerConfigPtrOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigPtrInput` via: +// +// JobEventTriggerConfigArgs{...} +// +// or: +// +// nil +type JobEventTriggerConfigPtrInput interface { + pulumi.Input + + ToJobEventTriggerConfigPtrOutput() JobEventTriggerConfigPtrOutput + ToJobEventTriggerConfigPtrOutputWithContext(context.Context) JobEventTriggerConfigPtrOutput +} + +type jobEventTriggerConfigPtrType JobEventTriggerConfigArgs + +func JobEventTriggerConfigPtr(v *JobEventTriggerConfigArgs) JobEventTriggerConfigPtrInput { + return (*jobEventTriggerConfigPtrType)(v) +} + +func (*jobEventTriggerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobEventTriggerConfig)(nil)).Elem() +} + +func (i *jobEventTriggerConfigPtrType) ToJobEventTriggerConfigPtrOutput() JobEventTriggerConfigPtrOutput { + return i.ToJobEventTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i *jobEventTriggerConfigPtrType) ToJobEventTriggerConfigPtrOutputWithContext(ctx context.Context) JobEventTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigPtrOutput) +} + +type JobEventTriggerConfigOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfig)(nil)).Elem() +} + +func (o JobEventTriggerConfigOutput) ToJobEventTriggerConfigOutput() JobEventTriggerConfigOutput { + return o +} + +func (o JobEventTriggerConfigOutput) ToJobEventTriggerConfigOutputWithContext(ctx context.Context) JobEventTriggerConfigOutput { + return o +} + +func (o JobEventTriggerConfigOutput) ToJobEventTriggerConfigPtrOutput() JobEventTriggerConfigPtrOutput { + return o.ToJobEventTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (o JobEventTriggerConfigOutput) ToJobEventTriggerConfigPtrOutputWithContext(ctx context.Context) JobEventTriggerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobEventTriggerConfig) *JobEventTriggerConfig { + return &v + }).(JobEventTriggerConfigPtrOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobEventTriggerConfigOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobEventTriggerConfig) *int { return v.Parallelism }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobEventTriggerConfigOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobEventTriggerConfig) *int { return v.ReplicaCompletionCount }).(pulumi.IntPtrOutput) +} + +// A `scale` block as defined below. +func (o JobEventTriggerConfigOutput) Scales() JobEventTriggerConfigScaleArrayOutput { + return o.ApplyT(func(v JobEventTriggerConfig) []JobEventTriggerConfigScale { return v.Scales }).(JobEventTriggerConfigScaleArrayOutput) +} + +type JobEventTriggerConfigPtrOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobEventTriggerConfig)(nil)).Elem() +} + +func (o JobEventTriggerConfigPtrOutput) ToJobEventTriggerConfigPtrOutput() JobEventTriggerConfigPtrOutput { + return o +} + +func (o JobEventTriggerConfigPtrOutput) ToJobEventTriggerConfigPtrOutputWithContext(ctx context.Context) JobEventTriggerConfigPtrOutput { + return o +} + +func (o JobEventTriggerConfigPtrOutput) Elem() JobEventTriggerConfigOutput { + return o.ApplyT(func(v *JobEventTriggerConfig) JobEventTriggerConfig { + if v != nil { + return *v + } + var ret JobEventTriggerConfig + return ret + }).(JobEventTriggerConfigOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobEventTriggerConfigPtrOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobEventTriggerConfig) *int { + if v == nil { + return nil + } + return v.Parallelism + }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobEventTriggerConfigPtrOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobEventTriggerConfig) *int { + if v == nil { + return nil + } + return v.ReplicaCompletionCount + }).(pulumi.IntPtrOutput) +} + +// A `scale` block as defined below. +func (o JobEventTriggerConfigPtrOutput) Scales() JobEventTriggerConfigScaleArrayOutput { + return o.ApplyT(func(v *JobEventTriggerConfig) []JobEventTriggerConfigScale { + if v == nil { + return nil + } + return v.Scales + }).(JobEventTriggerConfigScaleArrayOutput) +} + +type JobEventTriggerConfigScale struct { + // Maximum number of job executions that are created for a trigger. + MaxExecutions *int `pulumi:"maxExecutions"` + // Minimum number of job executions that are created for a trigger. + MinExecutions *int `pulumi:"minExecutions"` + // Interval to check each event source in seconds. + PollingIntervalInSeconds *int `pulumi:"pollingIntervalInSeconds"` + // A `rules` block as defined below. + Rules []JobEventTriggerConfigScaleRule `pulumi:"rules"` +} + +// JobEventTriggerConfigScaleInput is an input type that accepts JobEventTriggerConfigScaleArgs and JobEventTriggerConfigScaleOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleInput` via: +// +// JobEventTriggerConfigScaleArgs{...} +type JobEventTriggerConfigScaleInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleOutput() JobEventTriggerConfigScaleOutput + ToJobEventTriggerConfigScaleOutputWithContext(context.Context) JobEventTriggerConfigScaleOutput +} + +type JobEventTriggerConfigScaleArgs struct { + // Maximum number of job executions that are created for a trigger. + MaxExecutions pulumi.IntPtrInput `pulumi:"maxExecutions"` + // Minimum number of job executions that are created for a trigger. + MinExecutions pulumi.IntPtrInput `pulumi:"minExecutions"` + // Interval to check each event source in seconds. + PollingIntervalInSeconds pulumi.IntPtrInput `pulumi:"pollingIntervalInSeconds"` + // A `rules` block as defined below. + Rules JobEventTriggerConfigScaleRuleArrayInput `pulumi:"rules"` +} + +func (JobEventTriggerConfigScaleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScale)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleArgs) ToJobEventTriggerConfigScaleOutput() JobEventTriggerConfigScaleOutput { + return i.ToJobEventTriggerConfigScaleOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleArgs) ToJobEventTriggerConfigScaleOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleOutput) +} + +// JobEventTriggerConfigScaleArrayInput is an input type that accepts JobEventTriggerConfigScaleArray and JobEventTriggerConfigScaleArrayOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleArrayInput` via: +// +// JobEventTriggerConfigScaleArray{ JobEventTriggerConfigScaleArgs{...} } +type JobEventTriggerConfigScaleArrayInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleArrayOutput() JobEventTriggerConfigScaleArrayOutput + ToJobEventTriggerConfigScaleArrayOutputWithContext(context.Context) JobEventTriggerConfigScaleArrayOutput +} + +type JobEventTriggerConfigScaleArray []JobEventTriggerConfigScaleInput + +func (JobEventTriggerConfigScaleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScale)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleArray) ToJobEventTriggerConfigScaleArrayOutput() JobEventTriggerConfigScaleArrayOutput { + return i.ToJobEventTriggerConfigScaleArrayOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleArray) ToJobEventTriggerConfigScaleArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleArrayOutput) +} + +type JobEventTriggerConfigScaleOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScale)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleOutput) ToJobEventTriggerConfigScaleOutput() JobEventTriggerConfigScaleOutput { + return o +} + +func (o JobEventTriggerConfigScaleOutput) ToJobEventTriggerConfigScaleOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleOutput { + return o +} + +// Maximum number of job executions that are created for a trigger. +func (o JobEventTriggerConfigScaleOutput) MaxExecutions() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobEventTriggerConfigScale) *int { return v.MaxExecutions }).(pulumi.IntPtrOutput) +} + +// Minimum number of job executions that are created for a trigger. +func (o JobEventTriggerConfigScaleOutput) MinExecutions() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobEventTriggerConfigScale) *int { return v.MinExecutions }).(pulumi.IntPtrOutput) +} + +// Interval to check each event source in seconds. +func (o JobEventTriggerConfigScaleOutput) PollingIntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobEventTriggerConfigScale) *int { return v.PollingIntervalInSeconds }).(pulumi.IntPtrOutput) +} + +// A `rules` block as defined below. +func (o JobEventTriggerConfigScaleOutput) Rules() JobEventTriggerConfigScaleRuleArrayOutput { + return o.ApplyT(func(v JobEventTriggerConfigScale) []JobEventTriggerConfigScaleRule { return v.Rules }).(JobEventTriggerConfigScaleRuleArrayOutput) +} + +type JobEventTriggerConfigScaleArrayOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScale)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleArrayOutput) ToJobEventTriggerConfigScaleArrayOutput() JobEventTriggerConfigScaleArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleArrayOutput) ToJobEventTriggerConfigScaleArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleArrayOutput) Index(i pulumi.IntInput) JobEventTriggerConfigScaleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobEventTriggerConfigScale { + return vs[0].([]JobEventTriggerConfigScale)[vs[1].(int)] + }).(JobEventTriggerConfigScaleOutput) +} + +type JobEventTriggerConfigScaleRule struct { + // A `authentication` block as defined below. + Authentications []JobEventTriggerConfigScaleRuleAuthentication `pulumi:"authentications"` + // Type of the scale rule. + CustomRuleType string `pulumi:"customRuleType"` + // Metadata properties to describe the scale rule. + Metadata map[string]string `pulumi:"metadata"` + // Name of the scale rule. + Name string `pulumi:"name"` +} + +// JobEventTriggerConfigScaleRuleInput is an input type that accepts JobEventTriggerConfigScaleRuleArgs and JobEventTriggerConfigScaleRuleOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleRuleInput` via: +// +// JobEventTriggerConfigScaleRuleArgs{...} +type JobEventTriggerConfigScaleRuleInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleRuleOutput() JobEventTriggerConfigScaleRuleOutput + ToJobEventTriggerConfigScaleRuleOutputWithContext(context.Context) JobEventTriggerConfigScaleRuleOutput +} + +type JobEventTriggerConfigScaleRuleArgs struct { + // A `authentication` block as defined below. + Authentications JobEventTriggerConfigScaleRuleAuthenticationArrayInput `pulumi:"authentications"` + // Type of the scale rule. + CustomRuleType pulumi.StringInput `pulumi:"customRuleType"` + // Metadata properties to describe the scale rule. + Metadata pulumi.StringMapInput `pulumi:"metadata"` + // Name of the scale rule. + Name pulumi.StringInput `pulumi:"name"` +} + +func (JobEventTriggerConfigScaleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScaleRule)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleRuleArgs) ToJobEventTriggerConfigScaleRuleOutput() JobEventTriggerConfigScaleRuleOutput { + return i.ToJobEventTriggerConfigScaleRuleOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleRuleArgs) ToJobEventTriggerConfigScaleRuleOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleRuleOutput) +} + +// JobEventTriggerConfigScaleRuleArrayInput is an input type that accepts JobEventTriggerConfigScaleRuleArray and JobEventTriggerConfigScaleRuleArrayOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleRuleArrayInput` via: +// +// JobEventTriggerConfigScaleRuleArray{ JobEventTriggerConfigScaleRuleArgs{...} } +type JobEventTriggerConfigScaleRuleArrayInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleRuleArrayOutput() JobEventTriggerConfigScaleRuleArrayOutput + ToJobEventTriggerConfigScaleRuleArrayOutputWithContext(context.Context) JobEventTriggerConfigScaleRuleArrayOutput +} + +type JobEventTriggerConfigScaleRuleArray []JobEventTriggerConfigScaleRuleInput + +func (JobEventTriggerConfigScaleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScaleRule)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleRuleArray) ToJobEventTriggerConfigScaleRuleArrayOutput() JobEventTriggerConfigScaleRuleArrayOutput { + return i.ToJobEventTriggerConfigScaleRuleArrayOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleRuleArray) ToJobEventTriggerConfigScaleRuleArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleRuleArrayOutput) +} + +type JobEventTriggerConfigScaleRuleOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScaleRule)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleRuleOutput) ToJobEventTriggerConfigScaleRuleOutput() JobEventTriggerConfigScaleRuleOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleOutput) ToJobEventTriggerConfigScaleRuleOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleOutput { + return o +} + +// A `authentication` block as defined below. +func (o JobEventTriggerConfigScaleRuleOutput) Authentications() JobEventTriggerConfigScaleRuleAuthenticationArrayOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRule) []JobEventTriggerConfigScaleRuleAuthentication { + return v.Authentications + }).(JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) +} + +// Type of the scale rule. +func (o JobEventTriggerConfigScaleRuleOutput) CustomRuleType() pulumi.StringOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRule) string { return v.CustomRuleType }).(pulumi.StringOutput) +} + +// Metadata properties to describe the scale rule. +func (o JobEventTriggerConfigScaleRuleOutput) Metadata() pulumi.StringMapOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRule) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +} + +// Name of the scale rule. +func (o JobEventTriggerConfigScaleRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRule) string { return v.Name }).(pulumi.StringOutput) +} + +type JobEventTriggerConfigScaleRuleArrayOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScaleRule)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleRuleArrayOutput) ToJobEventTriggerConfigScaleRuleArrayOutput() JobEventTriggerConfigScaleRuleArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleArrayOutput) ToJobEventTriggerConfigScaleRuleArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleArrayOutput) Index(i pulumi.IntInput) JobEventTriggerConfigScaleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobEventTriggerConfigScaleRule { + return vs[0].([]JobEventTriggerConfigScaleRule)[vs[1].(int)] + }).(JobEventTriggerConfigScaleRuleOutput) +} + +type JobEventTriggerConfigScaleRuleAuthentication struct { + // Name of the secret from which to pull the auth params. + SecretName string `pulumi:"secretName"` + // Trigger Parameter that uses the secret. + TriggerParameter string `pulumi:"triggerParameter"` +} + +// JobEventTriggerConfigScaleRuleAuthenticationInput is an input type that accepts JobEventTriggerConfigScaleRuleAuthenticationArgs and JobEventTriggerConfigScaleRuleAuthenticationOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleRuleAuthenticationInput` via: +// +// JobEventTriggerConfigScaleRuleAuthenticationArgs{...} +type JobEventTriggerConfigScaleRuleAuthenticationInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleRuleAuthenticationOutput() JobEventTriggerConfigScaleRuleAuthenticationOutput + ToJobEventTriggerConfigScaleRuleAuthenticationOutputWithContext(context.Context) JobEventTriggerConfigScaleRuleAuthenticationOutput +} + +type JobEventTriggerConfigScaleRuleAuthenticationArgs struct { + // Name of the secret from which to pull the auth params. + SecretName pulumi.StringInput `pulumi:"secretName"` + // Trigger Parameter that uses the secret. + TriggerParameter pulumi.StringInput `pulumi:"triggerParameter"` +} + +func (JobEventTriggerConfigScaleRuleAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScaleRuleAuthentication)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleRuleAuthenticationArgs) ToJobEventTriggerConfigScaleRuleAuthenticationOutput() JobEventTriggerConfigScaleRuleAuthenticationOutput { + return i.ToJobEventTriggerConfigScaleRuleAuthenticationOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleRuleAuthenticationArgs) ToJobEventTriggerConfigScaleRuleAuthenticationOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleRuleAuthenticationOutput) +} + +// JobEventTriggerConfigScaleRuleAuthenticationArrayInput is an input type that accepts JobEventTriggerConfigScaleRuleAuthenticationArray and JobEventTriggerConfigScaleRuleAuthenticationArrayOutput values. +// You can construct a concrete instance of `JobEventTriggerConfigScaleRuleAuthenticationArrayInput` via: +// +// JobEventTriggerConfigScaleRuleAuthenticationArray{ JobEventTriggerConfigScaleRuleAuthenticationArgs{...} } +type JobEventTriggerConfigScaleRuleAuthenticationArrayInput interface { + pulumi.Input + + ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutput() JobEventTriggerConfigScaleRuleAuthenticationArrayOutput + ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutputWithContext(context.Context) JobEventTriggerConfigScaleRuleAuthenticationArrayOutput +} + +type JobEventTriggerConfigScaleRuleAuthenticationArray []JobEventTriggerConfigScaleRuleAuthenticationInput + +func (JobEventTriggerConfigScaleRuleAuthenticationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScaleRuleAuthentication)(nil)).Elem() +} + +func (i JobEventTriggerConfigScaleRuleAuthenticationArray) ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutput() JobEventTriggerConfigScaleRuleAuthenticationArrayOutput { + return i.ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutputWithContext(context.Background()) +} + +func (i JobEventTriggerConfigScaleRuleAuthenticationArray) ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleAuthenticationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) +} + +type JobEventTriggerConfigScaleRuleAuthenticationOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleRuleAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobEventTriggerConfigScaleRuleAuthentication)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleRuleAuthenticationOutput) ToJobEventTriggerConfigScaleRuleAuthenticationOutput() JobEventTriggerConfigScaleRuleAuthenticationOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleAuthenticationOutput) ToJobEventTriggerConfigScaleRuleAuthenticationOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleAuthenticationOutput { + return o +} + +// Name of the secret from which to pull the auth params. +func (o JobEventTriggerConfigScaleRuleAuthenticationOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRuleAuthentication) string { return v.SecretName }).(pulumi.StringOutput) +} + +// Trigger Parameter that uses the secret. +func (o JobEventTriggerConfigScaleRuleAuthenticationOutput) TriggerParameter() pulumi.StringOutput { + return o.ApplyT(func(v JobEventTriggerConfigScaleRuleAuthentication) string { return v.TriggerParameter }).(pulumi.StringOutput) +} + +type JobEventTriggerConfigScaleRuleAuthenticationArrayOutput struct{ *pulumi.OutputState } + +func (JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobEventTriggerConfigScaleRuleAuthentication)(nil)).Elem() +} + +func (o JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutput() JobEventTriggerConfigScaleRuleAuthenticationArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) ToJobEventTriggerConfigScaleRuleAuthenticationArrayOutputWithContext(ctx context.Context) JobEventTriggerConfigScaleRuleAuthenticationArrayOutput { + return o +} + +func (o JobEventTriggerConfigScaleRuleAuthenticationArrayOutput) Index(i pulumi.IntInput) JobEventTriggerConfigScaleRuleAuthenticationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobEventTriggerConfigScaleRuleAuthentication { + return vs[0].([]JobEventTriggerConfigScaleRuleAuthentication)[vs[1].(int)] + }).(JobEventTriggerConfigScaleRuleAuthenticationOutput) +} + +type JobIdentity struct { + // A list of Managed Identity IDs to assign to the Container App Job. + IdentityIds []string `pulumi:"identityIds"` + PrincipalId *string `pulumi:"principalId"` + TenantId *string `pulumi:"tenantId"` + // The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + Type string `pulumi:"type"` +} + +// JobIdentityInput is an input type that accepts JobIdentityArgs and JobIdentityOutput values. +// You can construct a concrete instance of `JobIdentityInput` via: +// +// JobIdentityArgs{...} +type JobIdentityInput interface { + pulumi.Input + + ToJobIdentityOutput() JobIdentityOutput + ToJobIdentityOutputWithContext(context.Context) JobIdentityOutput +} + +type JobIdentityArgs struct { + // A list of Managed Identity IDs to assign to the Container App Job. + IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"` + PrincipalId pulumi.StringPtrInput `pulumi:"principalId"` + TenantId pulumi.StringPtrInput `pulumi:"tenantId"` + // The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (JobIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobIdentity)(nil)).Elem() +} + +func (i JobIdentityArgs) ToJobIdentityOutput() JobIdentityOutput { + return i.ToJobIdentityOutputWithContext(context.Background()) +} + +func (i JobIdentityArgs) ToJobIdentityOutputWithContext(ctx context.Context) JobIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobIdentityOutput) +} + +func (i JobIdentityArgs) ToJobIdentityPtrOutput() JobIdentityPtrOutput { + return i.ToJobIdentityPtrOutputWithContext(context.Background()) +} + +func (i JobIdentityArgs) ToJobIdentityPtrOutputWithContext(ctx context.Context) JobIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobIdentityOutput).ToJobIdentityPtrOutputWithContext(ctx) +} + +// JobIdentityPtrInput is an input type that accepts JobIdentityArgs, JobIdentityPtr and JobIdentityPtrOutput values. +// You can construct a concrete instance of `JobIdentityPtrInput` via: +// +// JobIdentityArgs{...} +// +// or: +// +// nil +type JobIdentityPtrInput interface { + pulumi.Input + + ToJobIdentityPtrOutput() JobIdentityPtrOutput + ToJobIdentityPtrOutputWithContext(context.Context) JobIdentityPtrOutput +} + +type jobIdentityPtrType JobIdentityArgs + +func JobIdentityPtr(v *JobIdentityArgs) JobIdentityPtrInput { + return (*jobIdentityPtrType)(v) +} + +func (*jobIdentityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobIdentity)(nil)).Elem() +} + +func (i *jobIdentityPtrType) ToJobIdentityPtrOutput() JobIdentityPtrOutput { + return i.ToJobIdentityPtrOutputWithContext(context.Background()) +} + +func (i *jobIdentityPtrType) ToJobIdentityPtrOutputWithContext(ctx context.Context) JobIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobIdentityPtrOutput) +} + +type JobIdentityOutput struct{ *pulumi.OutputState } + +func (JobIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobIdentity)(nil)).Elem() +} + +func (o JobIdentityOutput) ToJobIdentityOutput() JobIdentityOutput { + return o +} + +func (o JobIdentityOutput) ToJobIdentityOutputWithContext(ctx context.Context) JobIdentityOutput { + return o +} + +func (o JobIdentityOutput) ToJobIdentityPtrOutput() JobIdentityPtrOutput { + return o.ToJobIdentityPtrOutputWithContext(context.Background()) +} + +func (o JobIdentityOutput) ToJobIdentityPtrOutputWithContext(ctx context.Context) JobIdentityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobIdentity) *JobIdentity { + return &v + }).(JobIdentityPtrOutput) +} + +// A list of Managed Identity IDs to assign to the Container App Job. +func (o JobIdentityOutput) IdentityIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobIdentity) []string { return v.IdentityIds }).(pulumi.StringArrayOutput) +} + +func (o JobIdentityOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobIdentity) *string { return v.PrincipalId }).(pulumi.StringPtrOutput) +} + +func (o JobIdentityOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobIdentity) *string { return v.TenantId }).(pulumi.StringPtrOutput) +} + +// The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. +func (o JobIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v JobIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type JobIdentityPtrOutput struct{ *pulumi.OutputState } + +func (JobIdentityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobIdentity)(nil)).Elem() +} + +func (o JobIdentityPtrOutput) ToJobIdentityPtrOutput() JobIdentityPtrOutput { + return o +} + +func (o JobIdentityPtrOutput) ToJobIdentityPtrOutputWithContext(ctx context.Context) JobIdentityPtrOutput { + return o +} + +func (o JobIdentityPtrOutput) Elem() JobIdentityOutput { + return o.ApplyT(func(v *JobIdentity) JobIdentity { + if v != nil { + return *v + } + var ret JobIdentity + return ret + }).(JobIdentityOutput) +} + +// A list of Managed Identity IDs to assign to the Container App Job. +func (o JobIdentityPtrOutput) IdentityIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *JobIdentity) []string { + if v == nil { + return nil + } + return v.IdentityIds + }).(pulumi.StringArrayOutput) +} + +func (o JobIdentityPtrOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobIdentity) *string { + if v == nil { + return nil + } + return v.PrincipalId + }).(pulumi.StringPtrOutput) +} + +func (o JobIdentityPtrOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobIdentity) *string { + if v == nil { + return nil + } + return v.TenantId + }).(pulumi.StringPtrOutput) +} + +// The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. +func (o JobIdentityPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobIdentity) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type JobManualTriggerConfig struct { + // Number of parallel replicas of a job that can run at a given time. + Parallelism *int `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount *int `pulumi:"replicaCompletionCount"` +} + +// JobManualTriggerConfigInput is an input type that accepts JobManualTriggerConfigArgs and JobManualTriggerConfigOutput values. +// You can construct a concrete instance of `JobManualTriggerConfigInput` via: +// +// JobManualTriggerConfigArgs{...} +type JobManualTriggerConfigInput interface { + pulumi.Input + + ToJobManualTriggerConfigOutput() JobManualTriggerConfigOutput + ToJobManualTriggerConfigOutputWithContext(context.Context) JobManualTriggerConfigOutput +} + +type JobManualTriggerConfigArgs struct { + // Number of parallel replicas of a job that can run at a given time. + Parallelism pulumi.IntPtrInput `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount pulumi.IntPtrInput `pulumi:"replicaCompletionCount"` +} + +func (JobManualTriggerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobManualTriggerConfig)(nil)).Elem() +} + +func (i JobManualTriggerConfigArgs) ToJobManualTriggerConfigOutput() JobManualTriggerConfigOutput { + return i.ToJobManualTriggerConfigOutputWithContext(context.Background()) +} + +func (i JobManualTriggerConfigArgs) ToJobManualTriggerConfigOutputWithContext(ctx context.Context) JobManualTriggerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobManualTriggerConfigOutput) +} + +func (i JobManualTriggerConfigArgs) ToJobManualTriggerConfigPtrOutput() JobManualTriggerConfigPtrOutput { + return i.ToJobManualTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i JobManualTriggerConfigArgs) ToJobManualTriggerConfigPtrOutputWithContext(ctx context.Context) JobManualTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobManualTriggerConfigOutput).ToJobManualTriggerConfigPtrOutputWithContext(ctx) +} + +// JobManualTriggerConfigPtrInput is an input type that accepts JobManualTriggerConfigArgs, JobManualTriggerConfigPtr and JobManualTriggerConfigPtrOutput values. +// You can construct a concrete instance of `JobManualTriggerConfigPtrInput` via: +// +// JobManualTriggerConfigArgs{...} +// +// or: +// +// nil +type JobManualTriggerConfigPtrInput interface { + pulumi.Input + + ToJobManualTriggerConfigPtrOutput() JobManualTriggerConfigPtrOutput + ToJobManualTriggerConfigPtrOutputWithContext(context.Context) JobManualTriggerConfigPtrOutput +} + +type jobManualTriggerConfigPtrType JobManualTriggerConfigArgs + +func JobManualTriggerConfigPtr(v *JobManualTriggerConfigArgs) JobManualTriggerConfigPtrInput { + return (*jobManualTriggerConfigPtrType)(v) +} + +func (*jobManualTriggerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobManualTriggerConfig)(nil)).Elem() +} + +func (i *jobManualTriggerConfigPtrType) ToJobManualTriggerConfigPtrOutput() JobManualTriggerConfigPtrOutput { + return i.ToJobManualTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i *jobManualTriggerConfigPtrType) ToJobManualTriggerConfigPtrOutputWithContext(ctx context.Context) JobManualTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobManualTriggerConfigPtrOutput) +} + +type JobManualTriggerConfigOutput struct{ *pulumi.OutputState } + +func (JobManualTriggerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobManualTriggerConfig)(nil)).Elem() +} + +func (o JobManualTriggerConfigOutput) ToJobManualTriggerConfigOutput() JobManualTriggerConfigOutput { + return o +} + +func (o JobManualTriggerConfigOutput) ToJobManualTriggerConfigOutputWithContext(ctx context.Context) JobManualTriggerConfigOutput { + return o +} + +func (o JobManualTriggerConfigOutput) ToJobManualTriggerConfigPtrOutput() JobManualTriggerConfigPtrOutput { + return o.ToJobManualTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (o JobManualTriggerConfigOutput) ToJobManualTriggerConfigPtrOutputWithContext(ctx context.Context) JobManualTriggerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobManualTriggerConfig) *JobManualTriggerConfig { + return &v + }).(JobManualTriggerConfigPtrOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobManualTriggerConfigOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobManualTriggerConfig) *int { return v.Parallelism }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobManualTriggerConfigOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobManualTriggerConfig) *int { return v.ReplicaCompletionCount }).(pulumi.IntPtrOutput) +} + +type JobManualTriggerConfigPtrOutput struct{ *pulumi.OutputState } + +func (JobManualTriggerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobManualTriggerConfig)(nil)).Elem() +} + +func (o JobManualTriggerConfigPtrOutput) ToJobManualTriggerConfigPtrOutput() JobManualTriggerConfigPtrOutput { + return o +} + +func (o JobManualTriggerConfigPtrOutput) ToJobManualTriggerConfigPtrOutputWithContext(ctx context.Context) JobManualTriggerConfigPtrOutput { + return o +} + +func (o JobManualTriggerConfigPtrOutput) Elem() JobManualTriggerConfigOutput { + return o.ApplyT(func(v *JobManualTriggerConfig) JobManualTriggerConfig { + if v != nil { + return *v + } + var ret JobManualTriggerConfig + return ret + }).(JobManualTriggerConfigOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobManualTriggerConfigPtrOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobManualTriggerConfig) *int { + if v == nil { + return nil + } + return v.Parallelism + }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobManualTriggerConfigPtrOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobManualTriggerConfig) *int { + if v == nil { + return nil + } + return v.ReplicaCompletionCount + }).(pulumi.IntPtrOutput) +} + +type JobRegistry struct { + // A Managed Identity to use to authenticate with Azure Container Registry. + Identity *string `pulumi:"identity"` + // The name of the Secret that contains the registry login password. + PasswordSecretName *string `pulumi:"passwordSecretName"` + // The URL of the Azure Container Registry server. + Server string `pulumi:"server"` + // The username to use to authenticate with Azure Container Registry. + Username *string `pulumi:"username"` +} + +// JobRegistryInput is an input type that accepts JobRegistryArgs and JobRegistryOutput values. +// You can construct a concrete instance of `JobRegistryInput` via: +// +// JobRegistryArgs{...} +type JobRegistryInput interface { + pulumi.Input + + ToJobRegistryOutput() JobRegistryOutput + ToJobRegistryOutputWithContext(context.Context) JobRegistryOutput +} + +type JobRegistryArgs struct { + // A Managed Identity to use to authenticate with Azure Container Registry. + Identity pulumi.StringPtrInput `pulumi:"identity"` + // The name of the Secret that contains the registry login password. + PasswordSecretName pulumi.StringPtrInput `pulumi:"passwordSecretName"` + // The URL of the Azure Container Registry server. + Server pulumi.StringInput `pulumi:"server"` + // The username to use to authenticate with Azure Container Registry. + Username pulumi.StringPtrInput `pulumi:"username"` +} + +func (JobRegistryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobRegistry)(nil)).Elem() +} + +func (i JobRegistryArgs) ToJobRegistryOutput() JobRegistryOutput { + return i.ToJobRegistryOutputWithContext(context.Background()) +} + +func (i JobRegistryArgs) ToJobRegistryOutputWithContext(ctx context.Context) JobRegistryOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobRegistryOutput) +} + +// JobRegistryArrayInput is an input type that accepts JobRegistryArray and JobRegistryArrayOutput values. +// You can construct a concrete instance of `JobRegistryArrayInput` via: +// +// JobRegistryArray{ JobRegistryArgs{...} } +type JobRegistryArrayInput interface { + pulumi.Input + + ToJobRegistryArrayOutput() JobRegistryArrayOutput + ToJobRegistryArrayOutputWithContext(context.Context) JobRegistryArrayOutput +} + +type JobRegistryArray []JobRegistryInput + +func (JobRegistryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobRegistry)(nil)).Elem() +} + +func (i JobRegistryArray) ToJobRegistryArrayOutput() JobRegistryArrayOutput { + return i.ToJobRegistryArrayOutputWithContext(context.Background()) +} + +func (i JobRegistryArray) ToJobRegistryArrayOutputWithContext(ctx context.Context) JobRegistryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobRegistryArrayOutput) +} + +type JobRegistryOutput struct{ *pulumi.OutputState } + +func (JobRegistryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobRegistry)(nil)).Elem() +} + +func (o JobRegistryOutput) ToJobRegistryOutput() JobRegistryOutput { + return o +} + +func (o JobRegistryOutput) ToJobRegistryOutputWithContext(ctx context.Context) JobRegistryOutput { + return o +} + +// A Managed Identity to use to authenticate with Azure Container Registry. +func (o JobRegistryOutput) Identity() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobRegistry) *string { return v.Identity }).(pulumi.StringPtrOutput) +} + +// The name of the Secret that contains the registry login password. +func (o JobRegistryOutput) PasswordSecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobRegistry) *string { return v.PasswordSecretName }).(pulumi.StringPtrOutput) +} + +// The URL of the Azure Container Registry server. +func (o JobRegistryOutput) Server() pulumi.StringOutput { + return o.ApplyT(func(v JobRegistry) string { return v.Server }).(pulumi.StringOutput) +} + +// The username to use to authenticate with Azure Container Registry. +func (o JobRegistryOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobRegistry) *string { return v.Username }).(pulumi.StringPtrOutput) +} + +type JobRegistryArrayOutput struct{ *pulumi.OutputState } + +func (JobRegistryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobRegistry)(nil)).Elem() +} + +func (o JobRegistryArrayOutput) ToJobRegistryArrayOutput() JobRegistryArrayOutput { + return o +} + +func (o JobRegistryArrayOutput) ToJobRegistryArrayOutputWithContext(ctx context.Context) JobRegistryArrayOutput { + return o +} + +func (o JobRegistryArrayOutput) Index(i pulumi.IntInput) JobRegistryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobRegistry { + return vs[0].([]JobRegistry)[vs[1].(int)] + }).(JobRegistryOutput) +} + +type JobScheduleTriggerConfig struct { + // Cron formatted repeating schedule of a Cron Job. + CronExpression string `pulumi:"cronExpression"` + // Number of parallel replicas of a job that can run at a given time. + Parallelism *int `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount *int `pulumi:"replicaCompletionCount"` +} + +// JobScheduleTriggerConfigInput is an input type that accepts JobScheduleTriggerConfigArgs and JobScheduleTriggerConfigOutput values. +// You can construct a concrete instance of `JobScheduleTriggerConfigInput` via: +// +// JobScheduleTriggerConfigArgs{...} +type JobScheduleTriggerConfigInput interface { + pulumi.Input + + ToJobScheduleTriggerConfigOutput() JobScheduleTriggerConfigOutput + ToJobScheduleTriggerConfigOutputWithContext(context.Context) JobScheduleTriggerConfigOutput +} + +type JobScheduleTriggerConfigArgs struct { + // Cron formatted repeating schedule of a Cron Job. + CronExpression pulumi.StringInput `pulumi:"cronExpression"` + // Number of parallel replicas of a job that can run at a given time. + Parallelism pulumi.IntPtrInput `pulumi:"parallelism"` + // Minimum number of successful replica completions before overall job completion. + ReplicaCompletionCount pulumi.IntPtrInput `pulumi:"replicaCompletionCount"` +} + +func (JobScheduleTriggerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobScheduleTriggerConfig)(nil)).Elem() +} + +func (i JobScheduleTriggerConfigArgs) ToJobScheduleTriggerConfigOutput() JobScheduleTriggerConfigOutput { + return i.ToJobScheduleTriggerConfigOutputWithContext(context.Background()) +} + +func (i JobScheduleTriggerConfigArgs) ToJobScheduleTriggerConfigOutputWithContext(ctx context.Context) JobScheduleTriggerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleTriggerConfigOutput) +} + +func (i JobScheduleTriggerConfigArgs) ToJobScheduleTriggerConfigPtrOutput() JobScheduleTriggerConfigPtrOutput { + return i.ToJobScheduleTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i JobScheduleTriggerConfigArgs) ToJobScheduleTriggerConfigPtrOutputWithContext(ctx context.Context) JobScheduleTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleTriggerConfigOutput).ToJobScheduleTriggerConfigPtrOutputWithContext(ctx) +} + +// JobScheduleTriggerConfigPtrInput is an input type that accepts JobScheduleTriggerConfigArgs, JobScheduleTriggerConfigPtr and JobScheduleTriggerConfigPtrOutput values. +// You can construct a concrete instance of `JobScheduleTriggerConfigPtrInput` via: +// +// JobScheduleTriggerConfigArgs{...} +// +// or: +// +// nil +type JobScheduleTriggerConfigPtrInput interface { + pulumi.Input + + ToJobScheduleTriggerConfigPtrOutput() JobScheduleTriggerConfigPtrOutput + ToJobScheduleTriggerConfigPtrOutputWithContext(context.Context) JobScheduleTriggerConfigPtrOutput +} + +type jobScheduleTriggerConfigPtrType JobScheduleTriggerConfigArgs + +func JobScheduleTriggerConfigPtr(v *JobScheduleTriggerConfigArgs) JobScheduleTriggerConfigPtrInput { + return (*jobScheduleTriggerConfigPtrType)(v) +} + +func (*jobScheduleTriggerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobScheduleTriggerConfig)(nil)).Elem() +} + +func (i *jobScheduleTriggerConfigPtrType) ToJobScheduleTriggerConfigPtrOutput() JobScheduleTriggerConfigPtrOutput { + return i.ToJobScheduleTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (i *jobScheduleTriggerConfigPtrType) ToJobScheduleTriggerConfigPtrOutputWithContext(ctx context.Context) JobScheduleTriggerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleTriggerConfigPtrOutput) +} + +type JobScheduleTriggerConfigOutput struct{ *pulumi.OutputState } + +func (JobScheduleTriggerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobScheduleTriggerConfig)(nil)).Elem() +} + +func (o JobScheduleTriggerConfigOutput) ToJobScheduleTriggerConfigOutput() JobScheduleTriggerConfigOutput { + return o +} + +func (o JobScheduleTriggerConfigOutput) ToJobScheduleTriggerConfigOutputWithContext(ctx context.Context) JobScheduleTriggerConfigOutput { + return o +} + +func (o JobScheduleTriggerConfigOutput) ToJobScheduleTriggerConfigPtrOutput() JobScheduleTriggerConfigPtrOutput { + return o.ToJobScheduleTriggerConfigPtrOutputWithContext(context.Background()) +} + +func (o JobScheduleTriggerConfigOutput) ToJobScheduleTriggerConfigPtrOutputWithContext(ctx context.Context) JobScheduleTriggerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobScheduleTriggerConfig) *JobScheduleTriggerConfig { + return &v + }).(JobScheduleTriggerConfigPtrOutput) +} + +// Cron formatted repeating schedule of a Cron Job. +func (o JobScheduleTriggerConfigOutput) CronExpression() pulumi.StringOutput { + return o.ApplyT(func(v JobScheduleTriggerConfig) string { return v.CronExpression }).(pulumi.StringOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobScheduleTriggerConfigOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobScheduleTriggerConfig) *int { return v.Parallelism }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobScheduleTriggerConfigOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobScheduleTriggerConfig) *int { return v.ReplicaCompletionCount }).(pulumi.IntPtrOutput) +} + +type JobScheduleTriggerConfigPtrOutput struct{ *pulumi.OutputState } + +func (JobScheduleTriggerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobScheduleTriggerConfig)(nil)).Elem() +} + +func (o JobScheduleTriggerConfigPtrOutput) ToJobScheduleTriggerConfigPtrOutput() JobScheduleTriggerConfigPtrOutput { + return o +} + +func (o JobScheduleTriggerConfigPtrOutput) ToJobScheduleTriggerConfigPtrOutputWithContext(ctx context.Context) JobScheduleTriggerConfigPtrOutput { + return o +} + +func (o JobScheduleTriggerConfigPtrOutput) Elem() JobScheduleTriggerConfigOutput { + return o.ApplyT(func(v *JobScheduleTriggerConfig) JobScheduleTriggerConfig { + if v != nil { + return *v + } + var ret JobScheduleTriggerConfig + return ret + }).(JobScheduleTriggerConfigOutput) +} + +// Cron formatted repeating schedule of a Cron Job. +func (o JobScheduleTriggerConfigPtrOutput) CronExpression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobScheduleTriggerConfig) *string { + if v == nil { + return nil + } + return &v.CronExpression + }).(pulumi.StringPtrOutput) +} + +// Number of parallel replicas of a job that can run at a given time. +func (o JobScheduleTriggerConfigPtrOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobScheduleTriggerConfig) *int { + if v == nil { + return nil + } + return v.Parallelism + }).(pulumi.IntPtrOutput) +} + +// Minimum number of successful replica completions before overall job completion. +func (o JobScheduleTriggerConfigPtrOutput) ReplicaCompletionCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobScheduleTriggerConfig) *int { + if v == nil { + return nil + } + return v.ReplicaCompletionCount + }).(pulumi.IntPtrOutput) +} + +type JobSecret struct { + // A `identity` block as defined below. + Identity *string `pulumi:"identity"` + // The Key Vault Secret ID. Could be either one of `id` or `versionlessId`. + KeyVaultSecretId *string `pulumi:"keyVaultSecretId"` + // Name of the secret. + Name string `pulumi:"name"` + // Value of the secret. + Value *string `pulumi:"value"` +} + +// JobSecretInput is an input type that accepts JobSecretArgs and JobSecretOutput values. +// You can construct a concrete instance of `JobSecretInput` via: +// +// JobSecretArgs{...} +type JobSecretInput interface { + pulumi.Input + + ToJobSecretOutput() JobSecretOutput + ToJobSecretOutputWithContext(context.Context) JobSecretOutput +} + +type JobSecretArgs struct { + // A `identity` block as defined below. + Identity pulumi.StringPtrInput `pulumi:"identity"` + // The Key Vault Secret ID. Could be either one of `id` or `versionlessId`. + KeyVaultSecretId pulumi.StringPtrInput `pulumi:"keyVaultSecretId"` + // Name of the secret. + Name pulumi.StringInput `pulumi:"name"` + // Value of the secret. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (JobSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobSecret)(nil)).Elem() +} + +func (i JobSecretArgs) ToJobSecretOutput() JobSecretOutput { + return i.ToJobSecretOutputWithContext(context.Background()) +} + +func (i JobSecretArgs) ToJobSecretOutputWithContext(ctx context.Context) JobSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobSecretOutput) +} + +// JobSecretArrayInput is an input type that accepts JobSecretArray and JobSecretArrayOutput values. +// You can construct a concrete instance of `JobSecretArrayInput` via: +// +// JobSecretArray{ JobSecretArgs{...} } +type JobSecretArrayInput interface { + pulumi.Input + + ToJobSecretArrayOutput() JobSecretArrayOutput + ToJobSecretArrayOutputWithContext(context.Context) JobSecretArrayOutput +} + +type JobSecretArray []JobSecretInput + +func (JobSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobSecret)(nil)).Elem() +} + +func (i JobSecretArray) ToJobSecretArrayOutput() JobSecretArrayOutput { + return i.ToJobSecretArrayOutputWithContext(context.Background()) +} + +func (i JobSecretArray) ToJobSecretArrayOutputWithContext(ctx context.Context) JobSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobSecretArrayOutput) +} + +type JobSecretOutput struct{ *pulumi.OutputState } + +func (JobSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobSecret)(nil)).Elem() +} + +func (o JobSecretOutput) ToJobSecretOutput() JobSecretOutput { + return o +} + +func (o JobSecretOutput) ToJobSecretOutputWithContext(ctx context.Context) JobSecretOutput { + return o +} + +// A `identity` block as defined below. +func (o JobSecretOutput) Identity() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobSecret) *string { return v.Identity }).(pulumi.StringPtrOutput) +} + +// The Key Vault Secret ID. Could be either one of `id` or `versionlessId`. +func (o JobSecretOutput) KeyVaultSecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobSecret) *string { return v.KeyVaultSecretId }).(pulumi.StringPtrOutput) +} + +// Name of the secret. +func (o JobSecretOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobSecret) string { return v.Name }).(pulumi.StringOutput) +} + +// Value of the secret. +func (o JobSecretOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobSecret) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type JobSecretArrayOutput struct{ *pulumi.OutputState } + +func (JobSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobSecret)(nil)).Elem() +} + +func (o JobSecretArrayOutput) ToJobSecretArrayOutput() JobSecretArrayOutput { + return o +} + +func (o JobSecretArrayOutput) ToJobSecretArrayOutputWithContext(ctx context.Context) JobSecretArrayOutput { + return o +} + +func (o JobSecretArrayOutput) Index(i pulumi.IntInput) JobSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobSecret { + return vs[0].([]JobSecret)[vs[1].(int)] + }).(JobSecretOutput) +} + +type JobTemplate struct { + // A `container` block as defined below. + Containers []JobTemplateContainer `pulumi:"containers"` + // A `initContainer` block as defined below. + InitContainers []JobTemplateInitContainer `pulumi:"initContainers"` + // A `volume` block as defined below. + Volumes []JobTemplateVolume `pulumi:"volumes"` +} + +// JobTemplateInput is an input type that accepts JobTemplateArgs and JobTemplateOutput values. +// You can construct a concrete instance of `JobTemplateInput` via: +// +// JobTemplateArgs{...} +type JobTemplateInput interface { + pulumi.Input + + ToJobTemplateOutput() JobTemplateOutput + ToJobTemplateOutputWithContext(context.Context) JobTemplateOutput +} + +type JobTemplateArgs struct { + // A `container` block as defined below. + Containers JobTemplateContainerArrayInput `pulumi:"containers"` + // A `initContainer` block as defined below. + InitContainers JobTemplateInitContainerArrayInput `pulumi:"initContainers"` + // A `volume` block as defined below. + Volumes JobTemplateVolumeArrayInput `pulumi:"volumes"` +} + +func (JobTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplate)(nil)).Elem() +} + +func (i JobTemplateArgs) ToJobTemplateOutput() JobTemplateOutput { + return i.ToJobTemplateOutputWithContext(context.Background()) +} + +func (i JobTemplateArgs) ToJobTemplateOutputWithContext(ctx context.Context) JobTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateOutput) +} + +func (i JobTemplateArgs) ToJobTemplatePtrOutput() JobTemplatePtrOutput { + return i.ToJobTemplatePtrOutputWithContext(context.Background()) +} + +func (i JobTemplateArgs) ToJobTemplatePtrOutputWithContext(ctx context.Context) JobTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateOutput).ToJobTemplatePtrOutputWithContext(ctx) +} + +// JobTemplatePtrInput is an input type that accepts JobTemplateArgs, JobTemplatePtr and JobTemplatePtrOutput values. +// You can construct a concrete instance of `JobTemplatePtrInput` via: +// +// JobTemplateArgs{...} +// +// or: +// +// nil +type JobTemplatePtrInput interface { + pulumi.Input + + ToJobTemplatePtrOutput() JobTemplatePtrOutput + ToJobTemplatePtrOutputWithContext(context.Context) JobTemplatePtrOutput +} + +type jobTemplatePtrType JobTemplateArgs + +func JobTemplatePtr(v *JobTemplateArgs) JobTemplatePtrInput { + return (*jobTemplatePtrType)(v) +} + +func (*jobTemplatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobTemplate)(nil)).Elem() +} + +func (i *jobTemplatePtrType) ToJobTemplatePtrOutput() JobTemplatePtrOutput { + return i.ToJobTemplatePtrOutputWithContext(context.Background()) +} + +func (i *jobTemplatePtrType) ToJobTemplatePtrOutputWithContext(ctx context.Context) JobTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplatePtrOutput) +} + +type JobTemplateOutput struct{ *pulumi.OutputState } + +func (JobTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplate)(nil)).Elem() +} + +func (o JobTemplateOutput) ToJobTemplateOutput() JobTemplateOutput { + return o +} + +func (o JobTemplateOutput) ToJobTemplateOutputWithContext(ctx context.Context) JobTemplateOutput { + return o +} + +func (o JobTemplateOutput) ToJobTemplatePtrOutput() JobTemplatePtrOutput { + return o.ToJobTemplatePtrOutputWithContext(context.Background()) +} + +func (o JobTemplateOutput) ToJobTemplatePtrOutputWithContext(ctx context.Context) JobTemplatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobTemplate) *JobTemplate { + return &v + }).(JobTemplatePtrOutput) +} + +// A `container` block as defined below. +func (o JobTemplateOutput) Containers() JobTemplateContainerArrayOutput { + return o.ApplyT(func(v JobTemplate) []JobTemplateContainer { return v.Containers }).(JobTemplateContainerArrayOutput) +} + +// A `initContainer` block as defined below. +func (o JobTemplateOutput) InitContainers() JobTemplateInitContainerArrayOutput { + return o.ApplyT(func(v JobTemplate) []JobTemplateInitContainer { return v.InitContainers }).(JobTemplateInitContainerArrayOutput) +} + +// A `volume` block as defined below. +func (o JobTemplateOutput) Volumes() JobTemplateVolumeArrayOutput { + return o.ApplyT(func(v JobTemplate) []JobTemplateVolume { return v.Volumes }).(JobTemplateVolumeArrayOutput) +} + +type JobTemplatePtrOutput struct{ *pulumi.OutputState } + +func (JobTemplatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobTemplate)(nil)).Elem() +} + +func (o JobTemplatePtrOutput) ToJobTemplatePtrOutput() JobTemplatePtrOutput { + return o +} + +func (o JobTemplatePtrOutput) ToJobTemplatePtrOutputWithContext(ctx context.Context) JobTemplatePtrOutput { + return o +} + +func (o JobTemplatePtrOutput) Elem() JobTemplateOutput { + return o.ApplyT(func(v *JobTemplate) JobTemplate { + if v != nil { + return *v + } + var ret JobTemplate + return ret + }).(JobTemplateOutput) +} + +// A `container` block as defined below. +func (o JobTemplatePtrOutput) Containers() JobTemplateContainerArrayOutput { + return o.ApplyT(func(v *JobTemplate) []JobTemplateContainer { + if v == nil { + return nil + } + return v.Containers + }).(JobTemplateContainerArrayOutput) +} + +// A `initContainer` block as defined below. +func (o JobTemplatePtrOutput) InitContainers() JobTemplateInitContainerArrayOutput { + return o.ApplyT(func(v *JobTemplate) []JobTemplateInitContainer { + if v == nil { + return nil + } + return v.InitContainers + }).(JobTemplateInitContainerArrayOutput) +} + +// A `volume` block as defined below. +func (o JobTemplatePtrOutput) Volumes() JobTemplateVolumeArrayOutput { + return o.ApplyT(func(v *JobTemplate) []JobTemplateVolume { + if v == nil { + return nil + } + return v.Volumes + }).(JobTemplateVolumeArrayOutput) +} + +type JobTemplateContainer struct { + // A list of extra arguments to pass to the container. + Args []string `pulumi:"args"` + // A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + Commands []string `pulumi:"commands"` + // The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + Cpu float64 `pulumi:"cpu"` + // One or more `env` blocks as detailed below. + Envs []JobTemplateContainerEnv `pulumi:"envs"` + // The amount of ephemeral storage available to the Container App. + // + // > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + EphemeralStorage *string `pulumi:"ephemeralStorage"` + // The image to use to create the container. + Image string `pulumi:"image"` + // A `livenessProbe` block as detailed below. + LivenessProbes []JobTemplateContainerLivenessProbe `pulumi:"livenessProbes"` + // The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + Memory string `pulumi:"memory"` + // The name of the container. + Name string `pulumi:"name"` + // A `readinessProbe` block as detailed below. + ReadinessProbes []JobTemplateContainerReadinessProbe `pulumi:"readinessProbes"` + // A `startupProbe` block as detailed below. + StartupProbes []JobTemplateContainerStartupProbe `pulumi:"startupProbes"` + // A `volumeMounts` block as detailed below. + VolumeMounts []JobTemplateContainerVolumeMount `pulumi:"volumeMounts"` +} + +// JobTemplateContainerInput is an input type that accepts JobTemplateContainerArgs and JobTemplateContainerOutput values. +// You can construct a concrete instance of `JobTemplateContainerInput` via: +// +// JobTemplateContainerArgs{...} +type JobTemplateContainerInput interface { + pulumi.Input + + ToJobTemplateContainerOutput() JobTemplateContainerOutput + ToJobTemplateContainerOutputWithContext(context.Context) JobTemplateContainerOutput +} + +type JobTemplateContainerArgs struct { + // A list of extra arguments to pass to the container. + Args pulumi.StringArrayInput `pulumi:"args"` + // A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + Commands pulumi.StringArrayInput `pulumi:"commands"` + // The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + Cpu pulumi.Float64Input `pulumi:"cpu"` + // One or more `env` blocks as detailed below. + Envs JobTemplateContainerEnvArrayInput `pulumi:"envs"` + // The amount of ephemeral storage available to the Container App. + // + // > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + EphemeralStorage pulumi.StringPtrInput `pulumi:"ephemeralStorage"` + // The image to use to create the container. + Image pulumi.StringInput `pulumi:"image"` + // A `livenessProbe` block as detailed below. + LivenessProbes JobTemplateContainerLivenessProbeArrayInput `pulumi:"livenessProbes"` + // The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + Memory pulumi.StringInput `pulumi:"memory"` + // The name of the container. + Name pulumi.StringInput `pulumi:"name"` + // A `readinessProbe` block as detailed below. + ReadinessProbes JobTemplateContainerReadinessProbeArrayInput `pulumi:"readinessProbes"` + // A `startupProbe` block as detailed below. + StartupProbes JobTemplateContainerStartupProbeArrayInput `pulumi:"startupProbes"` + // A `volumeMounts` block as detailed below. + VolumeMounts JobTemplateContainerVolumeMountArrayInput `pulumi:"volumeMounts"` +} + +func (JobTemplateContainerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainer)(nil)).Elem() +} + +func (i JobTemplateContainerArgs) ToJobTemplateContainerOutput() JobTemplateContainerOutput { + return i.ToJobTemplateContainerOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerArgs) ToJobTemplateContainerOutputWithContext(ctx context.Context) JobTemplateContainerOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerOutput) +} + +// JobTemplateContainerArrayInput is an input type that accepts JobTemplateContainerArray and JobTemplateContainerArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerArrayInput` via: +// +// JobTemplateContainerArray{ JobTemplateContainerArgs{...} } +type JobTemplateContainerArrayInput interface { + pulumi.Input + + ToJobTemplateContainerArrayOutput() JobTemplateContainerArrayOutput + ToJobTemplateContainerArrayOutputWithContext(context.Context) JobTemplateContainerArrayOutput +} + +type JobTemplateContainerArray []JobTemplateContainerInput + +func (JobTemplateContainerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainer)(nil)).Elem() +} + +func (i JobTemplateContainerArray) ToJobTemplateContainerArrayOutput() JobTemplateContainerArrayOutput { + return i.ToJobTemplateContainerArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerArray) ToJobTemplateContainerArrayOutputWithContext(ctx context.Context) JobTemplateContainerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerArrayOutput) +} + +type JobTemplateContainerOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainer)(nil)).Elem() +} + +func (o JobTemplateContainerOutput) ToJobTemplateContainerOutput() JobTemplateContainerOutput { + return o +} + +func (o JobTemplateContainerOutput) ToJobTemplateContainerOutputWithContext(ctx context.Context) JobTemplateContainerOutput { + return o +} + +// A list of extra arguments to pass to the container. +func (o JobTemplateContainerOutput) Args() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []string { return v.Args }).(pulumi.StringArrayOutput) +} + +// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. +func (o JobTemplateContainerOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + +// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. +// +// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` +func (o JobTemplateContainerOutput) Cpu() pulumi.Float64Output { + return o.ApplyT(func(v JobTemplateContainer) float64 { return v.Cpu }).(pulumi.Float64Output) +} + +// One or more `env` blocks as detailed below. +func (o JobTemplateContainerOutput) Envs() JobTemplateContainerEnvArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []JobTemplateContainerEnv { return v.Envs }).(JobTemplateContainerEnvArrayOutput) +} + +// The amount of ephemeral storage available to the Container App. +// +// > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. +func (o JobTemplateContainerOutput) EphemeralStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainer) *string { return v.EphemeralStorage }).(pulumi.StringPtrOutput) +} + +// The image to use to create the container. +func (o JobTemplateContainerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainer) string { return v.Image }).(pulumi.StringOutput) +} + +// A `livenessProbe` block as detailed below. +func (o JobTemplateContainerOutput) LivenessProbes() JobTemplateContainerLivenessProbeArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []JobTemplateContainerLivenessProbe { return v.LivenessProbes }).(JobTemplateContainerLivenessProbeArrayOutput) +} + +// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. +// +// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` +func (o JobTemplateContainerOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainer) string { return v.Memory }).(pulumi.StringOutput) +} + +// The name of the container. +func (o JobTemplateContainerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainer) string { return v.Name }).(pulumi.StringOutput) +} + +// A `readinessProbe` block as detailed below. +func (o JobTemplateContainerOutput) ReadinessProbes() JobTemplateContainerReadinessProbeArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []JobTemplateContainerReadinessProbe { return v.ReadinessProbes }).(JobTemplateContainerReadinessProbeArrayOutput) +} + +// A `startupProbe` block as detailed below. +func (o JobTemplateContainerOutput) StartupProbes() JobTemplateContainerStartupProbeArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []JobTemplateContainerStartupProbe { return v.StartupProbes }).(JobTemplateContainerStartupProbeArrayOutput) +} + +// A `volumeMounts` block as detailed below. +func (o JobTemplateContainerOutput) VolumeMounts() JobTemplateContainerVolumeMountArrayOutput { + return o.ApplyT(func(v JobTemplateContainer) []JobTemplateContainerVolumeMount { return v.VolumeMounts }).(JobTemplateContainerVolumeMountArrayOutput) +} + +type JobTemplateContainerArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainer)(nil)).Elem() +} + +func (o JobTemplateContainerArrayOutput) ToJobTemplateContainerArrayOutput() JobTemplateContainerArrayOutput { + return o +} + +func (o JobTemplateContainerArrayOutput) ToJobTemplateContainerArrayOutputWithContext(ctx context.Context) JobTemplateContainerArrayOutput { + return o +} + +func (o JobTemplateContainerArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainer { + return vs[0].([]JobTemplateContainer)[vs[1].(int)] + }).(JobTemplateContainerOutput) +} + +type JobTemplateContainerEnv struct { + // The name of the environment variable. + Name string `pulumi:"name"` + // Name of the Container App secret from which to pull the environment variable value. + SecretName *string `pulumi:"secretName"` + // The value of the environment variable. + Value *string `pulumi:"value"` +} + +// JobTemplateContainerEnvInput is an input type that accepts JobTemplateContainerEnvArgs and JobTemplateContainerEnvOutput values. +// You can construct a concrete instance of `JobTemplateContainerEnvInput` via: +// +// JobTemplateContainerEnvArgs{...} +type JobTemplateContainerEnvInput interface { + pulumi.Input + + ToJobTemplateContainerEnvOutput() JobTemplateContainerEnvOutput + ToJobTemplateContainerEnvOutputWithContext(context.Context) JobTemplateContainerEnvOutput +} + +type JobTemplateContainerEnvArgs struct { + // The name of the environment variable. + Name pulumi.StringInput `pulumi:"name"` + // Name of the Container App secret from which to pull the environment variable value. + SecretName pulumi.StringPtrInput `pulumi:"secretName"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (JobTemplateContainerEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerEnv)(nil)).Elem() +} + +func (i JobTemplateContainerEnvArgs) ToJobTemplateContainerEnvOutput() JobTemplateContainerEnvOutput { + return i.ToJobTemplateContainerEnvOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerEnvArgs) ToJobTemplateContainerEnvOutputWithContext(ctx context.Context) JobTemplateContainerEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerEnvOutput) +} + +// JobTemplateContainerEnvArrayInput is an input type that accepts JobTemplateContainerEnvArray and JobTemplateContainerEnvArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerEnvArrayInput` via: +// +// JobTemplateContainerEnvArray{ JobTemplateContainerEnvArgs{...} } +type JobTemplateContainerEnvArrayInput interface { + pulumi.Input + + ToJobTemplateContainerEnvArrayOutput() JobTemplateContainerEnvArrayOutput + ToJobTemplateContainerEnvArrayOutputWithContext(context.Context) JobTemplateContainerEnvArrayOutput +} + +type JobTemplateContainerEnvArray []JobTemplateContainerEnvInput + +func (JobTemplateContainerEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerEnv)(nil)).Elem() +} + +func (i JobTemplateContainerEnvArray) ToJobTemplateContainerEnvArrayOutput() JobTemplateContainerEnvArrayOutput { + return i.ToJobTemplateContainerEnvArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerEnvArray) ToJobTemplateContainerEnvArrayOutputWithContext(ctx context.Context) JobTemplateContainerEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerEnvArrayOutput) +} + +type JobTemplateContainerEnvOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerEnv)(nil)).Elem() +} + +func (o JobTemplateContainerEnvOutput) ToJobTemplateContainerEnvOutput() JobTemplateContainerEnvOutput { + return o +} + +func (o JobTemplateContainerEnvOutput) ToJobTemplateContainerEnvOutputWithContext(ctx context.Context) JobTemplateContainerEnvOutput { + return o +} + +// The name of the environment variable. +func (o JobTemplateContainerEnvOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerEnv) string { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Container App secret from which to pull the environment variable value. +func (o JobTemplateContainerEnvOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerEnv) *string { return v.SecretName }).(pulumi.StringPtrOutput) +} + +// The value of the environment variable. +func (o JobTemplateContainerEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type JobTemplateContainerEnvArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerEnv)(nil)).Elem() +} + +func (o JobTemplateContainerEnvArrayOutput) ToJobTemplateContainerEnvArrayOutput() JobTemplateContainerEnvArrayOutput { + return o +} + +func (o JobTemplateContainerEnvArrayOutput) ToJobTemplateContainerEnvArrayOutputWithContext(ctx context.Context) JobTemplateContainerEnvArrayOutput { + return o +} + +func (o JobTemplateContainerEnvArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerEnv { + return vs[0].([]JobTemplateContainerEnv)[vs[1].(int)] + }).(JobTemplateContainerEnvOutput) +} + +type JobTemplateContainerLivenessProbe struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold *int `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers []JobTemplateContainerLivenessProbeHeader `pulumi:"headers"` + // The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host *string `pulumi:"host"` + // The time in seconds to wait after the container has started before the probe is started. + InitialDelay *int `pulumi:"initialDelay"` + // How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + IntervalSeconds *int `pulumi:"intervalSeconds"` + // The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path *string `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port int `pulumi:"port"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds *int `pulumi:"terminationGracePeriodSeconds"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout *int `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport string `pulumi:"transport"` +} + +// JobTemplateContainerLivenessProbeInput is an input type that accepts JobTemplateContainerLivenessProbeArgs and JobTemplateContainerLivenessProbeOutput values. +// You can construct a concrete instance of `JobTemplateContainerLivenessProbeInput` via: +// +// JobTemplateContainerLivenessProbeArgs{...} +type JobTemplateContainerLivenessProbeInput interface { + pulumi.Input + + ToJobTemplateContainerLivenessProbeOutput() JobTemplateContainerLivenessProbeOutput + ToJobTemplateContainerLivenessProbeOutputWithContext(context.Context) JobTemplateContainerLivenessProbeOutput +} + +type JobTemplateContainerLivenessProbeArgs struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold pulumi.IntPtrInput `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers JobTemplateContainerLivenessProbeHeaderArrayInput `pulumi:"headers"` + // The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host pulumi.StringPtrInput `pulumi:"host"` + // The time in seconds to wait after the container has started before the probe is started. + InitialDelay pulumi.IntPtrInput `pulumi:"initialDelay"` + // How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + IntervalSeconds pulumi.IntPtrInput `pulumi:"intervalSeconds"` + // The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path pulumi.StringPtrInput `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port pulumi.IntInput `pulumi:"port"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds pulumi.IntPtrInput `pulumi:"terminationGracePeriodSeconds"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout pulumi.IntPtrInput `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport pulumi.StringInput `pulumi:"transport"` +} + +func (JobTemplateContainerLivenessProbeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerLivenessProbe)(nil)).Elem() +} + +func (i JobTemplateContainerLivenessProbeArgs) ToJobTemplateContainerLivenessProbeOutput() JobTemplateContainerLivenessProbeOutput { + return i.ToJobTemplateContainerLivenessProbeOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerLivenessProbeArgs) ToJobTemplateContainerLivenessProbeOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerLivenessProbeOutput) +} + +// JobTemplateContainerLivenessProbeArrayInput is an input type that accepts JobTemplateContainerLivenessProbeArray and JobTemplateContainerLivenessProbeArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerLivenessProbeArrayInput` via: +// +// JobTemplateContainerLivenessProbeArray{ JobTemplateContainerLivenessProbeArgs{...} } +type JobTemplateContainerLivenessProbeArrayInput interface { + pulumi.Input + + ToJobTemplateContainerLivenessProbeArrayOutput() JobTemplateContainerLivenessProbeArrayOutput + ToJobTemplateContainerLivenessProbeArrayOutputWithContext(context.Context) JobTemplateContainerLivenessProbeArrayOutput +} + +type JobTemplateContainerLivenessProbeArray []JobTemplateContainerLivenessProbeInput + +func (JobTemplateContainerLivenessProbeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerLivenessProbe)(nil)).Elem() +} + +func (i JobTemplateContainerLivenessProbeArray) ToJobTemplateContainerLivenessProbeArrayOutput() JobTemplateContainerLivenessProbeArrayOutput { + return i.ToJobTemplateContainerLivenessProbeArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerLivenessProbeArray) ToJobTemplateContainerLivenessProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerLivenessProbeArrayOutput) +} + +type JobTemplateContainerLivenessProbeOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerLivenessProbeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerLivenessProbe)(nil)).Elem() +} + +func (o JobTemplateContainerLivenessProbeOutput) ToJobTemplateContainerLivenessProbeOutput() JobTemplateContainerLivenessProbeOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeOutput) ToJobTemplateContainerLivenessProbeOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeOutput { + return o +} + +// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. +func (o JobTemplateContainerLivenessProbeOutput) FailureCountThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *int { return v.FailureCountThreshold }).(pulumi.IntPtrOutput) +} + +// A `header` block as detailed below. +func (o JobTemplateContainerLivenessProbeOutput) Headers() JobTemplateContainerLivenessProbeHeaderArrayOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) []JobTemplateContainerLivenessProbeHeader { return v.Headers }).(JobTemplateContainerLivenessProbeHeaderArrayOutput) +} + +// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. +func (o JobTemplateContainerLivenessProbeOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// The time in seconds to wait after the container has started before the probe is started. +func (o JobTemplateContainerLivenessProbeOutput) InitialDelay() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *int { return v.InitialDelay }).(pulumi.IntPtrOutput) +} + +// How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. +func (o JobTemplateContainerLivenessProbeOutput) IntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *int { return v.IntervalSeconds }).(pulumi.IntPtrOutput) +} + +// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. +func (o JobTemplateContainerLivenessProbeOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The port number on which to connect. Possible values are between `1` and `65535`. +func (o JobTemplateContainerLivenessProbeOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) int { return v.Port }).(pulumi.IntOutput) +} + +// The time in seconds after the container is sent the termination signal before the process if forcibly killed. +func (o JobTemplateContainerLivenessProbeOutput) TerminationGracePeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *int { return v.TerminationGracePeriodSeconds }).(pulumi.IntPtrOutput) +} + +// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. +func (o JobTemplateContainerLivenessProbeOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) *int { return v.Timeout }).(pulumi.IntPtrOutput) +} + +// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. +func (o JobTemplateContainerLivenessProbeOutput) Transport() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbe) string { return v.Transport }).(pulumi.StringOutput) +} + +type JobTemplateContainerLivenessProbeArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerLivenessProbeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerLivenessProbe)(nil)).Elem() +} + +func (o JobTemplateContainerLivenessProbeArrayOutput) ToJobTemplateContainerLivenessProbeArrayOutput() JobTemplateContainerLivenessProbeArrayOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeArrayOutput) ToJobTemplateContainerLivenessProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeArrayOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerLivenessProbeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerLivenessProbe { + return vs[0].([]JobTemplateContainerLivenessProbe)[vs[1].(int)] + }).(JobTemplateContainerLivenessProbeOutput) +} + +type JobTemplateContainerLivenessProbeHeader struct { + // The HTTP Header Name. + Name string `pulumi:"name"` + // The HTTP Header value. + Value string `pulumi:"value"` +} + +// JobTemplateContainerLivenessProbeHeaderInput is an input type that accepts JobTemplateContainerLivenessProbeHeaderArgs and JobTemplateContainerLivenessProbeHeaderOutput values. +// You can construct a concrete instance of `JobTemplateContainerLivenessProbeHeaderInput` via: +// +// JobTemplateContainerLivenessProbeHeaderArgs{...} +type JobTemplateContainerLivenessProbeHeaderInput interface { + pulumi.Input + + ToJobTemplateContainerLivenessProbeHeaderOutput() JobTemplateContainerLivenessProbeHeaderOutput + ToJobTemplateContainerLivenessProbeHeaderOutputWithContext(context.Context) JobTemplateContainerLivenessProbeHeaderOutput +} + +type JobTemplateContainerLivenessProbeHeaderArgs struct { + // The HTTP Header Name. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP Header value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (JobTemplateContainerLivenessProbeHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerLivenessProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerLivenessProbeHeaderArgs) ToJobTemplateContainerLivenessProbeHeaderOutput() JobTemplateContainerLivenessProbeHeaderOutput { + return i.ToJobTemplateContainerLivenessProbeHeaderOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerLivenessProbeHeaderArgs) ToJobTemplateContainerLivenessProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerLivenessProbeHeaderOutput) +} + +// JobTemplateContainerLivenessProbeHeaderArrayInput is an input type that accepts JobTemplateContainerLivenessProbeHeaderArray and JobTemplateContainerLivenessProbeHeaderArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerLivenessProbeHeaderArrayInput` via: +// +// JobTemplateContainerLivenessProbeHeaderArray{ JobTemplateContainerLivenessProbeHeaderArgs{...} } +type JobTemplateContainerLivenessProbeHeaderArrayInput interface { + pulumi.Input + + ToJobTemplateContainerLivenessProbeHeaderArrayOutput() JobTemplateContainerLivenessProbeHeaderArrayOutput + ToJobTemplateContainerLivenessProbeHeaderArrayOutputWithContext(context.Context) JobTemplateContainerLivenessProbeHeaderArrayOutput +} + +type JobTemplateContainerLivenessProbeHeaderArray []JobTemplateContainerLivenessProbeHeaderInput + +func (JobTemplateContainerLivenessProbeHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerLivenessProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerLivenessProbeHeaderArray) ToJobTemplateContainerLivenessProbeHeaderArrayOutput() JobTemplateContainerLivenessProbeHeaderArrayOutput { + return i.ToJobTemplateContainerLivenessProbeHeaderArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerLivenessProbeHeaderArray) ToJobTemplateContainerLivenessProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerLivenessProbeHeaderArrayOutput) +} + +type JobTemplateContainerLivenessProbeHeaderOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerLivenessProbeHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerLivenessProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerLivenessProbeHeaderOutput) ToJobTemplateContainerLivenessProbeHeaderOutput() JobTemplateContainerLivenessProbeHeaderOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeHeaderOutput) ToJobTemplateContainerLivenessProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeHeaderOutput { + return o +} + +// The HTTP Header Name. +func (o JobTemplateContainerLivenessProbeHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbeHeader) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP Header value. +func (o JobTemplateContainerLivenessProbeHeaderOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerLivenessProbeHeader) string { return v.Value }).(pulumi.StringOutput) +} + +type JobTemplateContainerLivenessProbeHeaderArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerLivenessProbeHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerLivenessProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerLivenessProbeHeaderArrayOutput) ToJobTemplateContainerLivenessProbeHeaderArrayOutput() JobTemplateContainerLivenessProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeHeaderArrayOutput) ToJobTemplateContainerLivenessProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerLivenessProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerLivenessProbeHeaderArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerLivenessProbeHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerLivenessProbeHeader { + return vs[0].([]JobTemplateContainerLivenessProbeHeader)[vs[1].(int)] + }).(JobTemplateContainerLivenessProbeHeaderOutput) +} + +type JobTemplateContainerReadinessProbe struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold *int `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers []JobTemplateContainerReadinessProbeHeader `pulumi:"headers"` + // The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host *string `pulumi:"host"` + // How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + IntervalSeconds *int `pulumi:"intervalSeconds"` + // The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path *string `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port int `pulumi:"port"` + // The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + SuccessCountThreshold *int `pulumi:"successCountThreshold"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout *int `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport string `pulumi:"transport"` +} + +// JobTemplateContainerReadinessProbeInput is an input type that accepts JobTemplateContainerReadinessProbeArgs and JobTemplateContainerReadinessProbeOutput values. +// You can construct a concrete instance of `JobTemplateContainerReadinessProbeInput` via: +// +// JobTemplateContainerReadinessProbeArgs{...} +type JobTemplateContainerReadinessProbeInput interface { + pulumi.Input + + ToJobTemplateContainerReadinessProbeOutput() JobTemplateContainerReadinessProbeOutput + ToJobTemplateContainerReadinessProbeOutputWithContext(context.Context) JobTemplateContainerReadinessProbeOutput +} + +type JobTemplateContainerReadinessProbeArgs struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold pulumi.IntPtrInput `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers JobTemplateContainerReadinessProbeHeaderArrayInput `pulumi:"headers"` + // The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host pulumi.StringPtrInput `pulumi:"host"` + // How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + IntervalSeconds pulumi.IntPtrInput `pulumi:"intervalSeconds"` + // The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path pulumi.StringPtrInput `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port pulumi.IntInput `pulumi:"port"` + // The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + SuccessCountThreshold pulumi.IntPtrInput `pulumi:"successCountThreshold"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout pulumi.IntPtrInput `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport pulumi.StringInput `pulumi:"transport"` +} + +func (JobTemplateContainerReadinessProbeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerReadinessProbe)(nil)).Elem() +} + +func (i JobTemplateContainerReadinessProbeArgs) ToJobTemplateContainerReadinessProbeOutput() JobTemplateContainerReadinessProbeOutput { + return i.ToJobTemplateContainerReadinessProbeOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerReadinessProbeArgs) ToJobTemplateContainerReadinessProbeOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerReadinessProbeOutput) +} + +// JobTemplateContainerReadinessProbeArrayInput is an input type that accepts JobTemplateContainerReadinessProbeArray and JobTemplateContainerReadinessProbeArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerReadinessProbeArrayInput` via: +// +// JobTemplateContainerReadinessProbeArray{ JobTemplateContainerReadinessProbeArgs{...} } +type JobTemplateContainerReadinessProbeArrayInput interface { + pulumi.Input + + ToJobTemplateContainerReadinessProbeArrayOutput() JobTemplateContainerReadinessProbeArrayOutput + ToJobTemplateContainerReadinessProbeArrayOutputWithContext(context.Context) JobTemplateContainerReadinessProbeArrayOutput +} + +type JobTemplateContainerReadinessProbeArray []JobTemplateContainerReadinessProbeInput + +func (JobTemplateContainerReadinessProbeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerReadinessProbe)(nil)).Elem() +} + +func (i JobTemplateContainerReadinessProbeArray) ToJobTemplateContainerReadinessProbeArrayOutput() JobTemplateContainerReadinessProbeArrayOutput { + return i.ToJobTemplateContainerReadinessProbeArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerReadinessProbeArray) ToJobTemplateContainerReadinessProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerReadinessProbeArrayOutput) +} + +type JobTemplateContainerReadinessProbeOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerReadinessProbeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerReadinessProbe)(nil)).Elem() +} + +func (o JobTemplateContainerReadinessProbeOutput) ToJobTemplateContainerReadinessProbeOutput() JobTemplateContainerReadinessProbeOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeOutput) ToJobTemplateContainerReadinessProbeOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeOutput { + return o +} + +// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. +func (o JobTemplateContainerReadinessProbeOutput) FailureCountThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *int { return v.FailureCountThreshold }).(pulumi.IntPtrOutput) +} + +// A `header` block as detailed below. +func (o JobTemplateContainerReadinessProbeOutput) Headers() JobTemplateContainerReadinessProbeHeaderArrayOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) []JobTemplateContainerReadinessProbeHeader { + return v.Headers + }).(JobTemplateContainerReadinessProbeHeaderArrayOutput) +} + +// The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. +func (o JobTemplateContainerReadinessProbeOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` +func (o JobTemplateContainerReadinessProbeOutput) IntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *int { return v.IntervalSeconds }).(pulumi.IntPtrOutput) +} + +// The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. +func (o JobTemplateContainerReadinessProbeOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The port number on which to connect. Possible values are between `1` and `65535`. +func (o JobTemplateContainerReadinessProbeOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) int { return v.Port }).(pulumi.IntOutput) +} + +// The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. +func (o JobTemplateContainerReadinessProbeOutput) SuccessCountThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *int { return v.SuccessCountThreshold }).(pulumi.IntPtrOutput) +} + +// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. +func (o JobTemplateContainerReadinessProbeOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) *int { return v.Timeout }).(pulumi.IntPtrOutput) +} + +// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. +func (o JobTemplateContainerReadinessProbeOutput) Transport() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbe) string { return v.Transport }).(pulumi.StringOutput) +} + +type JobTemplateContainerReadinessProbeArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerReadinessProbeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerReadinessProbe)(nil)).Elem() +} + +func (o JobTemplateContainerReadinessProbeArrayOutput) ToJobTemplateContainerReadinessProbeArrayOutput() JobTemplateContainerReadinessProbeArrayOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeArrayOutput) ToJobTemplateContainerReadinessProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeArrayOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerReadinessProbeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerReadinessProbe { + return vs[0].([]JobTemplateContainerReadinessProbe)[vs[1].(int)] + }).(JobTemplateContainerReadinessProbeOutput) +} + +type JobTemplateContainerReadinessProbeHeader struct { + // The HTTP Header Name. + Name string `pulumi:"name"` + // The HTTP Header value. + Value string `pulumi:"value"` +} + +// JobTemplateContainerReadinessProbeHeaderInput is an input type that accepts JobTemplateContainerReadinessProbeHeaderArgs and JobTemplateContainerReadinessProbeHeaderOutput values. +// You can construct a concrete instance of `JobTemplateContainerReadinessProbeHeaderInput` via: +// +// JobTemplateContainerReadinessProbeHeaderArgs{...} +type JobTemplateContainerReadinessProbeHeaderInput interface { + pulumi.Input + + ToJobTemplateContainerReadinessProbeHeaderOutput() JobTemplateContainerReadinessProbeHeaderOutput + ToJobTemplateContainerReadinessProbeHeaderOutputWithContext(context.Context) JobTemplateContainerReadinessProbeHeaderOutput +} + +type JobTemplateContainerReadinessProbeHeaderArgs struct { + // The HTTP Header Name. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP Header value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (JobTemplateContainerReadinessProbeHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerReadinessProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerReadinessProbeHeaderArgs) ToJobTemplateContainerReadinessProbeHeaderOutput() JobTemplateContainerReadinessProbeHeaderOutput { + return i.ToJobTemplateContainerReadinessProbeHeaderOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerReadinessProbeHeaderArgs) ToJobTemplateContainerReadinessProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerReadinessProbeHeaderOutput) +} + +// JobTemplateContainerReadinessProbeHeaderArrayInput is an input type that accepts JobTemplateContainerReadinessProbeHeaderArray and JobTemplateContainerReadinessProbeHeaderArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerReadinessProbeHeaderArrayInput` via: +// +// JobTemplateContainerReadinessProbeHeaderArray{ JobTemplateContainerReadinessProbeHeaderArgs{...} } +type JobTemplateContainerReadinessProbeHeaderArrayInput interface { + pulumi.Input + + ToJobTemplateContainerReadinessProbeHeaderArrayOutput() JobTemplateContainerReadinessProbeHeaderArrayOutput + ToJobTemplateContainerReadinessProbeHeaderArrayOutputWithContext(context.Context) JobTemplateContainerReadinessProbeHeaderArrayOutput +} + +type JobTemplateContainerReadinessProbeHeaderArray []JobTemplateContainerReadinessProbeHeaderInput + +func (JobTemplateContainerReadinessProbeHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerReadinessProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerReadinessProbeHeaderArray) ToJobTemplateContainerReadinessProbeHeaderArrayOutput() JobTemplateContainerReadinessProbeHeaderArrayOutput { + return i.ToJobTemplateContainerReadinessProbeHeaderArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerReadinessProbeHeaderArray) ToJobTemplateContainerReadinessProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerReadinessProbeHeaderArrayOutput) +} + +type JobTemplateContainerReadinessProbeHeaderOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerReadinessProbeHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerReadinessProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerReadinessProbeHeaderOutput) ToJobTemplateContainerReadinessProbeHeaderOutput() JobTemplateContainerReadinessProbeHeaderOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeHeaderOutput) ToJobTemplateContainerReadinessProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeHeaderOutput { + return o +} + +// The HTTP Header Name. +func (o JobTemplateContainerReadinessProbeHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbeHeader) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP Header value. +func (o JobTemplateContainerReadinessProbeHeaderOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerReadinessProbeHeader) string { return v.Value }).(pulumi.StringOutput) +} + +type JobTemplateContainerReadinessProbeHeaderArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerReadinessProbeHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerReadinessProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerReadinessProbeHeaderArrayOutput) ToJobTemplateContainerReadinessProbeHeaderArrayOutput() JobTemplateContainerReadinessProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeHeaderArrayOutput) ToJobTemplateContainerReadinessProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerReadinessProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerReadinessProbeHeaderArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerReadinessProbeHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerReadinessProbeHeader { + return vs[0].([]JobTemplateContainerReadinessProbeHeader)[vs[1].(int)] + }).(JobTemplateContainerReadinessProbeHeaderOutput) +} + +type JobTemplateContainerStartupProbe struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold *int `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers []JobTemplateContainerStartupProbeHeader `pulumi:"headers"` + // The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host *string `pulumi:"host"` + // How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + IntervalSeconds *int `pulumi:"intervalSeconds"` + // The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path *string `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port int `pulumi:"port"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds *int `pulumi:"terminationGracePeriodSeconds"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout *int `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport string `pulumi:"transport"` +} + +// JobTemplateContainerStartupProbeInput is an input type that accepts JobTemplateContainerStartupProbeArgs and JobTemplateContainerStartupProbeOutput values. +// You can construct a concrete instance of `JobTemplateContainerStartupProbeInput` via: +// +// JobTemplateContainerStartupProbeArgs{...} +type JobTemplateContainerStartupProbeInput interface { + pulumi.Input + + ToJobTemplateContainerStartupProbeOutput() JobTemplateContainerStartupProbeOutput + ToJobTemplateContainerStartupProbeOutputWithContext(context.Context) JobTemplateContainerStartupProbeOutput +} + +type JobTemplateContainerStartupProbeArgs struct { + // The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + FailureCountThreshold pulumi.IntPtrInput `pulumi:"failureCountThreshold"` + // A `header` block as detailed below. + Headers JobTemplateContainerStartupProbeHeaderArrayInput `pulumi:"headers"` + // The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + Host pulumi.StringPtrInput `pulumi:"host"` + // How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + IntervalSeconds pulumi.IntPtrInput `pulumi:"intervalSeconds"` + // The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + Path pulumi.StringPtrInput `pulumi:"path"` + // The port number on which to connect. Possible values are between `1` and `65535`. + Port pulumi.IntInput `pulumi:"port"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds pulumi.IntPtrInput `pulumi:"terminationGracePeriodSeconds"` + // Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + Timeout pulumi.IntPtrInput `pulumi:"timeout"` + // Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + Transport pulumi.StringInput `pulumi:"transport"` +} + +func (JobTemplateContainerStartupProbeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerStartupProbe)(nil)).Elem() +} + +func (i JobTemplateContainerStartupProbeArgs) ToJobTemplateContainerStartupProbeOutput() JobTemplateContainerStartupProbeOutput { + return i.ToJobTemplateContainerStartupProbeOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerStartupProbeArgs) ToJobTemplateContainerStartupProbeOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerStartupProbeOutput) +} + +// JobTemplateContainerStartupProbeArrayInput is an input type that accepts JobTemplateContainerStartupProbeArray and JobTemplateContainerStartupProbeArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerStartupProbeArrayInput` via: +// +// JobTemplateContainerStartupProbeArray{ JobTemplateContainerStartupProbeArgs{...} } +type JobTemplateContainerStartupProbeArrayInput interface { + pulumi.Input + + ToJobTemplateContainerStartupProbeArrayOutput() JobTemplateContainerStartupProbeArrayOutput + ToJobTemplateContainerStartupProbeArrayOutputWithContext(context.Context) JobTemplateContainerStartupProbeArrayOutput +} + +type JobTemplateContainerStartupProbeArray []JobTemplateContainerStartupProbeInput + +func (JobTemplateContainerStartupProbeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerStartupProbe)(nil)).Elem() +} + +func (i JobTemplateContainerStartupProbeArray) ToJobTemplateContainerStartupProbeArrayOutput() JobTemplateContainerStartupProbeArrayOutput { + return i.ToJobTemplateContainerStartupProbeArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerStartupProbeArray) ToJobTemplateContainerStartupProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerStartupProbeArrayOutput) +} + +type JobTemplateContainerStartupProbeOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerStartupProbeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerStartupProbe)(nil)).Elem() +} + +func (o JobTemplateContainerStartupProbeOutput) ToJobTemplateContainerStartupProbeOutput() JobTemplateContainerStartupProbeOutput { + return o +} + +func (o JobTemplateContainerStartupProbeOutput) ToJobTemplateContainerStartupProbeOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeOutput { + return o +} + +// The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. +func (o JobTemplateContainerStartupProbeOutput) FailureCountThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *int { return v.FailureCountThreshold }).(pulumi.IntPtrOutput) +} + +// A `header` block as detailed below. +func (o JobTemplateContainerStartupProbeOutput) Headers() JobTemplateContainerStartupProbeHeaderArrayOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) []JobTemplateContainerStartupProbeHeader { return v.Headers }).(JobTemplateContainerStartupProbeHeaderArrayOutput) +} + +// The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. +func (o JobTemplateContainerStartupProbeOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` +func (o JobTemplateContainerStartupProbeOutput) IntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *int { return v.IntervalSeconds }).(pulumi.IntPtrOutput) +} + +// The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. +func (o JobTemplateContainerStartupProbeOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The port number on which to connect. Possible values are between `1` and `65535`. +func (o JobTemplateContainerStartupProbeOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) int { return v.Port }).(pulumi.IntOutput) +} + +// The time in seconds after the container is sent the termination signal before the process if forcibly killed. +func (o JobTemplateContainerStartupProbeOutput) TerminationGracePeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *int { return v.TerminationGracePeriodSeconds }).(pulumi.IntPtrOutput) +} + +// Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. +func (o JobTemplateContainerStartupProbeOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) *int { return v.Timeout }).(pulumi.IntPtrOutput) +} + +// Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. +func (o JobTemplateContainerStartupProbeOutput) Transport() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbe) string { return v.Transport }).(pulumi.StringOutput) +} + +type JobTemplateContainerStartupProbeArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerStartupProbeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerStartupProbe)(nil)).Elem() +} + +func (o JobTemplateContainerStartupProbeArrayOutput) ToJobTemplateContainerStartupProbeArrayOutput() JobTemplateContainerStartupProbeArrayOutput { + return o +} + +func (o JobTemplateContainerStartupProbeArrayOutput) ToJobTemplateContainerStartupProbeArrayOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeArrayOutput { + return o +} + +func (o JobTemplateContainerStartupProbeArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerStartupProbeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerStartupProbe { + return vs[0].([]JobTemplateContainerStartupProbe)[vs[1].(int)] + }).(JobTemplateContainerStartupProbeOutput) +} + +type JobTemplateContainerStartupProbeHeader struct { + // The HTTP Header Name. + Name string `pulumi:"name"` + // The HTTP Header value. + Value string `pulumi:"value"` +} + +// JobTemplateContainerStartupProbeHeaderInput is an input type that accepts JobTemplateContainerStartupProbeHeaderArgs and JobTemplateContainerStartupProbeHeaderOutput values. +// You can construct a concrete instance of `JobTemplateContainerStartupProbeHeaderInput` via: +// +// JobTemplateContainerStartupProbeHeaderArgs{...} +type JobTemplateContainerStartupProbeHeaderInput interface { + pulumi.Input + + ToJobTemplateContainerStartupProbeHeaderOutput() JobTemplateContainerStartupProbeHeaderOutput + ToJobTemplateContainerStartupProbeHeaderOutputWithContext(context.Context) JobTemplateContainerStartupProbeHeaderOutput +} + +type JobTemplateContainerStartupProbeHeaderArgs struct { + // The HTTP Header Name. + Name pulumi.StringInput `pulumi:"name"` + // The HTTP Header value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (JobTemplateContainerStartupProbeHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerStartupProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerStartupProbeHeaderArgs) ToJobTemplateContainerStartupProbeHeaderOutput() JobTemplateContainerStartupProbeHeaderOutput { + return i.ToJobTemplateContainerStartupProbeHeaderOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerStartupProbeHeaderArgs) ToJobTemplateContainerStartupProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerStartupProbeHeaderOutput) +} + +// JobTemplateContainerStartupProbeHeaderArrayInput is an input type that accepts JobTemplateContainerStartupProbeHeaderArray and JobTemplateContainerStartupProbeHeaderArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerStartupProbeHeaderArrayInput` via: +// +// JobTemplateContainerStartupProbeHeaderArray{ JobTemplateContainerStartupProbeHeaderArgs{...} } +type JobTemplateContainerStartupProbeHeaderArrayInput interface { + pulumi.Input + + ToJobTemplateContainerStartupProbeHeaderArrayOutput() JobTemplateContainerStartupProbeHeaderArrayOutput + ToJobTemplateContainerStartupProbeHeaderArrayOutputWithContext(context.Context) JobTemplateContainerStartupProbeHeaderArrayOutput +} + +type JobTemplateContainerStartupProbeHeaderArray []JobTemplateContainerStartupProbeHeaderInput + +func (JobTemplateContainerStartupProbeHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerStartupProbeHeader)(nil)).Elem() +} + +func (i JobTemplateContainerStartupProbeHeaderArray) ToJobTemplateContainerStartupProbeHeaderArrayOutput() JobTemplateContainerStartupProbeHeaderArrayOutput { + return i.ToJobTemplateContainerStartupProbeHeaderArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerStartupProbeHeaderArray) ToJobTemplateContainerStartupProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerStartupProbeHeaderArrayOutput) +} + +type JobTemplateContainerStartupProbeHeaderOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerStartupProbeHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerStartupProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerStartupProbeHeaderOutput) ToJobTemplateContainerStartupProbeHeaderOutput() JobTemplateContainerStartupProbeHeaderOutput { + return o +} + +func (o JobTemplateContainerStartupProbeHeaderOutput) ToJobTemplateContainerStartupProbeHeaderOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeHeaderOutput { + return o +} + +// The HTTP Header Name. +func (o JobTemplateContainerStartupProbeHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbeHeader) string { return v.Name }).(pulumi.StringOutput) +} + +// The HTTP Header value. +func (o JobTemplateContainerStartupProbeHeaderOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerStartupProbeHeader) string { return v.Value }).(pulumi.StringOutput) +} + +type JobTemplateContainerStartupProbeHeaderArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerStartupProbeHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerStartupProbeHeader)(nil)).Elem() +} + +func (o JobTemplateContainerStartupProbeHeaderArrayOutput) ToJobTemplateContainerStartupProbeHeaderArrayOutput() JobTemplateContainerStartupProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerStartupProbeHeaderArrayOutput) ToJobTemplateContainerStartupProbeHeaderArrayOutputWithContext(ctx context.Context) JobTemplateContainerStartupProbeHeaderArrayOutput { + return o +} + +func (o JobTemplateContainerStartupProbeHeaderArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerStartupProbeHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerStartupProbeHeader { + return vs[0].([]JobTemplateContainerStartupProbeHeader)[vs[1].(int)] + }).(JobTemplateContainerStartupProbeHeaderOutput) +} + +type JobTemplateContainerVolumeMount struct { + // The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + Name string `pulumi:"name"` + // The path within the container at which the volume should be mounted. Must not contain `:`. + Path string `pulumi:"path"` +} + +// JobTemplateContainerVolumeMountInput is an input type that accepts JobTemplateContainerVolumeMountArgs and JobTemplateContainerVolumeMountOutput values. +// You can construct a concrete instance of `JobTemplateContainerVolumeMountInput` via: +// +// JobTemplateContainerVolumeMountArgs{...} +type JobTemplateContainerVolumeMountInput interface { + pulumi.Input + + ToJobTemplateContainerVolumeMountOutput() JobTemplateContainerVolumeMountOutput + ToJobTemplateContainerVolumeMountOutputWithContext(context.Context) JobTemplateContainerVolumeMountOutput +} + +type JobTemplateContainerVolumeMountArgs struct { + // The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + Name pulumi.StringInput `pulumi:"name"` + // The path within the container at which the volume should be mounted. Must not contain `:`. + Path pulumi.StringInput `pulumi:"path"` +} + +func (JobTemplateContainerVolumeMountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerVolumeMount)(nil)).Elem() +} + +func (i JobTemplateContainerVolumeMountArgs) ToJobTemplateContainerVolumeMountOutput() JobTemplateContainerVolumeMountOutput { + return i.ToJobTemplateContainerVolumeMountOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerVolumeMountArgs) ToJobTemplateContainerVolumeMountOutputWithContext(ctx context.Context) JobTemplateContainerVolumeMountOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerVolumeMountOutput) +} + +// JobTemplateContainerVolumeMountArrayInput is an input type that accepts JobTemplateContainerVolumeMountArray and JobTemplateContainerVolumeMountArrayOutput values. +// You can construct a concrete instance of `JobTemplateContainerVolumeMountArrayInput` via: +// +// JobTemplateContainerVolumeMountArray{ JobTemplateContainerVolumeMountArgs{...} } +type JobTemplateContainerVolumeMountArrayInput interface { + pulumi.Input + + ToJobTemplateContainerVolumeMountArrayOutput() JobTemplateContainerVolumeMountArrayOutput + ToJobTemplateContainerVolumeMountArrayOutputWithContext(context.Context) JobTemplateContainerVolumeMountArrayOutput +} + +type JobTemplateContainerVolumeMountArray []JobTemplateContainerVolumeMountInput + +func (JobTemplateContainerVolumeMountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerVolumeMount)(nil)).Elem() +} + +func (i JobTemplateContainerVolumeMountArray) ToJobTemplateContainerVolumeMountArrayOutput() JobTemplateContainerVolumeMountArrayOutput { + return i.ToJobTemplateContainerVolumeMountArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateContainerVolumeMountArray) ToJobTemplateContainerVolumeMountArrayOutputWithContext(ctx context.Context) JobTemplateContainerVolumeMountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateContainerVolumeMountArrayOutput) +} + +type JobTemplateContainerVolumeMountOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerVolumeMountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateContainerVolumeMount)(nil)).Elem() +} + +func (o JobTemplateContainerVolumeMountOutput) ToJobTemplateContainerVolumeMountOutput() JobTemplateContainerVolumeMountOutput { + return o +} + +func (o JobTemplateContainerVolumeMountOutput) ToJobTemplateContainerVolumeMountOutputWithContext(ctx context.Context) JobTemplateContainerVolumeMountOutput { + return o +} + +// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. +func (o JobTemplateContainerVolumeMountOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerVolumeMount) string { return v.Name }).(pulumi.StringOutput) +} + +// The path within the container at which the volume should be mounted. Must not contain `:`. +func (o JobTemplateContainerVolumeMountOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateContainerVolumeMount) string { return v.Path }).(pulumi.StringOutput) +} + +type JobTemplateContainerVolumeMountArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateContainerVolumeMountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateContainerVolumeMount)(nil)).Elem() +} + +func (o JobTemplateContainerVolumeMountArrayOutput) ToJobTemplateContainerVolumeMountArrayOutput() JobTemplateContainerVolumeMountArrayOutput { + return o +} + +func (o JobTemplateContainerVolumeMountArrayOutput) ToJobTemplateContainerVolumeMountArrayOutputWithContext(ctx context.Context) JobTemplateContainerVolumeMountArrayOutput { + return o +} + +func (o JobTemplateContainerVolumeMountArrayOutput) Index(i pulumi.IntInput) JobTemplateContainerVolumeMountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateContainerVolumeMount { + return vs[0].([]JobTemplateContainerVolumeMount)[vs[1].(int)] + }).(JobTemplateContainerVolumeMountOutput) +} + +type JobTemplateInitContainer struct { + // A list of extra arguments to pass to the container. + Args []string `pulumi:"args"` + // A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + Commands []string `pulumi:"commands"` + // The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + Cpu *float64 `pulumi:"cpu"` + // One or more `env` blocks as detailed below. + Envs []JobTemplateInitContainerEnv `pulumi:"envs"` + // The amount of ephemeral storage available to the Container App. + // + // > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + EphemeralStorage *string `pulumi:"ephemeralStorage"` + // The image to use to create the container. + Image string `pulumi:"image"` + // The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + Memory *string `pulumi:"memory"` + // The name of the container. + Name string `pulumi:"name"` + // A `volumeMounts` block as detailed below. + VolumeMounts []JobTemplateInitContainerVolumeMount `pulumi:"volumeMounts"` +} + +// JobTemplateInitContainerInput is an input type that accepts JobTemplateInitContainerArgs and JobTemplateInitContainerOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerInput` via: +// +// JobTemplateInitContainerArgs{...} +type JobTemplateInitContainerInput interface { + pulumi.Input + + ToJobTemplateInitContainerOutput() JobTemplateInitContainerOutput + ToJobTemplateInitContainerOutputWithContext(context.Context) JobTemplateInitContainerOutput +} + +type JobTemplateInitContainerArgs struct { + // A list of extra arguments to pass to the container. + Args pulumi.StringArrayInput `pulumi:"args"` + // A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + Commands pulumi.StringArrayInput `pulumi:"commands"` + // The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + // One or more `env` blocks as detailed below. + Envs JobTemplateInitContainerEnvArrayInput `pulumi:"envs"` + // The amount of ephemeral storage available to the Container App. + // + // > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + EphemeralStorage pulumi.StringPtrInput `pulumi:"ephemeralStorage"` + // The image to use to create the container. + Image pulumi.StringInput `pulumi:"image"` + // The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + // + // > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + Memory pulumi.StringPtrInput `pulumi:"memory"` + // The name of the container. + Name pulumi.StringInput `pulumi:"name"` + // A `volumeMounts` block as detailed below. + VolumeMounts JobTemplateInitContainerVolumeMountArrayInput `pulumi:"volumeMounts"` +} + +func (JobTemplateInitContainerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainer)(nil)).Elem() +} + +func (i JobTemplateInitContainerArgs) ToJobTemplateInitContainerOutput() JobTemplateInitContainerOutput { + return i.ToJobTemplateInitContainerOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerArgs) ToJobTemplateInitContainerOutputWithContext(ctx context.Context) JobTemplateInitContainerOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerOutput) +} + +// JobTemplateInitContainerArrayInput is an input type that accepts JobTemplateInitContainerArray and JobTemplateInitContainerArrayOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerArrayInput` via: +// +// JobTemplateInitContainerArray{ JobTemplateInitContainerArgs{...} } +type JobTemplateInitContainerArrayInput interface { + pulumi.Input + + ToJobTemplateInitContainerArrayOutput() JobTemplateInitContainerArrayOutput + ToJobTemplateInitContainerArrayOutputWithContext(context.Context) JobTemplateInitContainerArrayOutput +} + +type JobTemplateInitContainerArray []JobTemplateInitContainerInput + +func (JobTemplateInitContainerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainer)(nil)).Elem() +} + +func (i JobTemplateInitContainerArray) ToJobTemplateInitContainerArrayOutput() JobTemplateInitContainerArrayOutput { + return i.ToJobTemplateInitContainerArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerArray) ToJobTemplateInitContainerArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerArrayOutput) +} + +type JobTemplateInitContainerOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainer)(nil)).Elem() +} + +func (o JobTemplateInitContainerOutput) ToJobTemplateInitContainerOutput() JobTemplateInitContainerOutput { + return o +} + +func (o JobTemplateInitContainerOutput) ToJobTemplateInitContainerOutputWithContext(ctx context.Context) JobTemplateInitContainerOutput { + return o +} + +// A list of extra arguments to pass to the container. +func (o JobTemplateInitContainerOutput) Args() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobTemplateInitContainer) []string { return v.Args }).(pulumi.StringArrayOutput) +} + +// A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. +func (o JobTemplateInitContainerOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobTemplateInitContainer) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + +// The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. +// +// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` +func (o JobTemplateInitContainerOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JobTemplateInitContainer) *float64 { return v.Cpu }).(pulumi.Float64PtrOutput) +} + +// One or more `env` blocks as detailed below. +func (o JobTemplateInitContainerOutput) Envs() JobTemplateInitContainerEnvArrayOutput { + return o.ApplyT(func(v JobTemplateInitContainer) []JobTemplateInitContainerEnv { return v.Envs }).(JobTemplateInitContainerEnvArrayOutput) +} + +// The amount of ephemeral storage available to the Container App. +// +// > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. +func (o JobTemplateInitContainerOutput) EphemeralStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateInitContainer) *string { return v.EphemeralStorage }).(pulumi.StringPtrOutput) +} + +// The image to use to create the container. +func (o JobTemplateInitContainerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateInitContainer) string { return v.Image }).(pulumi.StringOutput) +} + +// The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. +// +// > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` +func (o JobTemplateInitContainerOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateInitContainer) *string { return v.Memory }).(pulumi.StringPtrOutput) +} + +// The name of the container. +func (o JobTemplateInitContainerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateInitContainer) string { return v.Name }).(pulumi.StringOutput) +} + +// A `volumeMounts` block as detailed below. +func (o JobTemplateInitContainerOutput) VolumeMounts() JobTemplateInitContainerVolumeMountArrayOutput { + return o.ApplyT(func(v JobTemplateInitContainer) []JobTemplateInitContainerVolumeMount { return v.VolumeMounts }).(JobTemplateInitContainerVolumeMountArrayOutput) +} + +type JobTemplateInitContainerArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainer)(nil)).Elem() +} + +func (o JobTemplateInitContainerArrayOutput) ToJobTemplateInitContainerArrayOutput() JobTemplateInitContainerArrayOutput { + return o +} + +func (o JobTemplateInitContainerArrayOutput) ToJobTemplateInitContainerArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerArrayOutput { + return o +} + +func (o JobTemplateInitContainerArrayOutput) Index(i pulumi.IntInput) JobTemplateInitContainerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateInitContainer { + return vs[0].([]JobTemplateInitContainer)[vs[1].(int)] + }).(JobTemplateInitContainerOutput) +} + +type JobTemplateInitContainerEnv struct { + // The name of the environment variable. + Name string `pulumi:"name"` + // Name of the Container App secret from which to pull the environment variable value. + SecretName *string `pulumi:"secretName"` + // The value of the environment variable. + Value *string `pulumi:"value"` +} + +// JobTemplateInitContainerEnvInput is an input type that accepts JobTemplateInitContainerEnvArgs and JobTemplateInitContainerEnvOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerEnvInput` via: +// +// JobTemplateInitContainerEnvArgs{...} +type JobTemplateInitContainerEnvInput interface { + pulumi.Input + + ToJobTemplateInitContainerEnvOutput() JobTemplateInitContainerEnvOutput + ToJobTemplateInitContainerEnvOutputWithContext(context.Context) JobTemplateInitContainerEnvOutput +} + +type JobTemplateInitContainerEnvArgs struct { + // The name of the environment variable. + Name pulumi.StringInput `pulumi:"name"` + // Name of the Container App secret from which to pull the environment variable value. + SecretName pulumi.StringPtrInput `pulumi:"secretName"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (JobTemplateInitContainerEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainerEnv)(nil)).Elem() +} + +func (i JobTemplateInitContainerEnvArgs) ToJobTemplateInitContainerEnvOutput() JobTemplateInitContainerEnvOutput { + return i.ToJobTemplateInitContainerEnvOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerEnvArgs) ToJobTemplateInitContainerEnvOutputWithContext(ctx context.Context) JobTemplateInitContainerEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerEnvOutput) +} + +// JobTemplateInitContainerEnvArrayInput is an input type that accepts JobTemplateInitContainerEnvArray and JobTemplateInitContainerEnvArrayOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerEnvArrayInput` via: +// +// JobTemplateInitContainerEnvArray{ JobTemplateInitContainerEnvArgs{...} } +type JobTemplateInitContainerEnvArrayInput interface { + pulumi.Input + + ToJobTemplateInitContainerEnvArrayOutput() JobTemplateInitContainerEnvArrayOutput + ToJobTemplateInitContainerEnvArrayOutputWithContext(context.Context) JobTemplateInitContainerEnvArrayOutput +} + +type JobTemplateInitContainerEnvArray []JobTemplateInitContainerEnvInput + +func (JobTemplateInitContainerEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainerEnv)(nil)).Elem() +} + +func (i JobTemplateInitContainerEnvArray) ToJobTemplateInitContainerEnvArrayOutput() JobTemplateInitContainerEnvArrayOutput { + return i.ToJobTemplateInitContainerEnvArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerEnvArray) ToJobTemplateInitContainerEnvArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerEnvArrayOutput) +} + +type JobTemplateInitContainerEnvOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainerEnv)(nil)).Elem() +} + +func (o JobTemplateInitContainerEnvOutput) ToJobTemplateInitContainerEnvOutput() JobTemplateInitContainerEnvOutput { + return o +} + +func (o JobTemplateInitContainerEnvOutput) ToJobTemplateInitContainerEnvOutputWithContext(ctx context.Context) JobTemplateInitContainerEnvOutput { + return o +} + +// The name of the environment variable. +func (o JobTemplateInitContainerEnvOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateInitContainerEnv) string { return v.Name }).(pulumi.StringOutput) +} + +// Name of the Container App secret from which to pull the environment variable value. +func (o JobTemplateInitContainerEnvOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateInitContainerEnv) *string { return v.SecretName }).(pulumi.StringPtrOutput) +} + +// The value of the environment variable. +func (o JobTemplateInitContainerEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateInitContainerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type JobTemplateInitContainerEnvArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainerEnv)(nil)).Elem() +} + +func (o JobTemplateInitContainerEnvArrayOutput) ToJobTemplateInitContainerEnvArrayOutput() JobTemplateInitContainerEnvArrayOutput { + return o +} + +func (o JobTemplateInitContainerEnvArrayOutput) ToJobTemplateInitContainerEnvArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerEnvArrayOutput { + return o +} + +func (o JobTemplateInitContainerEnvArrayOutput) Index(i pulumi.IntInput) JobTemplateInitContainerEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateInitContainerEnv { + return vs[0].([]JobTemplateInitContainerEnv)[vs[1].(int)] + }).(JobTemplateInitContainerEnvOutput) +} + +type JobTemplateInitContainerVolumeMount struct { + // The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + Name string `pulumi:"name"` + // The path within the container at which the volume should be mounted. Must not contain `:`. + Path string `pulumi:"path"` +} + +// JobTemplateInitContainerVolumeMountInput is an input type that accepts JobTemplateInitContainerVolumeMountArgs and JobTemplateInitContainerVolumeMountOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerVolumeMountInput` via: +// +// JobTemplateInitContainerVolumeMountArgs{...} +type JobTemplateInitContainerVolumeMountInput interface { + pulumi.Input + + ToJobTemplateInitContainerVolumeMountOutput() JobTemplateInitContainerVolumeMountOutput + ToJobTemplateInitContainerVolumeMountOutputWithContext(context.Context) JobTemplateInitContainerVolumeMountOutput +} + +type JobTemplateInitContainerVolumeMountArgs struct { + // The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + Name pulumi.StringInput `pulumi:"name"` + // The path within the container at which the volume should be mounted. Must not contain `:`. + Path pulumi.StringInput `pulumi:"path"` +} + +func (JobTemplateInitContainerVolumeMountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainerVolumeMount)(nil)).Elem() +} + +func (i JobTemplateInitContainerVolumeMountArgs) ToJobTemplateInitContainerVolumeMountOutput() JobTemplateInitContainerVolumeMountOutput { + return i.ToJobTemplateInitContainerVolumeMountOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerVolumeMountArgs) ToJobTemplateInitContainerVolumeMountOutputWithContext(ctx context.Context) JobTemplateInitContainerVolumeMountOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerVolumeMountOutput) +} + +// JobTemplateInitContainerVolumeMountArrayInput is an input type that accepts JobTemplateInitContainerVolumeMountArray and JobTemplateInitContainerVolumeMountArrayOutput values. +// You can construct a concrete instance of `JobTemplateInitContainerVolumeMountArrayInput` via: +// +// JobTemplateInitContainerVolumeMountArray{ JobTemplateInitContainerVolumeMountArgs{...} } +type JobTemplateInitContainerVolumeMountArrayInput interface { + pulumi.Input + + ToJobTemplateInitContainerVolumeMountArrayOutput() JobTemplateInitContainerVolumeMountArrayOutput + ToJobTemplateInitContainerVolumeMountArrayOutputWithContext(context.Context) JobTemplateInitContainerVolumeMountArrayOutput +} + +type JobTemplateInitContainerVolumeMountArray []JobTemplateInitContainerVolumeMountInput + +func (JobTemplateInitContainerVolumeMountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainerVolumeMount)(nil)).Elem() +} + +func (i JobTemplateInitContainerVolumeMountArray) ToJobTemplateInitContainerVolumeMountArrayOutput() JobTemplateInitContainerVolumeMountArrayOutput { + return i.ToJobTemplateInitContainerVolumeMountArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateInitContainerVolumeMountArray) ToJobTemplateInitContainerVolumeMountArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerVolumeMountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateInitContainerVolumeMountArrayOutput) +} + +type JobTemplateInitContainerVolumeMountOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerVolumeMountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateInitContainerVolumeMount)(nil)).Elem() +} + +func (o JobTemplateInitContainerVolumeMountOutput) ToJobTemplateInitContainerVolumeMountOutput() JobTemplateInitContainerVolumeMountOutput { + return o +} + +func (o JobTemplateInitContainerVolumeMountOutput) ToJobTemplateInitContainerVolumeMountOutputWithContext(ctx context.Context) JobTemplateInitContainerVolumeMountOutput { + return o +} + +// The name of the volume to mount. This must match the name of a volume defined in the `volume` block. +func (o JobTemplateInitContainerVolumeMountOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateInitContainerVolumeMount) string { return v.Name }).(pulumi.StringOutput) +} + +// The path within the container at which the volume should be mounted. Must not contain `:`. +func (o JobTemplateInitContainerVolumeMountOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateInitContainerVolumeMount) string { return v.Path }).(pulumi.StringOutput) +} + +type JobTemplateInitContainerVolumeMountArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateInitContainerVolumeMountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateInitContainerVolumeMount)(nil)).Elem() +} + +func (o JobTemplateInitContainerVolumeMountArrayOutput) ToJobTemplateInitContainerVolumeMountArrayOutput() JobTemplateInitContainerVolumeMountArrayOutput { + return o +} + +func (o JobTemplateInitContainerVolumeMountArrayOutput) ToJobTemplateInitContainerVolumeMountArrayOutputWithContext(ctx context.Context) JobTemplateInitContainerVolumeMountArrayOutput { + return o +} + +func (o JobTemplateInitContainerVolumeMountArrayOutput) Index(i pulumi.IntInput) JobTemplateInitContainerVolumeMountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateInitContainerVolumeMount { + return vs[0].([]JobTemplateInitContainerVolumeMount)[vs[1].(int)] + }).(JobTemplateInitContainerVolumeMountOutput) +} + +type JobTemplateVolume struct { + // The name of the volume. + Name string `pulumi:"name"` + // The name of the storage to use for the volume. + StorageName *string `pulumi:"storageName"` + // The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + StorageType *string `pulumi:"storageType"` +} + +// JobTemplateVolumeInput is an input type that accepts JobTemplateVolumeArgs and JobTemplateVolumeOutput values. +// You can construct a concrete instance of `JobTemplateVolumeInput` via: +// +// JobTemplateVolumeArgs{...} +type JobTemplateVolumeInput interface { + pulumi.Input + + ToJobTemplateVolumeOutput() JobTemplateVolumeOutput + ToJobTemplateVolumeOutputWithContext(context.Context) JobTemplateVolumeOutput +} + +type JobTemplateVolumeArgs struct { + // The name of the volume. + Name pulumi.StringInput `pulumi:"name"` + // The name of the storage to use for the volume. + StorageName pulumi.StringPtrInput `pulumi:"storageName"` + // The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + StorageType pulumi.StringPtrInput `pulumi:"storageType"` +} + +func (JobTemplateVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateVolume)(nil)).Elem() +} + +func (i JobTemplateVolumeArgs) ToJobTemplateVolumeOutput() JobTemplateVolumeOutput { + return i.ToJobTemplateVolumeOutputWithContext(context.Background()) +} + +func (i JobTemplateVolumeArgs) ToJobTemplateVolumeOutputWithContext(ctx context.Context) JobTemplateVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateVolumeOutput) +} + +// JobTemplateVolumeArrayInput is an input type that accepts JobTemplateVolumeArray and JobTemplateVolumeArrayOutput values. +// You can construct a concrete instance of `JobTemplateVolumeArrayInput` via: +// +// JobTemplateVolumeArray{ JobTemplateVolumeArgs{...} } +type JobTemplateVolumeArrayInput interface { + pulumi.Input + + ToJobTemplateVolumeArrayOutput() JobTemplateVolumeArrayOutput + ToJobTemplateVolumeArrayOutputWithContext(context.Context) JobTemplateVolumeArrayOutput +} + +type JobTemplateVolumeArray []JobTemplateVolumeInput + +func (JobTemplateVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateVolume)(nil)).Elem() +} + +func (i JobTemplateVolumeArray) ToJobTemplateVolumeArrayOutput() JobTemplateVolumeArrayOutput { + return i.ToJobTemplateVolumeArrayOutputWithContext(context.Background()) +} + +func (i JobTemplateVolumeArray) ToJobTemplateVolumeArrayOutputWithContext(ctx context.Context) JobTemplateVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTemplateVolumeArrayOutput) +} + +type JobTemplateVolumeOutput struct{ *pulumi.OutputState } + +func (JobTemplateVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTemplateVolume)(nil)).Elem() +} + +func (o JobTemplateVolumeOutput) ToJobTemplateVolumeOutput() JobTemplateVolumeOutput { + return o +} + +func (o JobTemplateVolumeOutput) ToJobTemplateVolumeOutputWithContext(ctx context.Context) JobTemplateVolumeOutput { + return o +} + +// The name of the volume. +func (o JobTemplateVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobTemplateVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// The name of the storage to use for the volume. +func (o JobTemplateVolumeOutput) StorageName() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateVolume) *string { return v.StorageName }).(pulumi.StringPtrOutput) +} + +// The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. +func (o JobTemplateVolumeOutput) StorageType() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTemplateVolume) *string { return v.StorageType }).(pulumi.StringPtrOutput) +} + +type JobTemplateVolumeArrayOutput struct{ *pulumi.OutputState } + +func (JobTemplateVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTemplateVolume)(nil)).Elem() +} + +func (o JobTemplateVolumeArrayOutput) ToJobTemplateVolumeArrayOutput() JobTemplateVolumeArrayOutput { + return o +} + +func (o JobTemplateVolumeArrayOutput) ToJobTemplateVolumeArrayOutputWithContext(ctx context.Context) JobTemplateVolumeArrayOutput { + return o +} + +func (o JobTemplateVolumeArrayOutput) Index(i pulumi.IntInput) JobTemplateVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTemplateVolume { + return vs[0].([]JobTemplateVolume)[vs[1].(int)] + }).(JobTemplateVolumeOutput) +} + type GetAppDapr struct { // The Dapr Application Identifier. AppId string `pulumi:"appId"` @@ -8675,6 +11934,52 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentDaprComponentSecretArrayInput)(nil)).Elem(), EnvironmentDaprComponentSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentWorkloadProfileInput)(nil)).Elem(), EnvironmentWorkloadProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentWorkloadProfileArrayInput)(nil)).Elem(), EnvironmentWorkloadProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigInput)(nil)).Elem(), JobEventTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigPtrInput)(nil)).Elem(), JobEventTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleInput)(nil)).Elem(), JobEventTriggerConfigScaleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleArrayInput)(nil)).Elem(), JobEventTriggerConfigScaleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleRuleInput)(nil)).Elem(), JobEventTriggerConfigScaleRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleRuleArrayInput)(nil)).Elem(), JobEventTriggerConfigScaleRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleRuleAuthenticationInput)(nil)).Elem(), JobEventTriggerConfigScaleRuleAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobEventTriggerConfigScaleRuleAuthenticationArrayInput)(nil)).Elem(), JobEventTriggerConfigScaleRuleAuthenticationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobIdentityInput)(nil)).Elem(), JobIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobIdentityPtrInput)(nil)).Elem(), JobIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobManualTriggerConfigInput)(nil)).Elem(), JobManualTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobManualTriggerConfigPtrInput)(nil)).Elem(), JobManualTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobRegistryInput)(nil)).Elem(), JobRegistryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobRegistryArrayInput)(nil)).Elem(), JobRegistryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobScheduleTriggerConfigInput)(nil)).Elem(), JobScheduleTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobScheduleTriggerConfigPtrInput)(nil)).Elem(), JobScheduleTriggerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobSecretInput)(nil)).Elem(), JobSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobSecretArrayInput)(nil)).Elem(), JobSecretArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInput)(nil)).Elem(), JobTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplatePtrInput)(nil)).Elem(), JobTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerInput)(nil)).Elem(), JobTemplateContainerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerArrayInput)(nil)).Elem(), JobTemplateContainerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerEnvInput)(nil)).Elem(), JobTemplateContainerEnvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerEnvArrayInput)(nil)).Elem(), JobTemplateContainerEnvArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerLivenessProbeInput)(nil)).Elem(), JobTemplateContainerLivenessProbeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerLivenessProbeArrayInput)(nil)).Elem(), JobTemplateContainerLivenessProbeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerLivenessProbeHeaderInput)(nil)).Elem(), JobTemplateContainerLivenessProbeHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerLivenessProbeHeaderArrayInput)(nil)).Elem(), JobTemplateContainerLivenessProbeHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerReadinessProbeInput)(nil)).Elem(), JobTemplateContainerReadinessProbeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerReadinessProbeArrayInput)(nil)).Elem(), JobTemplateContainerReadinessProbeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerReadinessProbeHeaderInput)(nil)).Elem(), JobTemplateContainerReadinessProbeHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerReadinessProbeHeaderArrayInput)(nil)).Elem(), JobTemplateContainerReadinessProbeHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerStartupProbeInput)(nil)).Elem(), JobTemplateContainerStartupProbeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerStartupProbeArrayInput)(nil)).Elem(), JobTemplateContainerStartupProbeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerStartupProbeHeaderInput)(nil)).Elem(), JobTemplateContainerStartupProbeHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerStartupProbeHeaderArrayInput)(nil)).Elem(), JobTemplateContainerStartupProbeHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerVolumeMountInput)(nil)).Elem(), JobTemplateContainerVolumeMountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateContainerVolumeMountArrayInput)(nil)).Elem(), JobTemplateContainerVolumeMountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerInput)(nil)).Elem(), JobTemplateInitContainerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerArrayInput)(nil)).Elem(), JobTemplateInitContainerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerEnvInput)(nil)).Elem(), JobTemplateInitContainerEnvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerEnvArrayInput)(nil)).Elem(), JobTemplateInitContainerEnvArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerVolumeMountInput)(nil)).Elem(), JobTemplateInitContainerVolumeMountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateInitContainerVolumeMountArrayInput)(nil)).Elem(), JobTemplateInitContainerVolumeMountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateVolumeInput)(nil)).Elem(), JobTemplateVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobTemplateVolumeArrayInput)(nil)).Elem(), JobTemplateVolumeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppDaprInput)(nil)).Elem(), GetAppDaprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppDaprArrayInput)(nil)).Elem(), GetAppDaprArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppIdentityInput)(nil)).Elem(), GetAppIdentityArgs{}) @@ -8801,6 +12106,52 @@ func init() { pulumi.RegisterOutputType(EnvironmentDaprComponentSecretArrayOutput{}) pulumi.RegisterOutputType(EnvironmentWorkloadProfileOutput{}) pulumi.RegisterOutputType(EnvironmentWorkloadProfileArrayOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigPtrOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleArrayOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleRuleOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleRuleArrayOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleRuleAuthenticationOutput{}) + pulumi.RegisterOutputType(JobEventTriggerConfigScaleRuleAuthenticationArrayOutput{}) + pulumi.RegisterOutputType(JobIdentityOutput{}) + pulumi.RegisterOutputType(JobIdentityPtrOutput{}) + pulumi.RegisterOutputType(JobManualTriggerConfigOutput{}) + pulumi.RegisterOutputType(JobManualTriggerConfigPtrOutput{}) + pulumi.RegisterOutputType(JobRegistryOutput{}) + pulumi.RegisterOutputType(JobRegistryArrayOutput{}) + pulumi.RegisterOutputType(JobScheduleTriggerConfigOutput{}) + pulumi.RegisterOutputType(JobScheduleTriggerConfigPtrOutput{}) + pulumi.RegisterOutputType(JobSecretOutput{}) + pulumi.RegisterOutputType(JobSecretArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateOutput{}) + pulumi.RegisterOutputType(JobTemplatePtrOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerEnvOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerEnvArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerLivenessProbeOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerLivenessProbeArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerLivenessProbeHeaderOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerLivenessProbeHeaderArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerReadinessProbeOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerReadinessProbeArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerReadinessProbeHeaderOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerReadinessProbeHeaderArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerStartupProbeOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerStartupProbeArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerStartupProbeHeaderOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerStartupProbeHeaderArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerVolumeMountOutput{}) + pulumi.RegisterOutputType(JobTemplateContainerVolumeMountArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerEnvOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerEnvArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerVolumeMountOutput{}) + pulumi.RegisterOutputType(JobTemplateInitContainerVolumeMountArrayOutput{}) + pulumi.RegisterOutputType(JobTemplateVolumeOutput{}) + pulumi.RegisterOutputType(JobTemplateVolumeArrayOutput{}) pulumi.RegisterOutputType(GetAppDaprOutput{}) pulumi.RegisterOutputType(GetAppDaprArrayOutput{}) pulumi.RegisterOutputType(GetAppIdentityOutput{}) diff --git a/sdk/go/azure/datafactory/credentialServicePrincipal.go b/sdk/go/azure/datafactory/credentialServicePrincipal.go new file mode 100644 index 0000000000..72a8b4e670 --- /dev/null +++ b/sdk/go/azure/datafactory/credentialServicePrincipal.go @@ -0,0 +1,429 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package datafactory + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/datafactory" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := core.GetClientConfig(ctx, nil, nil) +// if err != nil { +// return err +// } +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("westeurope"), +// }) +// if err != nil { +// return err +// } +// exampleFactory, err := datafactory.NewFactory(ctx, "example", &datafactory.FactoryArgs{ +// Name: pulumi.String("example"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// }) +// if err != nil { +// return err +// } +// exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{ +// Name: pulumi.String("example"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// TenantId: pulumi.String(current.TenantId), +// SkuName: pulumi.String("premium"), +// SoftDeleteRetentionDays: pulumi.Int(7), +// AccessPolicies: keyvault.KeyVaultAccessPolicyArray{ +// &keyvault.KeyVaultAccessPolicyArgs{ +// TenantId: pulumi.String(current.TenantId), +// ObjectId: pulumi.String(current.ObjectId), +// KeyPermissions: pulumi.StringArray{ +// pulumi.String("Create"), +// pulumi.String("Get"), +// }, +// SecretPermissions: pulumi.StringArray{ +// pulumi.String("Set"), +// pulumi.String("Get"), +// pulumi.String("Delete"), +// pulumi.String("Purge"), +// pulumi.String("Recover"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// exampleSecret, err := keyvault.NewSecret(ctx, "example", &keyvault.SecretArgs{ +// Name: pulumi.String("example"), +// Value: pulumi.String("example-secret"), +// KeyVaultId: exampleKeyVault.ID(), +// }) +// if err != nil { +// return err +// } +// exampleLinkedServiceKeyVault, err := datafactory.NewLinkedServiceKeyVault(ctx, "example", &datafactory.LinkedServiceKeyVaultArgs{ +// Name: pulumi.String("example"), +// DataFactoryId: exampleFactory.ID(), +// KeyVaultId: exampleKeyVault.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = datafactory.NewCredentialServicePrincipal(ctx, "example", &datafactory.CredentialServicePrincipalArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("example description"), +// DataFactoryId: exampleFactory.ID(), +// TenantId: pulumi.String(current.TenantId), +// ServicePrincipalId: pulumi.String(current.ClientId), +// ServicePrincipalKey: &datafactory.CredentialServicePrincipalServicePrincipalKeyArgs{ +// LinkedServiceName: exampleLinkedServiceKeyVault.Name, +// SecretName: exampleSecret.Name, +// SecretVersion: exampleSecret.Version, +// }, +// Annotations: pulumi.StringArray{ +// pulumi.String("1"), +// pulumi.String("2"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Data Factory Credentials can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 +// ``` +type CredentialServicePrincipal struct { + pulumi.CustomResourceState + + // List of tags that can be used for describing the Data Factory Credential. + Annotations pulumi.StringArrayOutput `pulumi:"annotations"` + // The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + DataFactoryId pulumi.StringOutput `pulumi:"dataFactoryId"` + // The description for the Data Factory Credential. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Specifies the name of the Credential. Changing this forces a new resource to be created. + Name pulumi.StringOutput `pulumi:"name"` + // The Client ID of the Service Principal. + ServicePrincipalId pulumi.StringOutput `pulumi:"servicePrincipalId"` + // A `servicePrincipalKey` block as defined below. + ServicePrincipalKey CredentialServicePrincipalServicePrincipalKeyPtrOutput `pulumi:"servicePrincipalKey"` + // The Tenant ID of the Service Principal. + TenantId pulumi.StringOutput `pulumi:"tenantId"` +} + +// NewCredentialServicePrincipal registers a new resource with the given unique name, arguments, and options. +func NewCredentialServicePrincipal(ctx *pulumi.Context, + name string, args *CredentialServicePrincipalArgs, opts ...pulumi.ResourceOption) (*CredentialServicePrincipal, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DataFactoryId == nil { + return nil, errors.New("invalid value for required argument 'DataFactoryId'") + } + if args.ServicePrincipalId == nil { + return nil, errors.New("invalid value for required argument 'ServicePrincipalId'") + } + if args.TenantId == nil { + return nil, errors.New("invalid value for required argument 'TenantId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CredentialServicePrincipal + err := ctx.RegisterResource("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCredentialServicePrincipal gets an existing CredentialServicePrincipal resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCredentialServicePrincipal(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CredentialServicePrincipalState, opts ...pulumi.ResourceOption) (*CredentialServicePrincipal, error) { + var resource CredentialServicePrincipal + err := ctx.ReadResource("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CredentialServicePrincipal resources. +type credentialServicePrincipalState struct { + // List of tags that can be used for describing the Data Factory Credential. + Annotations []string `pulumi:"annotations"` + // The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + DataFactoryId *string `pulumi:"dataFactoryId"` + // The description for the Data Factory Credential. + Description *string `pulumi:"description"` + // Specifies the name of the Credential. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The Client ID of the Service Principal. + ServicePrincipalId *string `pulumi:"servicePrincipalId"` + // A `servicePrincipalKey` block as defined below. + ServicePrincipalKey *CredentialServicePrincipalServicePrincipalKey `pulumi:"servicePrincipalKey"` + // The Tenant ID of the Service Principal. + TenantId *string `pulumi:"tenantId"` +} + +type CredentialServicePrincipalState struct { + // List of tags that can be used for describing the Data Factory Credential. + Annotations pulumi.StringArrayInput + // The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + DataFactoryId pulumi.StringPtrInput + // The description for the Data Factory Credential. + Description pulumi.StringPtrInput + // Specifies the name of the Credential. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The Client ID of the Service Principal. + ServicePrincipalId pulumi.StringPtrInput + // A `servicePrincipalKey` block as defined below. + ServicePrincipalKey CredentialServicePrincipalServicePrincipalKeyPtrInput + // The Tenant ID of the Service Principal. + TenantId pulumi.StringPtrInput +} + +func (CredentialServicePrincipalState) ElementType() reflect.Type { + return reflect.TypeOf((*credentialServicePrincipalState)(nil)).Elem() +} + +type credentialServicePrincipalArgs struct { + // List of tags that can be used for describing the Data Factory Credential. + Annotations []string `pulumi:"annotations"` + // The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + DataFactoryId string `pulumi:"dataFactoryId"` + // The description for the Data Factory Credential. + Description *string `pulumi:"description"` + // Specifies the name of the Credential. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The Client ID of the Service Principal. + ServicePrincipalId string `pulumi:"servicePrincipalId"` + // A `servicePrincipalKey` block as defined below. + ServicePrincipalKey *CredentialServicePrincipalServicePrincipalKey `pulumi:"servicePrincipalKey"` + // The Tenant ID of the Service Principal. + TenantId string `pulumi:"tenantId"` +} + +// The set of arguments for constructing a CredentialServicePrincipal resource. +type CredentialServicePrincipalArgs struct { + // List of tags that can be used for describing the Data Factory Credential. + Annotations pulumi.StringArrayInput + // The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + DataFactoryId pulumi.StringInput + // The description for the Data Factory Credential. + Description pulumi.StringPtrInput + // Specifies the name of the Credential. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The Client ID of the Service Principal. + ServicePrincipalId pulumi.StringInput + // A `servicePrincipalKey` block as defined below. + ServicePrincipalKey CredentialServicePrincipalServicePrincipalKeyPtrInput + // The Tenant ID of the Service Principal. + TenantId pulumi.StringInput +} + +func (CredentialServicePrincipalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*credentialServicePrincipalArgs)(nil)).Elem() +} + +type CredentialServicePrincipalInput interface { + pulumi.Input + + ToCredentialServicePrincipalOutput() CredentialServicePrincipalOutput + ToCredentialServicePrincipalOutputWithContext(ctx context.Context) CredentialServicePrincipalOutput +} + +func (*CredentialServicePrincipal) ElementType() reflect.Type { + return reflect.TypeOf((**CredentialServicePrincipal)(nil)).Elem() +} + +func (i *CredentialServicePrincipal) ToCredentialServicePrincipalOutput() CredentialServicePrincipalOutput { + return i.ToCredentialServicePrincipalOutputWithContext(context.Background()) +} + +func (i *CredentialServicePrincipal) ToCredentialServicePrincipalOutputWithContext(ctx context.Context) CredentialServicePrincipalOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalOutput) +} + +// CredentialServicePrincipalArrayInput is an input type that accepts CredentialServicePrincipalArray and CredentialServicePrincipalArrayOutput values. +// You can construct a concrete instance of `CredentialServicePrincipalArrayInput` via: +// +// CredentialServicePrincipalArray{ CredentialServicePrincipalArgs{...} } +type CredentialServicePrincipalArrayInput interface { + pulumi.Input + + ToCredentialServicePrincipalArrayOutput() CredentialServicePrincipalArrayOutput + ToCredentialServicePrincipalArrayOutputWithContext(context.Context) CredentialServicePrincipalArrayOutput +} + +type CredentialServicePrincipalArray []CredentialServicePrincipalInput + +func (CredentialServicePrincipalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CredentialServicePrincipal)(nil)).Elem() +} + +func (i CredentialServicePrincipalArray) ToCredentialServicePrincipalArrayOutput() CredentialServicePrincipalArrayOutput { + return i.ToCredentialServicePrincipalArrayOutputWithContext(context.Background()) +} + +func (i CredentialServicePrincipalArray) ToCredentialServicePrincipalArrayOutputWithContext(ctx context.Context) CredentialServicePrincipalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalArrayOutput) +} + +// CredentialServicePrincipalMapInput is an input type that accepts CredentialServicePrincipalMap and CredentialServicePrincipalMapOutput values. +// You can construct a concrete instance of `CredentialServicePrincipalMapInput` via: +// +// CredentialServicePrincipalMap{ "key": CredentialServicePrincipalArgs{...} } +type CredentialServicePrincipalMapInput interface { + pulumi.Input + + ToCredentialServicePrincipalMapOutput() CredentialServicePrincipalMapOutput + ToCredentialServicePrincipalMapOutputWithContext(context.Context) CredentialServicePrincipalMapOutput +} + +type CredentialServicePrincipalMap map[string]CredentialServicePrincipalInput + +func (CredentialServicePrincipalMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CredentialServicePrincipal)(nil)).Elem() +} + +func (i CredentialServicePrincipalMap) ToCredentialServicePrincipalMapOutput() CredentialServicePrincipalMapOutput { + return i.ToCredentialServicePrincipalMapOutputWithContext(context.Background()) +} + +func (i CredentialServicePrincipalMap) ToCredentialServicePrincipalMapOutputWithContext(ctx context.Context) CredentialServicePrincipalMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalMapOutput) +} + +type CredentialServicePrincipalOutput struct{ *pulumi.OutputState } + +func (CredentialServicePrincipalOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CredentialServicePrincipal)(nil)).Elem() +} + +func (o CredentialServicePrincipalOutput) ToCredentialServicePrincipalOutput() CredentialServicePrincipalOutput { + return o +} + +func (o CredentialServicePrincipalOutput) ToCredentialServicePrincipalOutputWithContext(ctx context.Context) CredentialServicePrincipalOutput { + return o +} + +// List of tags that can be used for describing the Data Factory Credential. +func (o CredentialServicePrincipalOutput) Annotations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringArrayOutput { return v.Annotations }).(pulumi.StringArrayOutput) +} + +// The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. +func (o CredentialServicePrincipalOutput) DataFactoryId() pulumi.StringOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringOutput { return v.DataFactoryId }).(pulumi.StringOutput) +} + +// The description for the Data Factory Credential. +func (o CredentialServicePrincipalOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Specifies the name of the Credential. Changing this forces a new resource to be created. +func (o CredentialServicePrincipalOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The Client ID of the Service Principal. +func (o CredentialServicePrincipalOutput) ServicePrincipalId() pulumi.StringOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringOutput { return v.ServicePrincipalId }).(pulumi.StringOutput) +} + +// A `servicePrincipalKey` block as defined below. +func (o CredentialServicePrincipalOutput) ServicePrincipalKey() CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return v.ServicePrincipalKey + }).(CredentialServicePrincipalServicePrincipalKeyPtrOutput) +} + +// The Tenant ID of the Service Principal. +func (o CredentialServicePrincipalOutput) TenantId() pulumi.StringOutput { + return o.ApplyT(func(v *CredentialServicePrincipal) pulumi.StringOutput { return v.TenantId }).(pulumi.StringOutput) +} + +type CredentialServicePrincipalArrayOutput struct{ *pulumi.OutputState } + +func (CredentialServicePrincipalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CredentialServicePrincipal)(nil)).Elem() +} + +func (o CredentialServicePrincipalArrayOutput) ToCredentialServicePrincipalArrayOutput() CredentialServicePrincipalArrayOutput { + return o +} + +func (o CredentialServicePrincipalArrayOutput) ToCredentialServicePrincipalArrayOutputWithContext(ctx context.Context) CredentialServicePrincipalArrayOutput { + return o +} + +func (o CredentialServicePrincipalArrayOutput) Index(i pulumi.IntInput) CredentialServicePrincipalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CredentialServicePrincipal { + return vs[0].([]*CredentialServicePrincipal)[vs[1].(int)] + }).(CredentialServicePrincipalOutput) +} + +type CredentialServicePrincipalMapOutput struct{ *pulumi.OutputState } + +func (CredentialServicePrincipalMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CredentialServicePrincipal)(nil)).Elem() +} + +func (o CredentialServicePrincipalMapOutput) ToCredentialServicePrincipalMapOutput() CredentialServicePrincipalMapOutput { + return o +} + +func (o CredentialServicePrincipalMapOutput) ToCredentialServicePrincipalMapOutputWithContext(ctx context.Context) CredentialServicePrincipalMapOutput { + return o +} + +func (o CredentialServicePrincipalMapOutput) MapIndex(k pulumi.StringInput) CredentialServicePrincipalOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CredentialServicePrincipal { + return vs[0].(map[string]*CredentialServicePrincipal)[vs[1].(string)] + }).(CredentialServicePrincipalOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CredentialServicePrincipalInput)(nil)).Elem(), &CredentialServicePrincipal{}) + pulumi.RegisterInputType(reflect.TypeOf((*CredentialServicePrincipalArrayInput)(nil)).Elem(), CredentialServicePrincipalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CredentialServicePrincipalMapInput)(nil)).Elem(), CredentialServicePrincipalMap{}) + pulumi.RegisterOutputType(CredentialServicePrincipalOutput{}) + pulumi.RegisterOutputType(CredentialServicePrincipalArrayOutput{}) + pulumi.RegisterOutputType(CredentialServicePrincipalMapOutput{}) +} diff --git a/sdk/go/azure/datafactory/init.go b/sdk/go/azure/datafactory/init.go index 596bc97770..f11c7bc84f 100644 --- a/sdk/go/azure/datafactory/init.go +++ b/sdk/go/azure/datafactory/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal": + r = &CredentialServicePrincipal{} case "azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity": r = &CredentialUserManagedIdentity{} case "azure:datafactory/customDataset:CustomDataset": @@ -132,6 +134,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "azure", + "datafactory/credentialServicePrincipal", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "datafactory/credentialUserManagedIdentity", diff --git a/sdk/go/azure/datafactory/pulumiTypes.go b/sdk/go/azure/datafactory/pulumiTypes.go index c8a4abe132..87da2dfa18 100644 --- a/sdk/go/azure/datafactory/pulumiTypes.go +++ b/sdk/go/azure/datafactory/pulumiTypes.go @@ -13,6 +13,181 @@ import ( var _ = internal.GetEnvOrDefault +type CredentialServicePrincipalServicePrincipalKey struct { + // The name of the Linked Service to use for the Service Principal Key. + LinkedServiceName string `pulumi:"linkedServiceName"` + // The name of the Secret in the Key Vault. + SecretName string `pulumi:"secretName"` + // The version of the Secret in the Key Vault. + SecretVersion *string `pulumi:"secretVersion"` +} + +// CredentialServicePrincipalServicePrincipalKeyInput is an input type that accepts CredentialServicePrincipalServicePrincipalKeyArgs and CredentialServicePrincipalServicePrincipalKeyOutput values. +// You can construct a concrete instance of `CredentialServicePrincipalServicePrincipalKeyInput` via: +// +// CredentialServicePrincipalServicePrincipalKeyArgs{...} +type CredentialServicePrincipalServicePrincipalKeyInput interface { + pulumi.Input + + ToCredentialServicePrincipalServicePrincipalKeyOutput() CredentialServicePrincipalServicePrincipalKeyOutput + ToCredentialServicePrincipalServicePrincipalKeyOutputWithContext(context.Context) CredentialServicePrincipalServicePrincipalKeyOutput +} + +type CredentialServicePrincipalServicePrincipalKeyArgs struct { + // The name of the Linked Service to use for the Service Principal Key. + LinkedServiceName pulumi.StringInput `pulumi:"linkedServiceName"` + // The name of the Secret in the Key Vault. + SecretName pulumi.StringInput `pulumi:"secretName"` + // The version of the Secret in the Key Vault. + SecretVersion pulumi.StringPtrInput `pulumi:"secretVersion"` +} + +func (CredentialServicePrincipalServicePrincipalKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CredentialServicePrincipalServicePrincipalKey)(nil)).Elem() +} + +func (i CredentialServicePrincipalServicePrincipalKeyArgs) ToCredentialServicePrincipalServicePrincipalKeyOutput() CredentialServicePrincipalServicePrincipalKeyOutput { + return i.ToCredentialServicePrincipalServicePrincipalKeyOutputWithContext(context.Background()) +} + +func (i CredentialServicePrincipalServicePrincipalKeyArgs) ToCredentialServicePrincipalServicePrincipalKeyOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalServicePrincipalKeyOutput) +} + +func (i CredentialServicePrincipalServicePrincipalKeyArgs) ToCredentialServicePrincipalServicePrincipalKeyPtrOutput() CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return i.ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(context.Background()) +} + +func (i CredentialServicePrincipalServicePrincipalKeyArgs) ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalServicePrincipalKeyOutput).ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(ctx) +} + +// CredentialServicePrincipalServicePrincipalKeyPtrInput is an input type that accepts CredentialServicePrincipalServicePrincipalKeyArgs, CredentialServicePrincipalServicePrincipalKeyPtr and CredentialServicePrincipalServicePrincipalKeyPtrOutput values. +// You can construct a concrete instance of `CredentialServicePrincipalServicePrincipalKeyPtrInput` via: +// +// CredentialServicePrincipalServicePrincipalKeyArgs{...} +// +// or: +// +// nil +type CredentialServicePrincipalServicePrincipalKeyPtrInput interface { + pulumi.Input + + ToCredentialServicePrincipalServicePrincipalKeyPtrOutput() CredentialServicePrincipalServicePrincipalKeyPtrOutput + ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(context.Context) CredentialServicePrincipalServicePrincipalKeyPtrOutput +} + +type credentialServicePrincipalServicePrincipalKeyPtrType CredentialServicePrincipalServicePrincipalKeyArgs + +func CredentialServicePrincipalServicePrincipalKeyPtr(v *CredentialServicePrincipalServicePrincipalKeyArgs) CredentialServicePrincipalServicePrincipalKeyPtrInput { + return (*credentialServicePrincipalServicePrincipalKeyPtrType)(v) +} + +func (*credentialServicePrincipalServicePrincipalKeyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CredentialServicePrincipalServicePrincipalKey)(nil)).Elem() +} + +func (i *credentialServicePrincipalServicePrincipalKeyPtrType) ToCredentialServicePrincipalServicePrincipalKeyPtrOutput() CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return i.ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(context.Background()) +} + +func (i *credentialServicePrincipalServicePrincipalKeyPtrType) ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CredentialServicePrincipalServicePrincipalKeyPtrOutput) +} + +type CredentialServicePrincipalServicePrincipalKeyOutput struct{ *pulumi.OutputState } + +func (CredentialServicePrincipalServicePrincipalKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CredentialServicePrincipalServicePrincipalKey)(nil)).Elem() +} + +func (o CredentialServicePrincipalServicePrincipalKeyOutput) ToCredentialServicePrincipalServicePrincipalKeyOutput() CredentialServicePrincipalServicePrincipalKeyOutput { + return o +} + +func (o CredentialServicePrincipalServicePrincipalKeyOutput) ToCredentialServicePrincipalServicePrincipalKeyOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyOutput { + return o +} + +func (o CredentialServicePrincipalServicePrincipalKeyOutput) ToCredentialServicePrincipalServicePrincipalKeyPtrOutput() CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return o.ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(context.Background()) +} + +func (o CredentialServicePrincipalServicePrincipalKeyOutput) ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CredentialServicePrincipalServicePrincipalKey) *CredentialServicePrincipalServicePrincipalKey { + return &v + }).(CredentialServicePrincipalServicePrincipalKeyPtrOutput) +} + +// The name of the Linked Service to use for the Service Principal Key. +func (o CredentialServicePrincipalServicePrincipalKeyOutput) LinkedServiceName() pulumi.StringOutput { + return o.ApplyT(func(v CredentialServicePrincipalServicePrincipalKey) string { return v.LinkedServiceName }).(pulumi.StringOutput) +} + +// The name of the Secret in the Key Vault. +func (o CredentialServicePrincipalServicePrincipalKeyOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v CredentialServicePrincipalServicePrincipalKey) string { return v.SecretName }).(pulumi.StringOutput) +} + +// The version of the Secret in the Key Vault. +func (o CredentialServicePrincipalServicePrincipalKeyOutput) SecretVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v CredentialServicePrincipalServicePrincipalKey) *string { return v.SecretVersion }).(pulumi.StringPtrOutput) +} + +type CredentialServicePrincipalServicePrincipalKeyPtrOutput struct{ *pulumi.OutputState } + +func (CredentialServicePrincipalServicePrincipalKeyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CredentialServicePrincipalServicePrincipalKey)(nil)).Elem() +} + +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) ToCredentialServicePrincipalServicePrincipalKeyPtrOutput() CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return o +} + +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) ToCredentialServicePrincipalServicePrincipalKeyPtrOutputWithContext(ctx context.Context) CredentialServicePrincipalServicePrincipalKeyPtrOutput { + return o +} + +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) Elem() CredentialServicePrincipalServicePrincipalKeyOutput { + return o.ApplyT(func(v *CredentialServicePrincipalServicePrincipalKey) CredentialServicePrincipalServicePrincipalKey { + if v != nil { + return *v + } + var ret CredentialServicePrincipalServicePrincipalKey + return ret + }).(CredentialServicePrincipalServicePrincipalKeyOutput) +} + +// The name of the Linked Service to use for the Service Principal Key. +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) LinkedServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CredentialServicePrincipalServicePrincipalKey) *string { + if v == nil { + return nil + } + return &v.LinkedServiceName + }).(pulumi.StringPtrOutput) +} + +// The name of the Secret in the Key Vault. +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CredentialServicePrincipalServicePrincipalKey) *string { + if v == nil { + return nil + } + return &v.SecretName + }).(pulumi.StringPtrOutput) +} + +// The version of the Secret in the Key Vault. +func (o CredentialServicePrincipalServicePrincipalKeyPtrOutput) SecretVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CredentialServicePrincipalServicePrincipalKey) *string { + if v == nil { + return nil + } + return v.SecretVersion + }).(pulumi.StringPtrOutput) +} + type CustomDatasetLinkedService struct { // The name of the Data Factory Linked Service. Name string `pulumi:"name"` @@ -17059,6 +17234,8 @@ func (o GetTriggerScheduleScheduleMonthlyArrayOutput) Index(i pulumi.IntInput) G } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CredentialServicePrincipalServicePrincipalKeyInput)(nil)).Elem(), CredentialServicePrincipalServicePrincipalKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CredentialServicePrincipalServicePrincipalKeyPtrInput)(nil)).Elem(), CredentialServicePrincipalServicePrincipalKeyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomDatasetLinkedServiceInput)(nil)).Elem(), CustomDatasetLinkedServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomDatasetLinkedServicePtrInput)(nil)).Elem(), CustomDatasetLinkedServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataFlowSinkInput)(nil)).Elem(), DataFlowSinkArgs{}) @@ -17271,6 +17448,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetTriggerScheduleScheduleArrayInput)(nil)).Elem(), GetTriggerScheduleScheduleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTriggerScheduleScheduleMonthlyInput)(nil)).Elem(), GetTriggerScheduleScheduleMonthlyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTriggerScheduleScheduleMonthlyArrayInput)(nil)).Elem(), GetTriggerScheduleScheduleMonthlyArray{}) + pulumi.RegisterOutputType(CredentialServicePrincipalServicePrincipalKeyOutput{}) + pulumi.RegisterOutputType(CredentialServicePrincipalServicePrincipalKeyPtrOutput{}) pulumi.RegisterOutputType(CustomDatasetLinkedServiceOutput{}) pulumi.RegisterOutputType(CustomDatasetLinkedServicePtrOutput{}) pulumi.RegisterOutputType(DataFlowSinkOutput{}) diff --git a/sdk/go/azure/maintenance/assignmentDynamicScope.go b/sdk/go/azure/maintenance/assignmentDynamicScope.go new file mode 100644 index 0000000000..8bcece9853 --- /dev/null +++ b/sdk/go/azure/maintenance/assignmentDynamicScope.go @@ -0,0 +1,274 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package maintenance + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Dynamic Maintenance Assignment. +// +// > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. +// +// ## Import +// +// Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName +// ``` +type AssignmentDynamicScope struct { + pulumi.CustomResourceState + + // A `filter` block as defined below. + Filter AssignmentDynamicScopeFilterOutput `pulumi:"filter"` + // The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + MaintenanceConfigurationId pulumi.StringOutput `pulumi:"maintenanceConfigurationId"` + // The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + // + // > **Note:** The `name` must be unique per subscription. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewAssignmentDynamicScope registers a new resource with the given unique name, arguments, and options. +func NewAssignmentDynamicScope(ctx *pulumi.Context, + name string, args *AssignmentDynamicScopeArgs, opts ...pulumi.ResourceOption) (*AssignmentDynamicScope, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Filter == nil { + return nil, errors.New("invalid value for required argument 'Filter'") + } + if args.MaintenanceConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'MaintenanceConfigurationId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AssignmentDynamicScope + err := ctx.RegisterResource("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAssignmentDynamicScope gets an existing AssignmentDynamicScope resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAssignmentDynamicScope(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AssignmentDynamicScopeState, opts ...pulumi.ResourceOption) (*AssignmentDynamicScope, error) { + var resource AssignmentDynamicScope + err := ctx.ReadResource("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AssignmentDynamicScope resources. +type assignmentDynamicScopeState struct { + // A `filter` block as defined below. + Filter *AssignmentDynamicScopeFilter `pulumi:"filter"` + // The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + MaintenanceConfigurationId *string `pulumi:"maintenanceConfigurationId"` + // The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + // + // > **Note:** The `name` must be unique per subscription. + Name *string `pulumi:"name"` +} + +type AssignmentDynamicScopeState struct { + // A `filter` block as defined below. + Filter AssignmentDynamicScopeFilterPtrInput + // The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + MaintenanceConfigurationId pulumi.StringPtrInput + // The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + // + // > **Note:** The `name` must be unique per subscription. + Name pulumi.StringPtrInput +} + +func (AssignmentDynamicScopeState) ElementType() reflect.Type { + return reflect.TypeOf((*assignmentDynamicScopeState)(nil)).Elem() +} + +type assignmentDynamicScopeArgs struct { + // A `filter` block as defined below. + Filter AssignmentDynamicScopeFilter `pulumi:"filter"` + // The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + MaintenanceConfigurationId string `pulumi:"maintenanceConfigurationId"` + // The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + // + // > **Note:** The `name` must be unique per subscription. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a AssignmentDynamicScope resource. +type AssignmentDynamicScopeArgs struct { + // A `filter` block as defined below. + Filter AssignmentDynamicScopeFilterInput + // The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + MaintenanceConfigurationId pulumi.StringInput + // The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + // + // > **Note:** The `name` must be unique per subscription. + Name pulumi.StringPtrInput +} + +func (AssignmentDynamicScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*assignmentDynamicScopeArgs)(nil)).Elem() +} + +type AssignmentDynamicScopeInput interface { + pulumi.Input + + ToAssignmentDynamicScopeOutput() AssignmentDynamicScopeOutput + ToAssignmentDynamicScopeOutputWithContext(ctx context.Context) AssignmentDynamicScopeOutput +} + +func (*AssignmentDynamicScope) ElementType() reflect.Type { + return reflect.TypeOf((**AssignmentDynamicScope)(nil)).Elem() +} + +func (i *AssignmentDynamicScope) ToAssignmentDynamicScopeOutput() AssignmentDynamicScopeOutput { + return i.ToAssignmentDynamicScopeOutputWithContext(context.Background()) +} + +func (i *AssignmentDynamicScope) ToAssignmentDynamicScopeOutputWithContext(ctx context.Context) AssignmentDynamicScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeOutput) +} + +// AssignmentDynamicScopeArrayInput is an input type that accepts AssignmentDynamicScopeArray and AssignmentDynamicScopeArrayOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeArrayInput` via: +// +// AssignmentDynamicScopeArray{ AssignmentDynamicScopeArgs{...} } +type AssignmentDynamicScopeArrayInput interface { + pulumi.Input + + ToAssignmentDynamicScopeArrayOutput() AssignmentDynamicScopeArrayOutput + ToAssignmentDynamicScopeArrayOutputWithContext(context.Context) AssignmentDynamicScopeArrayOutput +} + +type AssignmentDynamicScopeArray []AssignmentDynamicScopeInput + +func (AssignmentDynamicScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AssignmentDynamicScope)(nil)).Elem() +} + +func (i AssignmentDynamicScopeArray) ToAssignmentDynamicScopeArrayOutput() AssignmentDynamicScopeArrayOutput { + return i.ToAssignmentDynamicScopeArrayOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeArray) ToAssignmentDynamicScopeArrayOutputWithContext(ctx context.Context) AssignmentDynamicScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeArrayOutput) +} + +// AssignmentDynamicScopeMapInput is an input type that accepts AssignmentDynamicScopeMap and AssignmentDynamicScopeMapOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeMapInput` via: +// +// AssignmentDynamicScopeMap{ "key": AssignmentDynamicScopeArgs{...} } +type AssignmentDynamicScopeMapInput interface { + pulumi.Input + + ToAssignmentDynamicScopeMapOutput() AssignmentDynamicScopeMapOutput + ToAssignmentDynamicScopeMapOutputWithContext(context.Context) AssignmentDynamicScopeMapOutput +} + +type AssignmentDynamicScopeMap map[string]AssignmentDynamicScopeInput + +func (AssignmentDynamicScopeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AssignmentDynamicScope)(nil)).Elem() +} + +func (i AssignmentDynamicScopeMap) ToAssignmentDynamicScopeMapOutput() AssignmentDynamicScopeMapOutput { + return i.ToAssignmentDynamicScopeMapOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeMap) ToAssignmentDynamicScopeMapOutputWithContext(ctx context.Context) AssignmentDynamicScopeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeMapOutput) +} + +type AssignmentDynamicScopeOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AssignmentDynamicScope)(nil)).Elem() +} + +func (o AssignmentDynamicScopeOutput) ToAssignmentDynamicScopeOutput() AssignmentDynamicScopeOutput { + return o +} + +func (o AssignmentDynamicScopeOutput) ToAssignmentDynamicScopeOutputWithContext(ctx context.Context) AssignmentDynamicScopeOutput { + return o +} + +// A `filter` block as defined below. +func (o AssignmentDynamicScopeOutput) Filter() AssignmentDynamicScopeFilterOutput { + return o.ApplyT(func(v *AssignmentDynamicScope) AssignmentDynamicScopeFilterOutput { return v.Filter }).(AssignmentDynamicScopeFilterOutput) +} + +// The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. +func (o AssignmentDynamicScopeOutput) MaintenanceConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *AssignmentDynamicScope) pulumi.StringOutput { return v.MaintenanceConfigurationId }).(pulumi.StringOutput) +} + +// The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. +// +// > **Note:** The `name` must be unique per subscription. +func (o AssignmentDynamicScopeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AssignmentDynamicScope) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type AssignmentDynamicScopeArrayOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AssignmentDynamicScope)(nil)).Elem() +} + +func (o AssignmentDynamicScopeArrayOutput) ToAssignmentDynamicScopeArrayOutput() AssignmentDynamicScopeArrayOutput { + return o +} + +func (o AssignmentDynamicScopeArrayOutput) ToAssignmentDynamicScopeArrayOutputWithContext(ctx context.Context) AssignmentDynamicScopeArrayOutput { + return o +} + +func (o AssignmentDynamicScopeArrayOutput) Index(i pulumi.IntInput) AssignmentDynamicScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AssignmentDynamicScope { + return vs[0].([]*AssignmentDynamicScope)[vs[1].(int)] + }).(AssignmentDynamicScopeOutput) +} + +type AssignmentDynamicScopeMapOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AssignmentDynamicScope)(nil)).Elem() +} + +func (o AssignmentDynamicScopeMapOutput) ToAssignmentDynamicScopeMapOutput() AssignmentDynamicScopeMapOutput { + return o +} + +func (o AssignmentDynamicScopeMapOutput) ToAssignmentDynamicScopeMapOutputWithContext(ctx context.Context) AssignmentDynamicScopeMapOutput { + return o +} + +func (o AssignmentDynamicScopeMapOutput) MapIndex(k pulumi.StringInput) AssignmentDynamicScopeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AssignmentDynamicScope { + return vs[0].(map[string]*AssignmentDynamicScope)[vs[1].(string)] + }).(AssignmentDynamicScopeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeInput)(nil)).Elem(), &AssignmentDynamicScope{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeArrayInput)(nil)).Elem(), AssignmentDynamicScopeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeMapInput)(nil)).Elem(), AssignmentDynamicScopeMap{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeOutput{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeArrayOutput{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeMapOutput{}) +} diff --git a/sdk/go/azure/maintenance/init.go b/sdk/go/azure/maintenance/init.go index 5641b37ece..278c0f2dd7 100644 --- a/sdk/go/azure/maintenance/init.go +++ b/sdk/go/azure/maintenance/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost": r = &AssignmentDedicatedHost{} + case "azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope": + r = &AssignmentDynamicScope{} case "azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine": r = &AssignmentVirtualMachine{} case "azure:maintenance/assignmentVirtualMachineScaleSet:AssignmentVirtualMachineScaleSet": @@ -47,6 +49,11 @@ func init() { "maintenance/assignmentDedicatedHost", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "maintenance/assignmentDynamicScope", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "maintenance/assignmentVirtualMachine", diff --git a/sdk/go/azure/maintenance/pulumiTypes.go b/sdk/go/azure/maintenance/pulumiTypes.go index cad9554041..96ff22a380 100644 --- a/sdk/go/azure/maintenance/pulumiTypes.go +++ b/sdk/go/azure/maintenance/pulumiTypes.go @@ -13,6 +13,344 @@ import ( var _ = internal.GetEnvOrDefault +type AssignmentDynamicScopeFilter struct { + // Specifies a list of locations to scope the query to. + Locations []string `pulumi:"locations"` + // Specifies a list of allowed operating systems. + OsTypes []string `pulumi:"osTypes"` + // Specifies a list of allowed resource groups. + ResourceGroups []string `pulumi:"resourceGroups"` + // Specifies a list of allowed resources. + ResourceTypes []string `pulumi:"resourceTypes"` + // Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + TagFilter *string `pulumi:"tagFilter"` + // A mapping of tags for the VM + Tags []AssignmentDynamicScopeFilterTag `pulumi:"tags"` +} + +// AssignmentDynamicScopeFilterInput is an input type that accepts AssignmentDynamicScopeFilterArgs and AssignmentDynamicScopeFilterOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeFilterInput` via: +// +// AssignmentDynamicScopeFilterArgs{...} +type AssignmentDynamicScopeFilterInput interface { + pulumi.Input + + ToAssignmentDynamicScopeFilterOutput() AssignmentDynamicScopeFilterOutput + ToAssignmentDynamicScopeFilterOutputWithContext(context.Context) AssignmentDynamicScopeFilterOutput +} + +type AssignmentDynamicScopeFilterArgs struct { + // Specifies a list of locations to scope the query to. + Locations pulumi.StringArrayInput `pulumi:"locations"` + // Specifies a list of allowed operating systems. + OsTypes pulumi.StringArrayInput `pulumi:"osTypes"` + // Specifies a list of allowed resource groups. + ResourceGroups pulumi.StringArrayInput `pulumi:"resourceGroups"` + // Specifies a list of allowed resources. + ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"` + // Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + TagFilter pulumi.StringPtrInput `pulumi:"tagFilter"` + // A mapping of tags for the VM + Tags AssignmentDynamicScopeFilterTagArrayInput `pulumi:"tags"` +} + +func (AssignmentDynamicScopeFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AssignmentDynamicScopeFilter)(nil)).Elem() +} + +func (i AssignmentDynamicScopeFilterArgs) ToAssignmentDynamicScopeFilterOutput() AssignmentDynamicScopeFilterOutput { + return i.ToAssignmentDynamicScopeFilterOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeFilterArgs) ToAssignmentDynamicScopeFilterOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeFilterOutput) +} + +func (i AssignmentDynamicScopeFilterArgs) ToAssignmentDynamicScopeFilterPtrOutput() AssignmentDynamicScopeFilterPtrOutput { + return i.ToAssignmentDynamicScopeFilterPtrOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeFilterArgs) ToAssignmentDynamicScopeFilterPtrOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeFilterOutput).ToAssignmentDynamicScopeFilterPtrOutputWithContext(ctx) +} + +// AssignmentDynamicScopeFilterPtrInput is an input type that accepts AssignmentDynamicScopeFilterArgs, AssignmentDynamicScopeFilterPtr and AssignmentDynamicScopeFilterPtrOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeFilterPtrInput` via: +// +// AssignmentDynamicScopeFilterArgs{...} +// +// or: +// +// nil +type AssignmentDynamicScopeFilterPtrInput interface { + pulumi.Input + + ToAssignmentDynamicScopeFilterPtrOutput() AssignmentDynamicScopeFilterPtrOutput + ToAssignmentDynamicScopeFilterPtrOutputWithContext(context.Context) AssignmentDynamicScopeFilterPtrOutput +} + +type assignmentDynamicScopeFilterPtrType AssignmentDynamicScopeFilterArgs + +func AssignmentDynamicScopeFilterPtr(v *AssignmentDynamicScopeFilterArgs) AssignmentDynamicScopeFilterPtrInput { + return (*assignmentDynamicScopeFilterPtrType)(v) +} + +func (*assignmentDynamicScopeFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AssignmentDynamicScopeFilter)(nil)).Elem() +} + +func (i *assignmentDynamicScopeFilterPtrType) ToAssignmentDynamicScopeFilterPtrOutput() AssignmentDynamicScopeFilterPtrOutput { + return i.ToAssignmentDynamicScopeFilterPtrOutputWithContext(context.Background()) +} + +func (i *assignmentDynamicScopeFilterPtrType) ToAssignmentDynamicScopeFilterPtrOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeFilterPtrOutput) +} + +type AssignmentDynamicScopeFilterOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AssignmentDynamicScopeFilter)(nil)).Elem() +} + +func (o AssignmentDynamicScopeFilterOutput) ToAssignmentDynamicScopeFilterOutput() AssignmentDynamicScopeFilterOutput { + return o +} + +func (o AssignmentDynamicScopeFilterOutput) ToAssignmentDynamicScopeFilterOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterOutput { + return o +} + +func (o AssignmentDynamicScopeFilterOutput) ToAssignmentDynamicScopeFilterPtrOutput() AssignmentDynamicScopeFilterPtrOutput { + return o.ToAssignmentDynamicScopeFilterPtrOutputWithContext(context.Background()) +} + +func (o AssignmentDynamicScopeFilterOutput) ToAssignmentDynamicScopeFilterPtrOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AssignmentDynamicScopeFilter) *AssignmentDynamicScopeFilter { + return &v + }).(AssignmentDynamicScopeFilterPtrOutput) +} + +// Specifies a list of locations to scope the query to. +func (o AssignmentDynamicScopeFilterOutput) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) []string { return v.Locations }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed operating systems. +func (o AssignmentDynamicScopeFilterOutput) OsTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) []string { return v.OsTypes }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed resource groups. +func (o AssignmentDynamicScopeFilterOutput) ResourceGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) []string { return v.ResourceGroups }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed resources. +func (o AssignmentDynamicScopeFilterOutput) ResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) []string { return v.ResourceTypes }).(pulumi.StringArrayOutput) +} + +// Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. +func (o AssignmentDynamicScopeFilterOutput) TagFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) *string { return v.TagFilter }).(pulumi.StringPtrOutput) +} + +// A mapping of tags for the VM +func (o AssignmentDynamicScopeFilterOutput) Tags() AssignmentDynamicScopeFilterTagArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilter) []AssignmentDynamicScopeFilterTag { return v.Tags }).(AssignmentDynamicScopeFilterTagArrayOutput) +} + +type AssignmentDynamicScopeFilterPtrOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AssignmentDynamicScopeFilter)(nil)).Elem() +} + +func (o AssignmentDynamicScopeFilterPtrOutput) ToAssignmentDynamicScopeFilterPtrOutput() AssignmentDynamicScopeFilterPtrOutput { + return o +} + +func (o AssignmentDynamicScopeFilterPtrOutput) ToAssignmentDynamicScopeFilterPtrOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterPtrOutput { + return o +} + +func (o AssignmentDynamicScopeFilterPtrOutput) Elem() AssignmentDynamicScopeFilterOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) AssignmentDynamicScopeFilter { + if v != nil { + return *v + } + var ret AssignmentDynamicScopeFilter + return ret + }).(AssignmentDynamicScopeFilterOutput) +} + +// Specifies a list of locations to scope the query to. +func (o AssignmentDynamicScopeFilterPtrOutput) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) []string { + if v == nil { + return nil + } + return v.Locations + }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed operating systems. +func (o AssignmentDynamicScopeFilterPtrOutput) OsTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) []string { + if v == nil { + return nil + } + return v.OsTypes + }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed resource groups. +func (o AssignmentDynamicScopeFilterPtrOutput) ResourceGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) []string { + if v == nil { + return nil + } + return v.ResourceGroups + }).(pulumi.StringArrayOutput) +} + +// Specifies a list of allowed resources. +func (o AssignmentDynamicScopeFilterPtrOutput) ResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) []string { + if v == nil { + return nil + } + return v.ResourceTypes + }).(pulumi.StringArrayOutput) +} + +// Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. +func (o AssignmentDynamicScopeFilterPtrOutput) TagFilter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) *string { + if v == nil { + return nil + } + return v.TagFilter + }).(pulumi.StringPtrOutput) +} + +// A mapping of tags for the VM +func (o AssignmentDynamicScopeFilterPtrOutput) Tags() AssignmentDynamicScopeFilterTagArrayOutput { + return o.ApplyT(func(v *AssignmentDynamicScopeFilter) []AssignmentDynamicScopeFilterTag { + if v == nil { + return nil + } + return v.Tags + }).(AssignmentDynamicScopeFilterTagArrayOutput) +} + +type AssignmentDynamicScopeFilterTag struct { + // Specifies the tag to filter by. + Tag string `pulumi:"tag"` + // Specifies a list of values the defined tag can have. + Values []string `pulumi:"values"` +} + +// AssignmentDynamicScopeFilterTagInput is an input type that accepts AssignmentDynamicScopeFilterTagArgs and AssignmentDynamicScopeFilterTagOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeFilterTagInput` via: +// +// AssignmentDynamicScopeFilterTagArgs{...} +type AssignmentDynamicScopeFilterTagInput interface { + pulumi.Input + + ToAssignmentDynamicScopeFilterTagOutput() AssignmentDynamicScopeFilterTagOutput + ToAssignmentDynamicScopeFilterTagOutputWithContext(context.Context) AssignmentDynamicScopeFilterTagOutput +} + +type AssignmentDynamicScopeFilterTagArgs struct { + // Specifies the tag to filter by. + Tag pulumi.StringInput `pulumi:"tag"` + // Specifies a list of values the defined tag can have. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (AssignmentDynamicScopeFilterTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AssignmentDynamicScopeFilterTag)(nil)).Elem() +} + +func (i AssignmentDynamicScopeFilterTagArgs) ToAssignmentDynamicScopeFilterTagOutput() AssignmentDynamicScopeFilterTagOutput { + return i.ToAssignmentDynamicScopeFilterTagOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeFilterTagArgs) ToAssignmentDynamicScopeFilterTagOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeFilterTagOutput) +} + +// AssignmentDynamicScopeFilterTagArrayInput is an input type that accepts AssignmentDynamicScopeFilterTagArray and AssignmentDynamicScopeFilterTagArrayOutput values. +// You can construct a concrete instance of `AssignmentDynamicScopeFilterTagArrayInput` via: +// +// AssignmentDynamicScopeFilterTagArray{ AssignmentDynamicScopeFilterTagArgs{...} } +type AssignmentDynamicScopeFilterTagArrayInput interface { + pulumi.Input + + ToAssignmentDynamicScopeFilterTagArrayOutput() AssignmentDynamicScopeFilterTagArrayOutput + ToAssignmentDynamicScopeFilterTagArrayOutputWithContext(context.Context) AssignmentDynamicScopeFilterTagArrayOutput +} + +type AssignmentDynamicScopeFilterTagArray []AssignmentDynamicScopeFilterTagInput + +func (AssignmentDynamicScopeFilterTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AssignmentDynamicScopeFilterTag)(nil)).Elem() +} + +func (i AssignmentDynamicScopeFilterTagArray) ToAssignmentDynamicScopeFilterTagArrayOutput() AssignmentDynamicScopeFilterTagArrayOutput { + return i.ToAssignmentDynamicScopeFilterTagArrayOutputWithContext(context.Background()) +} + +func (i AssignmentDynamicScopeFilterTagArray) ToAssignmentDynamicScopeFilterTagArrayOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssignmentDynamicScopeFilterTagArrayOutput) +} + +type AssignmentDynamicScopeFilterTagOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeFilterTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AssignmentDynamicScopeFilterTag)(nil)).Elem() +} + +func (o AssignmentDynamicScopeFilterTagOutput) ToAssignmentDynamicScopeFilterTagOutput() AssignmentDynamicScopeFilterTagOutput { + return o +} + +func (o AssignmentDynamicScopeFilterTagOutput) ToAssignmentDynamicScopeFilterTagOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterTagOutput { + return o +} + +// Specifies the tag to filter by. +func (o AssignmentDynamicScopeFilterTagOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilterTag) string { return v.Tag }).(pulumi.StringOutput) +} + +// Specifies a list of values the defined tag can have. +func (o AssignmentDynamicScopeFilterTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v AssignmentDynamicScopeFilterTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type AssignmentDynamicScopeFilterTagArrayOutput struct{ *pulumi.OutputState } + +func (AssignmentDynamicScopeFilterTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AssignmentDynamicScopeFilterTag)(nil)).Elem() +} + +func (o AssignmentDynamicScopeFilterTagArrayOutput) ToAssignmentDynamicScopeFilterTagArrayOutput() AssignmentDynamicScopeFilterTagArrayOutput { + return o +} + +func (o AssignmentDynamicScopeFilterTagArrayOutput) ToAssignmentDynamicScopeFilterTagArrayOutputWithContext(ctx context.Context) AssignmentDynamicScopeFilterTagArrayOutput { + return o +} + +func (o AssignmentDynamicScopeFilterTagArrayOutput) Index(i pulumi.IntInput) AssignmentDynamicScopeFilterTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AssignmentDynamicScopeFilterTag { + return vs[0].([]AssignmentDynamicScopeFilterTag)[vs[1].(int)] + }).(AssignmentDynamicScopeFilterTagOutput) +} + type ConfigurationInstallPatches struct { // A `linux` block as defined above. This property only applies when `scope` is set to `InGuestPatch` Linuxes []ConfigurationInstallPatchesLinux `pulumi:"linuxes"` @@ -1270,6 +1608,10 @@ func (o GetPublicConfigurationsConfigArrayOutput) Index(i pulumi.IntInput) GetPu } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeFilterInput)(nil)).Elem(), AssignmentDynamicScopeFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeFilterPtrInput)(nil)).Elem(), AssignmentDynamicScopeFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeFilterTagInput)(nil)).Elem(), AssignmentDynamicScopeFilterTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssignmentDynamicScopeFilterTagArrayInput)(nil)).Elem(), AssignmentDynamicScopeFilterTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationInstallPatchesInput)(nil)).Elem(), ConfigurationInstallPatchesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationInstallPatchesPtrInput)(nil)).Elem(), ConfigurationInstallPatchesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationInstallPatchesLinuxInput)(nil)).Elem(), ConfigurationInstallPatchesLinuxArgs{}) @@ -1288,6 +1630,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetConfigurationWindowArrayInput)(nil)).Elem(), GetConfigurationWindowArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPublicConfigurationsConfigInput)(nil)).Elem(), GetPublicConfigurationsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPublicConfigurationsConfigArrayInput)(nil)).Elem(), GetPublicConfigurationsConfigArray{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeFilterOutput{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeFilterPtrOutput{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeFilterTagOutput{}) + pulumi.RegisterOutputType(AssignmentDynamicScopeFilterTagArrayOutput{}) pulumi.RegisterOutputType(ConfigurationInstallPatchesOutput{}) pulumi.RegisterOutputType(ConfigurationInstallPatchesPtrOutput{}) pulumi.RegisterOutputType(ConfigurationInstallPatchesLinuxOutput{}) diff --git a/sdk/go/azure/mssql/database.go b/sdk/go/azure/mssql/database.go index 6576b1a2d2..a8e37018d7 100644 --- a/sdk/go/azure/mssql/database.go +++ b/sdk/go/azure/mssql/database.go @@ -309,6 +309,8 @@ type Database struct { // > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. TransparentDataEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"transparentDataEncryptionEnabled"` // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + // + // > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrOutput `pulumi:"transparentDataEncryptionKeyAutomaticRotationEnabled"` // The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. // @@ -436,6 +438,8 @@ type databaseState struct { // > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. TransparentDataEncryptionEnabled *bool `pulumi:"transparentDataEncryptionEnabled"` // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + // + // > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. TransparentDataEncryptionKeyAutomaticRotationEnabled *bool `pulumi:"transparentDataEncryptionKeyAutomaticRotationEnabled"` // The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. // @@ -531,6 +535,8 @@ type DatabaseState struct { // > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. TransparentDataEncryptionEnabled pulumi.BoolPtrInput // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + // + // > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrInput // The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. // @@ -630,6 +636,8 @@ type databaseArgs struct { // > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. TransparentDataEncryptionEnabled *bool `pulumi:"transparentDataEncryptionEnabled"` // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + // + // > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. TransparentDataEncryptionKeyAutomaticRotationEnabled *bool `pulumi:"transparentDataEncryptionKeyAutomaticRotationEnabled"` // The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. // @@ -726,6 +734,8 @@ type DatabaseArgs struct { // > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. TransparentDataEncryptionEnabled pulumi.BoolPtrInput // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + // + // > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrInput // The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. // @@ -1003,6 +1013,8 @@ func (o DatabaseOutput) TransparentDataEncryptionEnabled() pulumi.BoolPtrOutput } // Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. +// +// > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. func (o DatabaseOutput) TransparentDataEncryptionKeyAutomaticRotationEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Database) pulumi.BoolPtrOutput { return v.TransparentDataEncryptionKeyAutomaticRotationEnabled }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/azure/network/getNetworkManagerConnectivityConfiguration.go b/sdk/go/azure/network/getNetworkManagerConnectivityConfiguration.go new file mode 100644 index 0000000000..421164a2c1 --- /dev/null +++ b/sdk/go/azure/network/getNetworkManagerConnectivityConfiguration.go @@ -0,0 +1,172 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package network + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to access information about an existing Network Manager Connectivity Configuration. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := network.LookupNetworkManagerConnectivityConfiguration(ctx, &network.LookupNetworkManagerConnectivityConfigurationArgs{ +// Name: "existing", +// NetworkManagerId: "TODO", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("id", example.Id) +// return nil +// }) +// } +// +// ``` +func LookupNetworkManagerConnectivityConfiguration(ctx *pulumi.Context, args *LookupNetworkManagerConnectivityConfigurationArgs, opts ...pulumi.InvokeOption) (*LookupNetworkManagerConnectivityConfigurationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupNetworkManagerConnectivityConfigurationResult + err := ctx.Invoke("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getNetworkManagerConnectivityConfiguration. +type LookupNetworkManagerConnectivityConfigurationArgs struct { + // The name of this Network Manager Connectivity Configuration. + Name string `pulumi:"name"` + // The ID of the Network Manager. + NetworkManagerId string `pulumi:"networkManagerId"` +} + +// A collection of values returned by getNetworkManagerConnectivityConfiguration. +type LookupNetworkManagerConnectivityConfigurationResult struct { + // An `appliesToGroup` block as defined below. + AppliesToGroups []GetNetworkManagerConnectivityConfigurationAppliesToGroup `pulumi:"appliesToGroups"` + // The connectivity topology type. + ConnectivityTopology string `pulumi:"connectivityTopology"` + // Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + DeleteExistingPeeringEnabled bool `pulumi:"deleteExistingPeeringEnabled"` + // The description of the Connectivity Configuration. + Description string `pulumi:"description"` + // Whether global mesh is supported. + GlobalMeshEnabled bool `pulumi:"globalMeshEnabled"` + // A `hub` block as defined below. + Hubs []GetNetworkManagerConnectivityConfigurationHub `pulumi:"hubs"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + NetworkManagerId string `pulumi:"networkManagerId"` +} + +func LookupNetworkManagerConnectivityConfigurationOutput(ctx *pulumi.Context, args LookupNetworkManagerConnectivityConfigurationOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkManagerConnectivityConfigurationResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupNetworkManagerConnectivityConfigurationResult, error) { + args := v.(LookupNetworkManagerConnectivityConfigurationArgs) + r, err := LookupNetworkManagerConnectivityConfiguration(ctx, &args, opts...) + var s LookupNetworkManagerConnectivityConfigurationResult + if r != nil { + s = *r + } + return s, err + }).(LookupNetworkManagerConnectivityConfigurationResultOutput) +} + +// A collection of arguments for invoking getNetworkManagerConnectivityConfiguration. +type LookupNetworkManagerConnectivityConfigurationOutputArgs struct { + // The name of this Network Manager Connectivity Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The ID of the Network Manager. + NetworkManagerId pulumi.StringInput `pulumi:"networkManagerId"` +} + +func (LookupNetworkManagerConnectivityConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkManagerConnectivityConfigurationArgs)(nil)).Elem() +} + +// A collection of values returned by getNetworkManagerConnectivityConfiguration. +type LookupNetworkManagerConnectivityConfigurationResultOutput struct{ *pulumi.OutputState } + +func (LookupNetworkManagerConnectivityConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkManagerConnectivityConfigurationResult)(nil)).Elem() +} + +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) ToLookupNetworkManagerConnectivityConfigurationResultOutput() LookupNetworkManagerConnectivityConfigurationResultOutput { + return o +} + +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) ToLookupNetworkManagerConnectivityConfigurationResultOutputWithContext(ctx context.Context) LookupNetworkManagerConnectivityConfigurationResultOutput { + return o +} + +// An `appliesToGroup` block as defined below. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) AppliesToGroups() GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) []GetNetworkManagerConnectivityConfigurationAppliesToGroup { + return v.AppliesToGroups + }).(GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) +} + +// The connectivity topology type. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) ConnectivityTopology() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) string { return v.ConnectivityTopology }).(pulumi.StringOutput) +} + +// Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) DeleteExistingPeeringEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) bool { + return v.DeleteExistingPeeringEnabled + }).(pulumi.BoolOutput) +} + +// The description of the Connectivity Configuration. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Whether global mesh is supported. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) GlobalMeshEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) bool { return v.GlobalMeshEnabled }).(pulumi.BoolOutput) +} + +// A `hub` block as defined below. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) Hubs() GetNetworkManagerConnectivityConfigurationHubArrayOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) []GetNetworkManagerConnectivityConfigurationHub { + return v.Hubs + }).(GetNetworkManagerConnectivityConfigurationHubArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) string { return v.Name }).(pulumi.StringOutput) +} + +func (o LookupNetworkManagerConnectivityConfigurationResultOutput) NetworkManagerId() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkManagerConnectivityConfigurationResult) string { return v.NetworkManagerId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupNetworkManagerConnectivityConfigurationResultOutput{}) +} diff --git a/sdk/go/azure/network/getSubnet.go b/sdk/go/azure/network/getSubnet.go index fbe04664f2..caa81290b2 100644 --- a/sdk/go/azure/network/getSubnet.go +++ b/sdk/go/azure/network/getSubnet.go @@ -74,6 +74,8 @@ type LookupSubnetResult struct { // The ID of the Network Security Group associated with the subnet. NetworkSecurityGroupId string `pulumi:"networkSecurityGroupId"` // Enable or Disable network policies for the private endpoint on the subnet. + PrivateEndpointNetworkPolicies string `pulumi:"privateEndpointNetworkPolicies"` + // Deprecated: This property has been superseded by `privateEndpointNetworkPolicies` and will be removed in v4.0 of the AzureRM Provider. PrivateEndpointNetworkPoliciesEnabled bool `pulumi:"privateEndpointNetworkPoliciesEnabled"` // Enable or Disable network policies for the private link service on the subnet. PrivateLinkServiceNetworkPoliciesEnabled bool `pulumi:"privateLinkServiceNetworkPoliciesEnabled"` @@ -159,6 +161,11 @@ func (o LookupSubnetResultOutput) NetworkSecurityGroupId() pulumi.StringOutput { } // Enable or Disable network policies for the private endpoint on the subnet. +func (o LookupSubnetResultOutput) PrivateEndpointNetworkPolicies() pulumi.StringOutput { + return o.ApplyT(func(v LookupSubnetResult) string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringOutput) +} + +// Deprecated: This property has been superseded by `privateEndpointNetworkPolicies` and will be removed in v4.0 of the AzureRM Provider. func (o LookupSubnetResultOutput) PrivateEndpointNetworkPoliciesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupSubnetResult) bool { return v.PrivateEndpointNetworkPoliciesEnabled }).(pulumi.BoolOutput) } diff --git a/sdk/go/azure/network/profile.go b/sdk/go/azure/network/profile.go index d375919c48..0cc3962446 100644 --- a/sdk/go/azure/network/profile.go +++ b/sdk/go/azure/network/profile.go @@ -112,7 +112,7 @@ type Profile struct { Name pulumi.StringOutput `pulumi:"name"` // The name of the resource group in which to create the resource. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // A mapping of tags to assign to the resource. + // A mapping of tags assigned to the resource. Tags pulumi.StringMapOutput `pulumi:"tags"` } @@ -162,7 +162,7 @@ type profileState struct { Name *string `pulumi:"name"` // The name of the resource group in which to create the resource. Changing this forces a new resource to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // A mapping of tags to assign to the resource. + // A mapping of tags assigned to the resource. Tags map[string]string `pulumi:"tags"` } @@ -177,7 +177,7 @@ type ProfileState struct { Name pulumi.StringPtrInput // The name of the resource group in which to create the resource. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringPtrInput - // A mapping of tags to assign to the resource. + // A mapping of tags assigned to the resource. Tags pulumi.StringMapInput } @@ -194,7 +194,7 @@ type profileArgs struct { Name *string `pulumi:"name"` // The name of the resource group in which to create the resource. Changing this forces a new resource to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // A mapping of tags to assign to the resource. + // A mapping of tags assigned to the resource. Tags map[string]string `pulumi:"tags"` } @@ -208,7 +208,7 @@ type ProfileArgs struct { Name pulumi.StringPtrInput // The name of the resource group in which to create the resource. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringInput - // A mapping of tags to assign to the resource. + // A mapping of tags assigned to the resource. Tags pulumi.StringMapInput } @@ -324,7 +324,7 @@ func (o ProfileOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Profile) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// A mapping of tags to assign to the resource. +// A mapping of tags assigned to the resource. func (o ProfileOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Profile) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/azure/network/pulumiTypes.go b/sdk/go/azure/network/pulumiTypes.go index cdc3e69fa8..f236be1628 100644 --- a/sdk/go/azure/network/pulumiTypes.go +++ b/sdk/go/azure/network/pulumiTypes.go @@ -19793,6 +19793,8 @@ func (o VirtualNetworkDdosProtectionPlanPtrOutput) Id() pulumi.StringPtrOutput { type VirtualNetworkEncryption struct { // Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + // + // > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. Enforcement string `pulumi:"enforcement"` } @@ -19809,6 +19811,8 @@ type VirtualNetworkEncryptionInput interface { type VirtualNetworkEncryptionArgs struct { // Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + // + // > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. Enforcement pulumi.StringInput `pulumi:"enforcement"` } @@ -19890,6 +19894,8 @@ func (o VirtualNetworkEncryptionOutput) ToVirtualNetworkEncryptionPtrOutputWithC } // Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. +// +// > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. func (o VirtualNetworkEncryptionOutput) Enforcement() pulumi.StringOutput { return o.ApplyT(func(v VirtualNetworkEncryption) string { return v.Enforcement }).(pulumi.StringOutput) } @@ -19919,6 +19925,8 @@ func (o VirtualNetworkEncryptionPtrOutput) Elem() VirtualNetworkEncryptionOutput } // Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. +// +// > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. func (o VirtualNetworkEncryptionPtrOutput) Enforcement() pulumi.StringPtrOutput { return o.ApplyT(func(v *VirtualNetworkEncryption) *string { if v == nil { @@ -33174,6 +33182,236 @@ func (o GetNetworkInterfaceIpConfigurationArrayOutput) Index(i pulumi.IntInput) }).(GetNetworkInterfaceIpConfigurationOutput) } +type GetNetworkManagerConnectivityConfigurationAppliesToGroup struct { + // Whether global mesh is supported. + GlobalMeshEnabled bool `pulumi:"globalMeshEnabled"` + // The group connectivity type. + GroupConnectivity string `pulumi:"groupConnectivity"` + // The ID of the Network Manager Network Group. + NetworkGroupId string `pulumi:"networkGroupId"` + // Whether hub gateway is used. + UseHubGateway bool `pulumi:"useHubGateway"` +} + +// GetNetworkManagerConnectivityConfigurationAppliesToGroupInput is an input type that accepts GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs and GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput values. +// You can construct a concrete instance of `GetNetworkManagerConnectivityConfigurationAppliesToGroupInput` via: +// +// GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs{...} +type GetNetworkManagerConnectivityConfigurationAppliesToGroupInput interface { + pulumi.Input + + ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput + ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutputWithContext(context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput +} + +type GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs struct { + // Whether global mesh is supported. + GlobalMeshEnabled pulumi.BoolInput `pulumi:"globalMeshEnabled"` + // The group connectivity type. + GroupConnectivity pulumi.StringInput `pulumi:"groupConnectivity"` + // The ID of the Network Manager Network Group. + NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` + // Whether hub gateway is used. + UseHubGateway pulumi.BoolInput `pulumi:"useHubGateway"` +} + +func (GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationAppliesToGroup)(nil)).Elem() +} + +func (i GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput { + return i.ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutputWithContext(context.Background()) +} + +func (i GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) +} + +// GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayInput is an input type that accepts GetNetworkManagerConnectivityConfigurationAppliesToGroupArray and GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput values. +// You can construct a concrete instance of `GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayInput` via: +// +// GetNetworkManagerConnectivityConfigurationAppliesToGroupArray{ GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs{...} } +type GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayInput interface { + pulumi.Input + + ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput + ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutputWithContext(context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput +} + +type GetNetworkManagerConnectivityConfigurationAppliesToGroupArray []GetNetworkManagerConnectivityConfigurationAppliesToGroupInput + +func (GetNetworkManagerConnectivityConfigurationAppliesToGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkManagerConnectivityConfigurationAppliesToGroup)(nil)).Elem() +} + +func (i GetNetworkManagerConnectivityConfigurationAppliesToGroupArray) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput { + return i.ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutputWithContext(context.Background()) +} + +func (i GetNetworkManagerConnectivityConfigurationAppliesToGroupArray) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) +} + +type GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput struct{ *pulumi.OutputState } + +func (GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationAppliesToGroup)(nil)).Elem() +} + +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput { + return o +} + +// Whether global mesh is supported. +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) GlobalMeshEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationAppliesToGroup) bool { return v.GlobalMeshEnabled }).(pulumi.BoolOutput) +} + +// The group connectivity type. +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) GroupConnectivity() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationAppliesToGroup) string { return v.GroupConnectivity }).(pulumi.StringOutput) +} + +// The ID of the Network Manager Network Group. +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationAppliesToGroup) string { return v.NetworkGroupId }).(pulumi.StringOutput) +} + +// Whether hub gateway is used. +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) UseHubGateway() pulumi.BoolOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationAppliesToGroup) bool { return v.UseHubGateway }).(pulumi.BoolOutput) +} + +type GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkManagerConnectivityConfigurationAppliesToGroup)(nil)).Elem() +} + +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput() GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) ToGetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput) Index(i pulumi.IntInput) GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkManagerConnectivityConfigurationAppliesToGroup { + return vs[0].([]GetNetworkManagerConnectivityConfigurationAppliesToGroup)[vs[1].(int)] + }).(GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput) +} + +type GetNetworkManagerConnectivityConfigurationHub struct { + // The resource ID used as hub in Hub and Spoke topology. + ResourceId string `pulumi:"resourceId"` + // The resource type used as hub in Hub and Spoke topology. + ResourceType string `pulumi:"resourceType"` +} + +// GetNetworkManagerConnectivityConfigurationHubInput is an input type that accepts GetNetworkManagerConnectivityConfigurationHubArgs and GetNetworkManagerConnectivityConfigurationHubOutput values. +// You can construct a concrete instance of `GetNetworkManagerConnectivityConfigurationHubInput` via: +// +// GetNetworkManagerConnectivityConfigurationHubArgs{...} +type GetNetworkManagerConnectivityConfigurationHubInput interface { + pulumi.Input + + ToGetNetworkManagerConnectivityConfigurationHubOutput() GetNetworkManagerConnectivityConfigurationHubOutput + ToGetNetworkManagerConnectivityConfigurationHubOutputWithContext(context.Context) GetNetworkManagerConnectivityConfigurationHubOutput +} + +type GetNetworkManagerConnectivityConfigurationHubArgs struct { + // The resource ID used as hub in Hub and Spoke topology. + ResourceId pulumi.StringInput `pulumi:"resourceId"` + // The resource type used as hub in Hub and Spoke topology. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (GetNetworkManagerConnectivityConfigurationHubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationHub)(nil)).Elem() +} + +func (i GetNetworkManagerConnectivityConfigurationHubArgs) ToGetNetworkManagerConnectivityConfigurationHubOutput() GetNetworkManagerConnectivityConfigurationHubOutput { + return i.ToGetNetworkManagerConnectivityConfigurationHubOutputWithContext(context.Background()) +} + +func (i GetNetworkManagerConnectivityConfigurationHubArgs) ToGetNetworkManagerConnectivityConfigurationHubOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationHubOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkManagerConnectivityConfigurationHubOutput) +} + +// GetNetworkManagerConnectivityConfigurationHubArrayInput is an input type that accepts GetNetworkManagerConnectivityConfigurationHubArray and GetNetworkManagerConnectivityConfigurationHubArrayOutput values. +// You can construct a concrete instance of `GetNetworkManagerConnectivityConfigurationHubArrayInput` via: +// +// GetNetworkManagerConnectivityConfigurationHubArray{ GetNetworkManagerConnectivityConfigurationHubArgs{...} } +type GetNetworkManagerConnectivityConfigurationHubArrayInput interface { + pulumi.Input + + ToGetNetworkManagerConnectivityConfigurationHubArrayOutput() GetNetworkManagerConnectivityConfigurationHubArrayOutput + ToGetNetworkManagerConnectivityConfigurationHubArrayOutputWithContext(context.Context) GetNetworkManagerConnectivityConfigurationHubArrayOutput +} + +type GetNetworkManagerConnectivityConfigurationHubArray []GetNetworkManagerConnectivityConfigurationHubInput + +func (GetNetworkManagerConnectivityConfigurationHubArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkManagerConnectivityConfigurationHub)(nil)).Elem() +} + +func (i GetNetworkManagerConnectivityConfigurationHubArray) ToGetNetworkManagerConnectivityConfigurationHubArrayOutput() GetNetworkManagerConnectivityConfigurationHubArrayOutput { + return i.ToGetNetworkManagerConnectivityConfigurationHubArrayOutputWithContext(context.Background()) +} + +func (i GetNetworkManagerConnectivityConfigurationHubArray) ToGetNetworkManagerConnectivityConfigurationHubArrayOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationHubArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkManagerConnectivityConfigurationHubArrayOutput) +} + +type GetNetworkManagerConnectivityConfigurationHubOutput struct{ *pulumi.OutputState } + +func (GetNetworkManagerConnectivityConfigurationHubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationHub)(nil)).Elem() +} + +func (o GetNetworkManagerConnectivityConfigurationHubOutput) ToGetNetworkManagerConnectivityConfigurationHubOutput() GetNetworkManagerConnectivityConfigurationHubOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationHubOutput) ToGetNetworkManagerConnectivityConfigurationHubOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationHubOutput { + return o +} + +// The resource ID used as hub in Hub and Spoke topology. +func (o GetNetworkManagerConnectivityConfigurationHubOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationHub) string { return v.ResourceId }).(pulumi.StringOutput) +} + +// The resource type used as hub in Hub and Spoke topology. +func (o GetNetworkManagerConnectivityConfigurationHubOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkManagerConnectivityConfigurationHub) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type GetNetworkManagerConnectivityConfigurationHubArrayOutput struct{ *pulumi.OutputState } + +func (GetNetworkManagerConnectivityConfigurationHubArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkManagerConnectivityConfigurationHub)(nil)).Elem() +} + +func (o GetNetworkManagerConnectivityConfigurationHubArrayOutput) ToGetNetworkManagerConnectivityConfigurationHubArrayOutput() GetNetworkManagerConnectivityConfigurationHubArrayOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationHubArrayOutput) ToGetNetworkManagerConnectivityConfigurationHubArrayOutputWithContext(ctx context.Context) GetNetworkManagerConnectivityConfigurationHubArrayOutput { + return o +} + +func (o GetNetworkManagerConnectivityConfigurationHubArrayOutput) Index(i pulumi.IntInput) GetNetworkManagerConnectivityConfigurationHubOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkManagerConnectivityConfigurationHub { + return vs[0].([]GetNetworkManagerConnectivityConfigurationHub)[vs[1].(int)] + }).(GetNetworkManagerConnectivityConfigurationHubOutput) +} + type GetNetworkManagerCrossTenantScope struct { // A list of management groups used as cross tenant scope for the Network Manager. ManagementGroups []string `pulumi:"managementGroups"` @@ -36531,6 +36769,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetLocalNetworkGatewayBgpSettingArrayInput)(nil)).Elem(), GetLocalNetworkGatewayBgpSettingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkInterfaceIpConfigurationInput)(nil)).Elem(), GetNetworkInterfaceIpConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkInterfaceIpConfigurationArrayInput)(nil)).Elem(), GetNetworkInterfaceIpConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationAppliesToGroupInput)(nil)).Elem(), GetNetworkManagerConnectivityConfigurationAppliesToGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayInput)(nil)).Elem(), GetNetworkManagerConnectivityConfigurationAppliesToGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationHubInput)(nil)).Elem(), GetNetworkManagerConnectivityConfigurationHubArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerConnectivityConfigurationHubArrayInput)(nil)).Elem(), GetNetworkManagerConnectivityConfigurationHubArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerCrossTenantScopeInput)(nil)).Elem(), GetNetworkManagerCrossTenantScopeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerCrossTenantScopeArrayInput)(nil)).Elem(), GetNetworkManagerCrossTenantScopeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkManagerScopeInput)(nil)).Elem(), GetNetworkManagerScopeArgs{}) @@ -37015,6 +37257,10 @@ func init() { pulumi.RegisterOutputType(GetLocalNetworkGatewayBgpSettingArrayOutput{}) pulumi.RegisterOutputType(GetNetworkInterfaceIpConfigurationOutput{}) pulumi.RegisterOutputType(GetNetworkInterfaceIpConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetNetworkManagerConnectivityConfigurationAppliesToGroupOutput{}) + pulumi.RegisterOutputType(GetNetworkManagerConnectivityConfigurationAppliesToGroupArrayOutput{}) + pulumi.RegisterOutputType(GetNetworkManagerConnectivityConfigurationHubOutput{}) + pulumi.RegisterOutputType(GetNetworkManagerConnectivityConfigurationHubArrayOutput{}) pulumi.RegisterOutputType(GetNetworkManagerCrossTenantScopeOutput{}) pulumi.RegisterOutputType(GetNetworkManagerCrossTenantScopeArrayOutput{}) pulumi.RegisterOutputType(GetNetworkManagerScopeOutput{}) diff --git a/sdk/go/azure/network/subnet.go b/sdk/go/azure/network/subnet.go index 550edb5719..727ed71d11 100644 --- a/sdk/go/azure/network/subnet.go +++ b/sdk/go/azure/network/subnet.go @@ -96,21 +96,23 @@ type Subnet struct { AddressPrefixes pulumi.StringArrayOutput `pulumi:"addressPrefixes"` // One or more `delegation` blocks as defined below. Delegations SubnetDelegationArrayOutput `pulumi:"delegations"` - // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider EnforcePrivateLinkEndpointNetworkPolicies pulumi.BoolOutput `pulumi:"enforcePrivateLinkEndpointNetworkPolicies"` // Deprecated: `enforcePrivateLinkServiceNetworkPolicies` will be removed in favour of the property `privateLinkServiceNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider EnforcePrivateLinkServiceNetworkPolicies pulumi.BoolOutput `pulumi:"enforcePrivateLinkServiceNetworkPolicies"` // The name of the subnet. Changing this forces a new resource to be created. Name pulumi.StringOutput `pulumi:"name"` - // Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + // Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // - // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + PrivateEndpointNetworkPolicies pulumi.StringOutput `pulumi:"privateEndpointNetworkPolicies"` + // Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider PrivateEndpointNetworkPoliciesEnabled pulumi.BoolOutput `pulumi:"privateEndpointNetworkPoliciesEnabled"` // Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. // // > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `privateLinkServiceNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. PrivateLinkServiceNetworkPoliciesEnabled pulumi.BoolOutput `pulumi:"privateLinkServiceNetworkPoliciesEnabled"` - // The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + // The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` // The list of IDs of Service Endpoint Policies to associate with the subnet. ServiceEndpointPolicyIds pulumi.StringArrayOutput `pulumi:"serviceEndpointPolicyIds"` @@ -167,21 +169,23 @@ type subnetState struct { AddressPrefixes []string `pulumi:"addressPrefixes"` // One or more `delegation` blocks as defined below. Delegations []SubnetDelegation `pulumi:"delegations"` - // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider EnforcePrivateLinkEndpointNetworkPolicies *bool `pulumi:"enforcePrivateLinkEndpointNetworkPolicies"` // Deprecated: `enforcePrivateLinkServiceNetworkPolicies` will be removed in favour of the property `privateLinkServiceNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider EnforcePrivateLinkServiceNetworkPolicies *bool `pulumi:"enforcePrivateLinkServiceNetworkPolicies"` // The name of the subnet. Changing this forces a new resource to be created. Name *string `pulumi:"name"` - // Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + // Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // - // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` + // Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider PrivateEndpointNetworkPoliciesEnabled *bool `pulumi:"privateEndpointNetworkPoliciesEnabled"` // Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. // // > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `privateLinkServiceNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. PrivateLinkServiceNetworkPoliciesEnabled *bool `pulumi:"privateLinkServiceNetworkPoliciesEnabled"` - // The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + // The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` // The list of IDs of Service Endpoint Policies to associate with the subnet. ServiceEndpointPolicyIds []string `pulumi:"serviceEndpointPolicyIds"` @@ -200,21 +204,23 @@ type SubnetState struct { AddressPrefixes pulumi.StringArrayInput // One or more `delegation` blocks as defined below. Delegations SubnetDelegationArrayInput - // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider EnforcePrivateLinkEndpointNetworkPolicies pulumi.BoolPtrInput // Deprecated: `enforcePrivateLinkServiceNetworkPolicies` will be removed in favour of the property `privateLinkServiceNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider EnforcePrivateLinkServiceNetworkPolicies pulumi.BoolPtrInput // The name of the subnet. Changing this forces a new resource to be created. Name pulumi.StringPtrInput - // Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + // Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // - // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + PrivateEndpointNetworkPolicies pulumi.StringPtrInput + // Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider PrivateEndpointNetworkPoliciesEnabled pulumi.BoolPtrInput // Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. // // > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `privateLinkServiceNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. PrivateLinkServiceNetworkPoliciesEnabled pulumi.BoolPtrInput - // The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + // The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringPtrInput // The list of IDs of Service Endpoint Policies to associate with the subnet. ServiceEndpointPolicyIds pulumi.StringArrayInput @@ -237,21 +243,23 @@ type subnetArgs struct { AddressPrefixes []string `pulumi:"addressPrefixes"` // One or more `delegation` blocks as defined below. Delegations []SubnetDelegation `pulumi:"delegations"` - // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider EnforcePrivateLinkEndpointNetworkPolicies *bool `pulumi:"enforcePrivateLinkEndpointNetworkPolicies"` // Deprecated: `enforcePrivateLinkServiceNetworkPolicies` will be removed in favour of the property `privateLinkServiceNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider EnforcePrivateLinkServiceNetworkPolicies *bool `pulumi:"enforcePrivateLinkServiceNetworkPolicies"` // The name of the subnet. Changing this forces a new resource to be created. Name *string `pulumi:"name"` - // Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + // Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // - // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` + // Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider PrivateEndpointNetworkPoliciesEnabled *bool `pulumi:"privateEndpointNetworkPoliciesEnabled"` // Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. // // > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `privateLinkServiceNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. PrivateLinkServiceNetworkPoliciesEnabled *bool `pulumi:"privateLinkServiceNetworkPoliciesEnabled"` - // The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + // The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. ResourceGroupName string `pulumi:"resourceGroupName"` // The list of IDs of Service Endpoint Policies to associate with the subnet. ServiceEndpointPolicyIds []string `pulumi:"serviceEndpointPolicyIds"` @@ -271,21 +279,23 @@ type SubnetArgs struct { AddressPrefixes pulumi.StringArrayInput // One or more `delegation` blocks as defined below. Delegations SubnetDelegationArrayInput - // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + // Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider EnforcePrivateLinkEndpointNetworkPolicies pulumi.BoolPtrInput // Deprecated: `enforcePrivateLinkServiceNetworkPolicies` will be removed in favour of the property `privateLinkServiceNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider EnforcePrivateLinkServiceNetworkPolicies pulumi.BoolPtrInput // The name of the subnet. Changing this forces a new resource to be created. Name pulumi.StringPtrInput - // Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + // Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // - // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + // > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + PrivateEndpointNetworkPolicies pulumi.StringPtrInput + // Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider PrivateEndpointNetworkPoliciesEnabled pulumi.BoolPtrInput // Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. // // > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `privateLinkServiceNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. PrivateLinkServiceNetworkPoliciesEnabled pulumi.BoolPtrInput - // The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + // The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringInput // The list of IDs of Service Endpoint Policies to associate with the subnet. ServiceEndpointPolicyIds pulumi.StringArrayInput @@ -396,7 +406,7 @@ func (o SubnetOutput) Delegations() SubnetDelegationArrayOutput { return o.ApplyT(func(v *Subnet) SubnetDelegationArrayOutput { return v.Delegations }).(SubnetDelegationArrayOutput) } -// Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider +// Deprecated: `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider func (o SubnetOutput) EnforcePrivateLinkEndpointNetworkPolicies() pulumi.BoolOutput { return o.ApplyT(func(v *Subnet) pulumi.BoolOutput { return v.EnforcePrivateLinkEndpointNetworkPolicies }).(pulumi.BoolOutput) } @@ -411,9 +421,14 @@ func (o SubnetOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Subnet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. +// Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. // -// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. +// > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. +func (o SubnetOutput) PrivateEndpointNetworkPolicies() pulumi.StringOutput { + return o.ApplyT(func(v *Subnet) pulumi.StringOutput { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringOutput) +} + +// Deprecated: `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider func (o SubnetOutput) PrivateEndpointNetworkPoliciesEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Subnet) pulumi.BoolOutput { return v.PrivateEndpointNetworkPoliciesEnabled }).(pulumi.BoolOutput) } @@ -425,7 +440,7 @@ func (o SubnetOutput) PrivateLinkServiceNetworkPoliciesEnabled() pulumi.BoolOutp return o.ApplyT(func(v *Subnet) pulumi.BoolOutput { return v.PrivateLinkServiceNetworkPoliciesEnabled }).(pulumi.BoolOutput) } -// The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. +// The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. func (o SubnetOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Subnet) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/postgresql/flexibleServer.go b/sdk/go/azure/postgresql/flexibleServer.go index b5eeab83b0..e1fb57c05a 100644 --- a/sdk/go/azure/postgresql/flexibleServer.go +++ b/sdk/go/azure/postgresql/flexibleServer.go @@ -158,7 +158,9 @@ type FlexibleServer struct { AutoGrowEnabled pulumi.BoolPtrOutput `pulumi:"autoGrowEnabled"` // The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. BackupRetentionDays pulumi.IntOutput `pulumi:"backupRetentionDays"` - // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + // + // > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. CreateMode pulumi.StringPtrOutput `pulumi:"createMode"` @@ -273,7 +275,9 @@ type flexibleServerState struct { AutoGrowEnabled *bool `pulumi:"autoGrowEnabled"` // The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. BackupRetentionDays *int `pulumi:"backupRetentionDays"` - // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + // + // > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. CreateMode *string `pulumi:"createMode"` @@ -349,7 +353,9 @@ type FlexibleServerState struct { AutoGrowEnabled pulumi.BoolPtrInput // The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. BackupRetentionDays pulumi.IntPtrInput - // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + // + // > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. CreateMode pulumi.StringPtrInput @@ -429,7 +435,9 @@ type flexibleServerArgs struct { AutoGrowEnabled *bool `pulumi:"autoGrowEnabled"` // The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. BackupRetentionDays *int `pulumi:"backupRetentionDays"` - // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + // + // > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. CreateMode *string `pulumi:"createMode"` @@ -502,7 +510,9 @@ type FlexibleServerArgs struct { AutoGrowEnabled pulumi.BoolPtrInput // The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. BackupRetentionDays pulumi.IntPtrInput - // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + // The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + // + // > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. CreateMode pulumi.StringPtrInput @@ -675,7 +685,9 @@ func (o FlexibleServerOutput) BackupRetentionDays() pulumi.IntOutput { return o.ApplyT(func(v *FlexibleServer) pulumi.IntOutput { return v.BackupRetentionDays }).(pulumi.IntOutput) } -// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. +// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. +// +// > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. // // > **Note:** While creating the resource, `createMode` cannot be set to `Update`. func (o FlexibleServerOutput) CreateMode() pulumi.StringPtrOutput { diff --git a/sdk/go/azure/pulumiTypes.go b/sdk/go/azure/pulumiTypes.go index cbfd369415..2a08cbcbdb 100644 --- a/sdk/go/azure/pulumiTypes.go +++ b/sdk/go/azure/pulumiTypes.go @@ -24,6 +24,7 @@ type ProviderFeatures struct { ManagedDisk *ProviderFeaturesManagedDisk `pulumi:"managedDisk"` PostgresqlFlexibleServer *ProviderFeaturesPostgresqlFlexibleServer `pulumi:"postgresqlFlexibleServer"` RecoveryService *ProviderFeaturesRecoveryService `pulumi:"recoveryService"` + RecoveryServicesVaults *ProviderFeaturesRecoveryServicesVaults `pulumi:"recoveryServicesVaults"` ResourceGroup *ProviderFeaturesResourceGroup `pulumi:"resourceGroup"` Subscription *ProviderFeaturesSubscription `pulumi:"subscription"` TemplateDeployment *ProviderFeaturesTemplateDeployment `pulumi:"templateDeployment"` @@ -53,6 +54,7 @@ type ProviderFeaturesArgs struct { ManagedDisk ProviderFeaturesManagedDiskPtrInput `pulumi:"managedDisk"` PostgresqlFlexibleServer ProviderFeaturesPostgresqlFlexibleServerPtrInput `pulumi:"postgresqlFlexibleServer"` RecoveryService ProviderFeaturesRecoveryServicePtrInput `pulumi:"recoveryService"` + RecoveryServicesVaults ProviderFeaturesRecoveryServicesVaultsPtrInput `pulumi:"recoveryServicesVaults"` ResourceGroup ProviderFeaturesResourceGroupPtrInput `pulumi:"resourceGroup"` Subscription ProviderFeaturesSubscriptionPtrInput `pulumi:"subscription"` TemplateDeployment ProviderFeaturesTemplateDeploymentPtrInput `pulumi:"templateDeployment"` @@ -177,6 +179,10 @@ func (o ProviderFeaturesOutput) RecoveryService() ProviderFeaturesRecoveryServic return o.ApplyT(func(v ProviderFeatures) *ProviderFeaturesRecoveryService { return v.RecoveryService }).(ProviderFeaturesRecoveryServicePtrOutput) } +func (o ProviderFeaturesOutput) RecoveryServicesVaults() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o.ApplyT(func(v ProviderFeatures) *ProviderFeaturesRecoveryServicesVaults { return v.RecoveryServicesVaults }).(ProviderFeaturesRecoveryServicesVaultsPtrOutput) +} + func (o ProviderFeaturesOutput) ResourceGroup() ProviderFeaturesResourceGroupPtrOutput { return o.ApplyT(func(v ProviderFeatures) *ProviderFeaturesResourceGroup { return v.ResourceGroup }).(ProviderFeaturesResourceGroupPtrOutput) } @@ -311,6 +317,15 @@ func (o ProviderFeaturesPtrOutput) RecoveryService() ProviderFeaturesRecoverySer }).(ProviderFeaturesRecoveryServicePtrOutput) } +func (o ProviderFeaturesPtrOutput) RecoveryServicesVaults() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o.ApplyT(func(v *ProviderFeatures) *ProviderFeaturesRecoveryServicesVaults { + if v == nil { + return nil + } + return v.RecoveryServicesVaults + }).(ProviderFeaturesRecoveryServicesVaultsPtrOutput) +} + func (o ProviderFeaturesPtrOutput) ResourceGroup() ProviderFeaturesResourceGroupPtrOutput { return o.ApplyT(func(v *ProviderFeatures) *ProviderFeaturesResourceGroup { if v == nil { @@ -1889,6 +1904,139 @@ func (o ProviderFeaturesRecoveryServicePtrOutput) VmBackupStopProtectionAndRetai }).(pulumi.BoolPtrOutput) } +type ProviderFeaturesRecoveryServicesVaults struct { + RecoverSoftDeletedBackupProtectedVm *bool `pulumi:"recoverSoftDeletedBackupProtectedVm"` +} + +// ProviderFeaturesRecoveryServicesVaultsInput is an input type that accepts ProviderFeaturesRecoveryServicesVaultsArgs and ProviderFeaturesRecoveryServicesVaultsOutput values. +// You can construct a concrete instance of `ProviderFeaturesRecoveryServicesVaultsInput` via: +// +// ProviderFeaturesRecoveryServicesVaultsArgs{...} +type ProviderFeaturesRecoveryServicesVaultsInput interface { + pulumi.Input + + ToProviderFeaturesRecoveryServicesVaultsOutput() ProviderFeaturesRecoveryServicesVaultsOutput + ToProviderFeaturesRecoveryServicesVaultsOutputWithContext(context.Context) ProviderFeaturesRecoveryServicesVaultsOutput +} + +type ProviderFeaturesRecoveryServicesVaultsArgs struct { + RecoverSoftDeletedBackupProtectedVm pulumi.BoolPtrInput `pulumi:"recoverSoftDeletedBackupProtectedVm"` +} + +func (ProviderFeaturesRecoveryServicesVaultsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderFeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (i ProviderFeaturesRecoveryServicesVaultsArgs) ToProviderFeaturesRecoveryServicesVaultsOutput() ProviderFeaturesRecoveryServicesVaultsOutput { + return i.ToProviderFeaturesRecoveryServicesVaultsOutputWithContext(context.Background()) +} + +func (i ProviderFeaturesRecoveryServicesVaultsArgs) ToProviderFeaturesRecoveryServicesVaultsOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderFeaturesRecoveryServicesVaultsOutput) +} + +func (i ProviderFeaturesRecoveryServicesVaultsArgs) ToProviderFeaturesRecoveryServicesVaultsPtrOutput() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return i.ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (i ProviderFeaturesRecoveryServicesVaultsArgs) ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderFeaturesRecoveryServicesVaultsOutput).ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx) +} + +// ProviderFeaturesRecoveryServicesVaultsPtrInput is an input type that accepts ProviderFeaturesRecoveryServicesVaultsArgs, ProviderFeaturesRecoveryServicesVaultsPtr and ProviderFeaturesRecoveryServicesVaultsPtrOutput values. +// You can construct a concrete instance of `ProviderFeaturesRecoveryServicesVaultsPtrInput` via: +// +// ProviderFeaturesRecoveryServicesVaultsArgs{...} +// +// or: +// +// nil +type ProviderFeaturesRecoveryServicesVaultsPtrInput interface { + pulumi.Input + + ToProviderFeaturesRecoveryServicesVaultsPtrOutput() ProviderFeaturesRecoveryServicesVaultsPtrOutput + ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Context) ProviderFeaturesRecoveryServicesVaultsPtrOutput +} + +type providerFeaturesRecoveryServicesVaultsPtrType ProviderFeaturesRecoveryServicesVaultsArgs + +func ProviderFeaturesRecoveryServicesVaultsPtr(v *ProviderFeaturesRecoveryServicesVaultsArgs) ProviderFeaturesRecoveryServicesVaultsPtrInput { + return (*providerFeaturesRecoveryServicesVaultsPtrType)(v) +} + +func (*providerFeaturesRecoveryServicesVaultsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderFeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (i *providerFeaturesRecoveryServicesVaultsPtrType) ToProviderFeaturesRecoveryServicesVaultsPtrOutput() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return i.ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (i *providerFeaturesRecoveryServicesVaultsPtrType) ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderFeaturesRecoveryServicesVaultsPtrOutput) +} + +type ProviderFeaturesRecoveryServicesVaultsOutput struct{ *pulumi.OutputState } + +func (ProviderFeaturesRecoveryServicesVaultsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderFeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (o ProviderFeaturesRecoveryServicesVaultsOutput) ToProviderFeaturesRecoveryServicesVaultsOutput() ProviderFeaturesRecoveryServicesVaultsOutput { + return o +} + +func (o ProviderFeaturesRecoveryServicesVaultsOutput) ToProviderFeaturesRecoveryServicesVaultsOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsOutput { + return o +} + +func (o ProviderFeaturesRecoveryServicesVaultsOutput) ToProviderFeaturesRecoveryServicesVaultsPtrOutput() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o.ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(context.Background()) +} + +func (o ProviderFeaturesRecoveryServicesVaultsOutput) ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProviderFeaturesRecoveryServicesVaults) *ProviderFeaturesRecoveryServicesVaults { + return &v + }).(ProviderFeaturesRecoveryServicesVaultsPtrOutput) +} + +func (o ProviderFeaturesRecoveryServicesVaultsOutput) RecoverSoftDeletedBackupProtectedVm() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProviderFeaturesRecoveryServicesVaults) *bool { return v.RecoverSoftDeletedBackupProtectedVm }).(pulumi.BoolPtrOutput) +} + +type ProviderFeaturesRecoveryServicesVaultsPtrOutput struct{ *pulumi.OutputState } + +func (ProviderFeaturesRecoveryServicesVaultsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderFeaturesRecoveryServicesVaults)(nil)).Elem() +} + +func (o ProviderFeaturesRecoveryServicesVaultsPtrOutput) ToProviderFeaturesRecoveryServicesVaultsPtrOutput() ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o +} + +func (o ProviderFeaturesRecoveryServicesVaultsPtrOutput) ToProviderFeaturesRecoveryServicesVaultsPtrOutputWithContext(ctx context.Context) ProviderFeaturesRecoveryServicesVaultsPtrOutput { + return o +} + +func (o ProviderFeaturesRecoveryServicesVaultsPtrOutput) Elem() ProviderFeaturesRecoveryServicesVaultsOutput { + return o.ApplyT(func(v *ProviderFeaturesRecoveryServicesVaults) ProviderFeaturesRecoveryServicesVaults { + if v != nil { + return *v + } + var ret ProviderFeaturesRecoveryServicesVaults + return ret + }).(ProviderFeaturesRecoveryServicesVaultsOutput) +} + +func (o ProviderFeaturesRecoveryServicesVaultsPtrOutput) RecoverSoftDeletedBackupProtectedVm() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProviderFeaturesRecoveryServicesVaults) *bool { + if v == nil { + return nil + } + return v.RecoverSoftDeletedBackupProtectedVm + }).(pulumi.BoolPtrOutput) +} + type ProviderFeaturesResourceGroup struct { PreventDeletionIfContainsResources *bool `pulumi:"preventDeletionIfContainsResources"` } @@ -2652,6 +2800,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesPostgresqlFlexibleServerPtrInput)(nil)).Elem(), ProviderFeaturesPostgresqlFlexibleServerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesRecoveryServiceInput)(nil)).Elem(), ProviderFeaturesRecoveryServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesRecoveryServicePtrInput)(nil)).Elem(), ProviderFeaturesRecoveryServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesRecoveryServicesVaultsInput)(nil)).Elem(), ProviderFeaturesRecoveryServicesVaultsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesRecoveryServicesVaultsPtrInput)(nil)).Elem(), ProviderFeaturesRecoveryServicesVaultsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesResourceGroupInput)(nil)).Elem(), ProviderFeaturesResourceGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesResourceGroupPtrInput)(nil)).Elem(), ProviderFeaturesResourceGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderFeaturesSubscriptionInput)(nil)).Elem(), ProviderFeaturesSubscriptionArgs{}) @@ -2684,6 +2834,8 @@ func init() { pulumi.RegisterOutputType(ProviderFeaturesPostgresqlFlexibleServerPtrOutput{}) pulumi.RegisterOutputType(ProviderFeaturesRecoveryServiceOutput{}) pulumi.RegisterOutputType(ProviderFeaturesRecoveryServicePtrOutput{}) + pulumi.RegisterOutputType(ProviderFeaturesRecoveryServicesVaultsOutput{}) + pulumi.RegisterOutputType(ProviderFeaturesRecoveryServicesVaultsPtrOutput{}) pulumi.RegisterOutputType(ProviderFeaturesResourceGroupOutput{}) pulumi.RegisterOutputType(ProviderFeaturesResourceGroupPtrOutput{}) pulumi.RegisterOutputType(ProviderFeaturesSubscriptionOutput{}) diff --git a/sdk/go/azure/storage/pulumiTypes.go b/sdk/go/azure/storage/pulumiTypes.go index 2f5311cda6..f88eaad59c 100644 --- a/sdk/go/azure/storage/pulumiTypes.go +++ b/sdk/go/azure/storage/pulumiTypes.go @@ -1020,6 +1020,10 @@ func (o AccountBlobPropertiesCorsRuleArrayOutput) Index(i pulumi.IntInput) Accou type AccountBlobPropertiesDeleteRetentionPolicy struct { // Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. Days *int `pulumi:"days"` + // Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + // + // > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. + PermanentDeleteEnabled *bool `pulumi:"permanentDeleteEnabled"` } // AccountBlobPropertiesDeleteRetentionPolicyInput is an input type that accepts AccountBlobPropertiesDeleteRetentionPolicyArgs and AccountBlobPropertiesDeleteRetentionPolicyOutput values. @@ -1036,6 +1040,10 @@ type AccountBlobPropertiesDeleteRetentionPolicyInput interface { type AccountBlobPropertiesDeleteRetentionPolicyArgs struct { // Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. Days pulumi.IntPtrInput `pulumi:"days"` + // Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + // + // > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. + PermanentDeleteEnabled pulumi.BoolPtrInput `pulumi:"permanentDeleteEnabled"` } func (AccountBlobPropertiesDeleteRetentionPolicyArgs) ElementType() reflect.Type { @@ -1120,6 +1128,13 @@ func (o AccountBlobPropertiesDeleteRetentionPolicyOutput) Days() pulumi.IntPtrOu return o.ApplyT(func(v AccountBlobPropertiesDeleteRetentionPolicy) *int { return v.Days }).(pulumi.IntPtrOutput) } +// Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. +// +// > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. +func (o AccountBlobPropertiesDeleteRetentionPolicyOutput) PermanentDeleteEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AccountBlobPropertiesDeleteRetentionPolicy) *bool { return v.PermanentDeleteEnabled }).(pulumi.BoolPtrOutput) +} + type AccountBlobPropertiesDeleteRetentionPolicyPtrOutput struct{ *pulumi.OutputState } func (AccountBlobPropertiesDeleteRetentionPolicyPtrOutput) ElementType() reflect.Type { @@ -1154,6 +1169,18 @@ func (o AccountBlobPropertiesDeleteRetentionPolicyPtrOutput) Days() pulumi.IntPt }).(pulumi.IntPtrOutput) } +// Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. +// +// > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. +func (o AccountBlobPropertiesDeleteRetentionPolicyPtrOutput) PermanentDeleteEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AccountBlobPropertiesDeleteRetentionPolicy) *bool { + if v == nil { + return nil + } + return v.PermanentDeleteEnabled + }).(pulumi.BoolPtrOutput) +} + type AccountBlobPropertiesRestorePolicy struct { // Specifies the number of days that the blob can be restored, between `1` and `365` days. This must be less than the `days` specified for `deleteRetentionPolicy`. Days int `pulumi:"days"` diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java index 4a814d713c..d26dc4a51c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java index d136d9ff30..9f83692f97 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.java index 8d272f2075..139570301e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.java index 90b92d2926..acf4754045 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs; import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs; +import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs; import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -34,14 +35,29 @@ public Optional> } /** - * One or more `slow_request` blocks as defined above. + * One or more `slow_request_with_path` blocks as defined above. + * + */ + @Import(name="slowRequestWithPaths") + private @Nullable Output> slowRequestWithPaths; + + /** + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public Optional>> slowRequestWithPaths() { + return Optional.ofNullable(this.slowRequestWithPaths); + } + + /** + * A `slow_request` blocks as defined above. * */ @Import(name="slowRequests") private @Nullable Output> slowRequests; /** - * @return One or more `slow_request` blocks as defined above. + * @return A `slow_request` blocks as defined above. * */ public Optional>> slowRequests() { @@ -67,6 +83,7 @@ private LinuxWebAppSiteConfigAutoHealSettingTriggerArgs() {} private LinuxWebAppSiteConfigAutoHealSettingTriggerArgs(LinuxWebAppSiteConfigAutoHealSettingTriggerArgs $) { this.requests = $.requests; + this.slowRequestWithPaths = $.slowRequestWithPaths; this.slowRequests = $.slowRequests; this.statusCodes = $.statusCodes; } @@ -111,7 +128,38 @@ public Builder requests(LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs } /** - * @param slowRequests One or more `slow_request` blocks as defined above. + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(@Nullable Output> slowRequestWithPaths) { + $.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + return slowRequestWithPaths(Output.of(slowRequestWithPaths)); + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + + /** + * @param slowRequests A `slow_request` blocks as defined above. * * @return builder * @@ -122,7 +170,7 @@ public Builder slowRequests(@Nullable Output interval() { /** * The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ @Import(name="path") private @Nullable Output path; /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional> path() { return Optional.ofNullable(this.path); } @@ -149,9 +161,15 @@ public Builder interval(String interval) { /** * @param path The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(@Nullable Output path) { $.path = path; return this; @@ -160,9 +178,15 @@ public Builder path(@Nullable Output path) { /** * @param path The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(String path) { return path(Output.of(path)); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java new file mode 100644 index 0000000000..d7a1318b99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java @@ -0,0 +1,205 @@ +// *** 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.azure.appservice.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 LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty = new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + @Import(name="count", required=true) + private Output count; + + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Output count() { + return this.count; + } + + /** + * The time interval in the form `hh:mm:ss`. + * + */ + @Import(name="interval", required=true) + private Output interval; + + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public Output interval() { + return this.interval; + } + + /** + * The path for which this slow request rule applies. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + @Import(name="timeTaken", required=true) + private Output timeTaken; + + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public Output timeTaken() { + return this.timeTaken; + } + + private LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() {} + + private LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $) { + this.count = $.count; + this.interval = $.interval; + this.path = $.path; + this.timeTaken = $.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $; + + public Builder() { + $ = new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } + + public Builder(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + $ = new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Output count) { + $.count = count; + return this; + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(Output timeTaken) { + $.timeTaken = timeTaken; + return this; + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(String timeTaken) { + return timeTaken(Output.of(timeTaken)); + } + + public LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs build() { + if ($.count == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "count"); + } + if ($.interval == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "interval"); + } + if ($.timeTaken == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "timeTaken"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java index bf8aaf1b70..b8dcff0cb0 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java index 83de57dcf5..743697aff8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs; import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs; +import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs; import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -34,14 +35,29 @@ public Optional> slowRequestWithPaths; + + /** + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public Optional>> slowRequestWithPaths() { + return Optional.ofNullable(this.slowRequestWithPaths); + } + + /** + * A `slow_request` block as defined above. * */ @Import(name="slowRequests") private @Nullable Output> slowRequests; /** - * @return One or more `slow_request` blocks as defined above. + * @return A `slow_request` block as defined above. * */ public Optional>> slowRequests() { @@ -67,6 +83,7 @@ private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs() {} private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs $) { this.requests = $.requests; + this.slowRequestWithPaths = $.slowRequestWithPaths; this.slowRequests = $.slowRequests; this.statusCodes = $.statusCodes; } @@ -111,7 +128,38 @@ public Builder requests(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsA } /** - * @param slowRequests One or more `slow_request` blocks as defined above. + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(@Nullable Output> slowRequestWithPaths) { + $.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + return slowRequestWithPaths(Output.of(slowRequestWithPaths)); + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + + /** + * @param slowRequests A `slow_request` block as defined above. * * @return builder * @@ -122,7 +170,7 @@ public Builder slowRequests(@Nullable Output interval() { /** * The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ @Import(name="path") private @Nullable Output path; /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional> path() { return Optional.ofNullable(this.path); } @@ -149,9 +161,15 @@ public Builder interval(String interval) { /** * @param path The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(@Nullable Output path) { $.path = path; return this; @@ -160,9 +178,15 @@ public Builder path(@Nullable Output path) { /** * @param path The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(String path) { return path(Output.of(path)); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java new file mode 100644 index 0000000000..4eee554720 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java @@ -0,0 +1,205 @@ +// *** 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.azure.appservice.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 LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty = new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + @Import(name="count", required=true) + private Output count; + + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Output count() { + return this.count; + } + + /** + * The time interval in the form `hh:mm:ss`. + * + */ + @Import(name="interval", required=true) + private Output interval; + + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public Output interval() { + return this.interval; + } + + /** + * The path for which this slow request rule applies. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + @Import(name="timeTaken", required=true) + private Output timeTaken; + + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public Output timeTaken() { + return this.timeTaken; + } + + private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() {} + + private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $) { + this.count = $.count; + this.interval = $.interval; + this.path = $.path; + this.timeTaken = $.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $; + + public Builder() { + $ = new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } + + public Builder(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + $ = new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Output count) { + $.count = count; + return this; + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(Output timeTaken) { + $.timeTaken = timeTaken; + return this; + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(String timeTaken) { + return timeTaken(Output.of(timeTaken)); + } + + public LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs build() { + if ($.count == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "count"); + } + if ($.interval == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "interval"); + } + if ($.timeTaken == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "timeTaken"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java index b0bbbf5b43..87782ddce1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java index 5559a48ce3..7945b247cd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.java index 53d92df93b..e89c4b7980 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.java index 825f1bb666..c2b8d7ca4a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs; import com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs; +import com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs; import com.pulumi.azure.appservice.inputs.WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -50,14 +51,29 @@ public Optional> slowRequestWithPaths; + + /** + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public Optional>> slowRequestWithPaths() { + return Optional.ofNullable(this.slowRequestWithPaths); + } + + /** + * A `slow_request` block as defined above. * */ @Import(name="slowRequests") private @Nullable Output> slowRequests; /** - * @return One or more `slow_request` blocks as defined above. + * @return A `slow_request` block as defined above. * */ public Optional>> slowRequests() { @@ -84,6 +100,7 @@ private WindowsWebAppSiteConfigAutoHealSettingTriggerArgs() {} private WindowsWebAppSiteConfigAutoHealSettingTriggerArgs(WindowsWebAppSiteConfigAutoHealSettingTriggerArgs $) { this.privateMemoryKb = $.privateMemoryKb; this.requests = $.requests; + this.slowRequestWithPaths = $.slowRequestWithPaths; this.slowRequests = $.slowRequests; this.statusCodes = $.statusCodes; } @@ -149,7 +166,38 @@ public Builder requests(WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArg } /** - * @param slowRequests One or more `slow_request` blocks as defined above. + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(@Nullable Output> slowRequestWithPaths) { + $.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + return slowRequestWithPaths(Output.of(slowRequestWithPaths)); + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + + /** + * @param slowRequests A `slow_request` block as defined above. * * @return builder * @@ -160,7 +208,7 @@ public Builder slowRequests(@Nullable Output interval() { /** * The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ @Import(name="path") private @Nullable Output path; /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional> path() { return Optional.ofNullable(this.path); } @@ -151,7 +159,11 @@ public Builder interval(String interval) { * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(@Nullable Output path) { $.path = path; return this; @@ -162,7 +174,11 @@ public Builder path(@Nullable Output path) { * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(String path) { return path(Output.of(path)); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java new file mode 100644 index 0000000000..e1991fb429 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java @@ -0,0 +1,205 @@ +// *** 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.azure.appservice.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 WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty = new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + @Import(name="count", required=true) + private Output count; + + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Output count() { + return this.count; + } + + /** + * The time interval in the form `hh:mm:ss`. + * + */ + @Import(name="interval", required=true) + private Output interval; + + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public Output interval() { + return this.interval; + } + + /** + * The path for which this slow request rule applies. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + @Import(name="timeTaken", required=true) + private Output timeTaken; + + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public Output timeTaken() { + return this.timeTaken; + } + + private WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() {} + + private WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $) { + this.count = $.count; + this.interval = $.interval; + this.path = $.path; + this.timeTaken = $.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $; + + public Builder() { + $ = new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } + + public Builder(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + $ = new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Output count) { + $.count = count; + return this; + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(Output timeTaken) { + $.timeTaken = timeTaken; + return this; + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(String timeTaken) { + return timeTaken(Output.of(timeTaken)); + } + + public WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs build() { + if ($.count == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "count"); + } + if ($.interval == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "interval"); + } + if ($.timeTaken == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "timeTaken"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java index 107315db5c..4996fc49f9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2Args.java @@ -178,14 +178,18 @@ public Optional>> loginParameters() { } /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ @Import(name="tenantAuthEndpoint", required=true) private Output tenantAuthEndpoint; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public Output tenantAuthEndpoint() { @@ -523,7 +527,9 @@ public Builder loginParameters(Map loginParameters) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * @@ -534,7 +540,9 @@ public Builder tenantAuthEndpoint(Output tenantAuthEndpoint) { } /** - * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @param tenantAuthEndpoint The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java index aeb8af5c81..97da888b45 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs; import com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs; +import com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs; import com.pulumi.azure.appservice.inputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -50,14 +51,29 @@ public Optional> slowRequestWithPaths; + + /** + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public Optional>> slowRequestWithPaths() { + return Optional.ofNullable(this.slowRequestWithPaths); + } + + /** + * A `slow_request` block as defined above. * */ @Import(name="slowRequests") private @Nullable Output> slowRequests; /** - * @return One or more `slow_request` blocks as defined above. + * @return A `slow_request` block as defined above. * */ public Optional>> slowRequests() { @@ -84,6 +100,7 @@ private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs() {} private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs $) { this.privateMemoryKb = $.privateMemoryKb; this.requests = $.requests; + this.slowRequestWithPaths = $.slowRequestWithPaths; this.slowRequests = $.slowRequests; this.statusCodes = $.statusCodes; } @@ -149,7 +166,38 @@ public Builder requests(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequest } /** - * @param slowRequests One or more `slow_request` blocks as defined above. + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(@Nullable Output> slowRequestWithPaths) { + $.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + return slowRequestWithPaths(Output.of(slowRequestWithPaths)); + } + + /** + * @param slowRequestWithPaths One or more `slow_request_with_path` blocks as defined above. + * + * @return builder + * + */ + public Builder slowRequestWithPaths(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + + /** + * @param slowRequests A `slow_request` block as defined above. * * @return builder * @@ -160,7 +208,7 @@ public Builder slowRequests(@Nullable Output interval() { /** * The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ @Import(name="path") private @Nullable Output path; /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional> path() { return Optional.ofNullable(this.path); } @@ -151,7 +159,11 @@ public Builder interval(String interval) { * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(@Nullable Output path) { $.path = path; return this; @@ -162,7 +174,11 @@ public Builder path(@Nullable Output path) { * * @return builder * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Builder path(String path) { return path(Output.of(path)); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java new file mode 100644 index 0000000000..a7e2f5d2ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs.java @@ -0,0 +1,205 @@ +// *** 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.azure.appservice.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 WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs Empty = new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + @Import(name="count", required=true) + private Output count; + + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Output count() { + return this.count; + } + + /** + * The time interval in the form `hh:mm:ss`. + * + */ + @Import(name="interval", required=true) + private Output interval; + + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public Output interval() { + return this.interval; + } + + /** + * The path for which this slow request rule applies. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + @Import(name="timeTaken", required=true) + private Output timeTaken; + + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public Output timeTaken() { + return this.timeTaken; + } + + private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs() {} + + private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $) { + this.count = $.count; + this.interval = $.interval; + this.path = $.path; + this.timeTaken = $.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs $; + + public Builder() { + $ = new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(); + } + + public Builder(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs defaults) { + $ = new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Output count) { + $.count = count; + return this; + } + + /** + * @param count The number of Slow Requests in the time `interval` to trigger this rule. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The time interval in the form `hh:mm:ss`. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path for which this slow request rule applies. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(Output timeTaken) { + $.timeTaken = timeTaken; + return this; + } + + /** + * @param timeTaken The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + * @return builder + * + */ + public Builder timeTaken(String timeTaken) { + return timeTaken(Output.of(timeTaken)); + } + + public WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs build() { + if ($.count == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "count"); + } + if ($.interval == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "interval"); + } + if ($.timeTaken == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs", "timeTaken"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java index f9520cf65e..41eef50339 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java @@ -64,7 +64,7 @@ public final class GetLinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 { */ private Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ private String tenantAuthEndpoint; @@ -146,7 +146,7 @@ public Map loginParameters() { return this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2.java index bc60c19b9d..26294d2a03 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2.java @@ -64,7 +64,7 @@ public final class GetLinuxWebAppAuthSettingsV2ActiveDirectoryV2 { */ private Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ private String tenantAuthEndpoint; @@ -146,7 +146,7 @@ public Map loginParameters() { return this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTrigger.java index 0e04270412..88f7eb49d8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTrigger.java @@ -5,12 +5,12 @@ import com.pulumi.azure.appservice.outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequest; import com.pulumi.azure.appservice.outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.util.List; import java.util.Objects; -import javax.annotation.Nullable; @CustomType public final class GetLinuxWebAppSiteConfigAutoHealSettingTrigger { @@ -19,11 +19,16 @@ public final class GetLinuxWebAppSiteConfigAutoHealSettingTrigger { * */ private List requests; + /** + * @return (Optional) One or more `slow_request_with_path` blocks as defined above. + * + */ + private List slowRequestWithPaths; /** * @return A `slow_request` block as defined above. * */ - private @Nullable List slowRequests; + private List slowRequests; /** * @return A `status_code` block as defined above. * @@ -38,12 +43,19 @@ private GetLinuxWebAppSiteConfigAutoHealSettingTrigger() {} public List requests() { return this.requests; } + /** + * @return (Optional) One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths; + } /** * @return A `slow_request` block as defined above. * */ public List slowRequests() { - return this.slowRequests == null ? List.of() : this.slowRequests; + return this.slowRequests; } /** * @return A `status_code` block as defined above. @@ -63,12 +75,14 @@ public static Builder builder(GetLinuxWebAppSiteConfigAutoHealSettingTrigger def @CustomType.Builder public static final class Builder { private List requests; - private @Nullable List slowRequests; + private List slowRequestWithPaths; + private List slowRequests; private List statusCodes; public Builder() {} public Builder(GetLinuxWebAppSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -85,8 +99,21 @@ public Builder requests(GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequest... return requests(List.of(requests)); } @CustomType.Setter - public Builder slowRequests(@Nullable List slowRequests) { - + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + if (slowRequestWithPaths == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTrigger", "slowRequestWithPaths"); + } + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter + public Builder slowRequests(List slowRequests) { + if (slowRequests == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTrigger", "slowRequests"); + } this.slowRequests = slowRequests; return this; } @@ -107,6 +134,7 @@ public Builder statusCodes(GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusC public GetLinuxWebAppSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new GetLinuxWebAppSiteConfigAutoHealSettingTrigger(); _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java index 81710b99ce..2a774a8b93 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -24,10 +24,14 @@ public final class GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { /** * @return The path to which this rule status code applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private String path; /** - * @return The amount of time that qualifies as slow for this rule. + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. * */ private String timeTaken; @@ -50,12 +54,16 @@ public String interval() { /** * @return The path to which this rule status code applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public String path() { return this.path; } /** - * @return The amount of time that qualifies as slow for this rule. + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. * */ public String timeTaken() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..c8f23a25b2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path to which this rule status code applies. + * + */ + private String path; + /** + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path to which this rule status code applies. + * + */ + public String path() { + return this.path; + } + /** + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private String path; + private String timeTaken; + public Builder() {} + public Builder(GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "path"); + } + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java index c9e149077e..307c23f0d6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java @@ -64,7 +64,7 @@ public final class GetWindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 { */ private Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ private String tenantAuthEndpoint; @@ -146,7 +146,7 @@ public Map loginParameters() { return this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2.java index 828e0ec068..66d5fbc83c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2.java @@ -64,7 +64,7 @@ public final class GetWindowsWebAppAuthSettingsV2ActiveDirectoryV2 { */ private Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ private String tenantAuthEndpoint; @@ -146,7 +146,7 @@ public Map loginParameters() { return this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTrigger.java index 3cd099b274..443274a926 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTrigger.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequest; import com.pulumi.azure.appservice.outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -24,6 +25,11 @@ public final class GetWindowsWebAppSiteConfigAutoHealSettingTrigger { * */ private List requests; + /** + * @return (Optional) One or more `slow_request_with_path` blocks as defined above. + * + */ + private List slowRequestWithPaths; /** * @return A `slow_request` block as defined above. * @@ -50,6 +56,13 @@ public Integer privateMemoryKb() { public List requests() { return this.requests; } + /** + * @return (Optional) One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths; + } /** * @return A `slow_request` block as defined above. * @@ -76,6 +89,7 @@ public static Builder builder(GetWindowsWebAppSiteConfigAutoHealSettingTrigger d public static final class Builder { private Integer privateMemoryKb; private List requests; + private List slowRequestWithPaths; private List slowRequests; private List statusCodes; public Builder() {} @@ -83,6 +97,7 @@ public Builder(GetWindowsWebAppSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.privateMemoryKb = defaults.privateMemoryKb; this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -107,6 +122,17 @@ public Builder requests(GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequest. return requests(List.of(requests)); } @CustomType.Setter + public Builder slowRequestWithPaths(List slowRequestWithPaths) { + if (slowRequestWithPaths == null) { + throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTrigger", "slowRequestWithPaths"); + } + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter public Builder slowRequests(List slowRequests) { if (slowRequests == null) { throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTrigger", "slowRequests"); @@ -132,6 +158,7 @@ public GetWindowsWebAppSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new GetWindowsWebAppSiteConfigAutoHealSettingTrigger(); _resultValue.privateMemoryKb = privateMemoryKb; _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java index bc4afbe179..80004c7c8e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -24,10 +24,14 @@ public final class GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { /** * @return The path to which this rule status code applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private String path; /** - * @return The amount of time that qualifies as slow for this rule. + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. * */ private String timeTaken; @@ -50,12 +54,16 @@ public String interval() { /** * @return The path to which this rule status code applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public String path() { return this.path; } /** - * @return The amount of time that qualifies as slow for this rule. + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. * */ public String timeTaken() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..74d3529222 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path to which this rule status code applies. + * + */ + private String path; + /** + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path to which this rule status code applies. + * + */ + public String path() { + return this.path; + } + /** + * @return (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private String path; + private String timeTaken; + public Builder() {} + public Builder(GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "path"); + } + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java index 4d5a09fc42..9a9d915252 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java index b0128fc086..7148dac467 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.java index 73f67d9ac0..98d4693b54 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class LinuxWebAppAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.java index 21253016bb..cb0647a3a7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTrigger.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerRequests; import com.pulumi.azure.appservice.outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import java.util.List; @@ -20,7 +21,12 @@ public final class LinuxWebAppSiteConfigAutoHealSettingTrigger { */ private @Nullable LinuxWebAppSiteConfigAutoHealSettingTriggerRequests requests; /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + private @Nullable List slowRequestWithPaths; + /** + * @return A `slow_request` blocks as defined above. * */ private @Nullable List slowRequests; @@ -39,7 +45,14 @@ public Optional requests() return Optional.ofNullable(this.requests); } /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths == null ? List.of() : this.slowRequestWithPaths; + } + /** + * @return A `slow_request` blocks as defined above. * */ public List slowRequests() { @@ -63,12 +76,14 @@ public static Builder builder(LinuxWebAppSiteConfigAutoHealSettingTrigger defaul @CustomType.Builder public static final class Builder { private @Nullable LinuxWebAppSiteConfigAutoHealSettingTriggerRequests requests; + private @Nullable List slowRequestWithPaths; private @Nullable List slowRequests; private @Nullable List statusCodes; public Builder() {} public Builder(LinuxWebAppSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -80,6 +95,15 @@ public Builder requests(@Nullable LinuxWebAppSiteConfigAutoHealSettingTriggerReq return this; } @CustomType.Setter + public Builder slowRequestWithPaths(@Nullable List slowRequestWithPaths) { + + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter public Builder slowRequests(@Nullable List slowRequests) { this.slowRequests = slowRequests; @@ -100,6 +124,7 @@ public Builder statusCodes(LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode public LinuxWebAppSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new LinuxWebAppSiteConfigAutoHealSettingTrigger(); _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java index 9dd9ba5925..06e4242c00 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -26,7 +26,13 @@ public final class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private @Nullable String path; /** * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. @@ -52,7 +58,13 @@ public String interval() { /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional path() { return Optional.ofNullable(this.path); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..0c81317c80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path for which this slow request rule applies. + * + */ + private @Nullable String path; + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private @Nullable String path; + private String timeTaken; + public Builder() {} + public Builder(LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.java index bbbdcb178f..9762fba85d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.java index 7c4e4f10fa..eb1895eecd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTrigger.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests; import com.pulumi.azure.appservice.outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import java.util.List; @@ -20,7 +21,12 @@ public final class LinuxWebAppSlotSiteConfigAutoHealSettingTrigger { */ private @Nullable LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests requests; /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + private @Nullable List slowRequestWithPaths; + /** + * @return A `slow_request` block as defined above. * */ private @Nullable List slowRequests; @@ -39,7 +45,14 @@ public Optional request return Optional.ofNullable(this.requests); } /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths == null ? List.of() : this.slowRequestWithPaths; + } + /** + * @return A `slow_request` block as defined above. * */ public List slowRequests() { @@ -63,12 +76,14 @@ public static Builder builder(LinuxWebAppSlotSiteConfigAutoHealSettingTrigger de @CustomType.Builder public static final class Builder { private @Nullable LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests requests; + private @Nullable List slowRequestWithPaths; private @Nullable List slowRequests; private @Nullable List statusCodes; public Builder() {} public Builder(LinuxWebAppSlotSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -80,6 +95,15 @@ public Builder requests(@Nullable LinuxWebAppSlotSiteConfigAutoHealSettingTrigge return this; } @CustomType.Setter + public Builder slowRequestWithPaths(@Nullable List slowRequestWithPaths) { + + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter public Builder slowRequests(@Nullable List slowRequests) { this.slowRequests = slowRequests; @@ -100,6 +124,7 @@ public Builder statusCodes(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatus public LinuxWebAppSlotSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new LinuxWebAppSlotSiteConfigAutoHealSettingTrigger(); _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java index faf1073aa8..1800971caf 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -26,7 +26,13 @@ public final class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private @Nullable String path; /** * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. @@ -52,7 +58,13 @@ public String interval() { /** * @return The path for which this slow request rule applies. * + * > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional path() { return Optional.ofNullable(this.path); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..cc2e012d1d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path for which this slow request rule applies. + * + */ + private @Nullable String path; + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private @Nullable String path; + private String timeTaken; + public Builder() {} + public Builder(LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java index c7381709e6..22713eb80a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java index 7ebfcbb8cf..5cc1d85e5e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class WindowsFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.java index ed11b86a10..3c63047445 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class WindowsWebAppAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.java index 1731462910..b75ee6be23 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTrigger.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerRequests; import com.pulumi.azure.appservice.outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; @@ -26,7 +27,12 @@ public final class WindowsWebAppSiteConfigAutoHealSettingTrigger { */ private @Nullable WindowsWebAppSiteConfigAutoHealSettingTriggerRequests requests; /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + private @Nullable List slowRequestWithPaths; + /** + * @return A `slow_request` block as defined above. * */ private @Nullable List slowRequests; @@ -52,7 +58,14 @@ public Optional requests( return Optional.ofNullable(this.requests); } /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths == null ? List.of() : this.slowRequestWithPaths; + } + /** + * @return A `slow_request` block as defined above. * */ public List slowRequests() { @@ -77,6 +90,7 @@ public static Builder builder(WindowsWebAppSiteConfigAutoHealSettingTrigger defa public static final class Builder { private @Nullable Integer privateMemoryKb; private @Nullable WindowsWebAppSiteConfigAutoHealSettingTriggerRequests requests; + private @Nullable List slowRequestWithPaths; private @Nullable List slowRequests; private @Nullable List statusCodes; public Builder() {} @@ -84,6 +98,7 @@ public Builder(WindowsWebAppSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.privateMemoryKb = defaults.privateMemoryKb; this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -101,6 +116,15 @@ public Builder requests(@Nullable WindowsWebAppSiteConfigAutoHealSettingTriggerR return this; } @CustomType.Setter + public Builder slowRequestWithPaths(@Nullable List slowRequestWithPaths) { + + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter public Builder slowRequests(@Nullable List slowRequests) { this.slowRequests = slowRequests; @@ -122,6 +146,7 @@ public WindowsWebAppSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new WindowsWebAppSiteConfigAutoHealSettingTrigger(); _resultValue.privateMemoryKb = privateMemoryKb; _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java index e1c1fc8e82..5856c3f900 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -26,7 +26,11 @@ public final class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private @Nullable String path; /** * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. @@ -52,7 +56,11 @@ public String interval() { /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional path() { return Optional.ofNullable(this.path); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..bd261b0df5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path for which this slow request rule applies. + * + */ + private @Nullable String path; + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private @Nullable String path; + private String timeTaken; + public Builder() {} + public Builder(WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.java index bba1e3968b..3da3198feb 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2.java @@ -70,7 +70,9 @@ public final class WindowsWebAppSlotAuthSettingsV2ActiveDirectoryV2 { */ private @Nullable Map loginParameters; /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ private String tenantAuthEndpoint; @@ -156,7 +158,9 @@ public Map loginParameters() { return this.loginParameters == null ? Map.of() : this.loginParameters; } /** - * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. * */ public String tenantAuthEndpoint() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.java index beeec7fba1..186d670a3b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTrigger.java @@ -5,6 +5,7 @@ import com.pulumi.azure.appservice.outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests; import com.pulumi.azure.appservice.outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest; +import com.pulumi.azure.appservice.outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath; import com.pulumi.azure.appservice.outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; @@ -26,7 +27,12 @@ public final class WindowsWebAppSlotSiteConfigAutoHealSettingTrigger { */ private @Nullable WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests requests; /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + private @Nullable List slowRequestWithPaths; + /** + * @return A `slow_request` block as defined above. * */ private @Nullable List slowRequests; @@ -52,7 +58,14 @@ public Optional reque return Optional.ofNullable(this.requests); } /** - * @return One or more `slow_request` blocks as defined above. + * @return One or more `slow_request_with_path` blocks as defined above. + * + */ + public List slowRequestWithPaths() { + return this.slowRequestWithPaths == null ? List.of() : this.slowRequestWithPaths; + } + /** + * @return A `slow_request` block as defined above. * */ public List slowRequests() { @@ -77,6 +90,7 @@ public static Builder builder(WindowsWebAppSlotSiteConfigAutoHealSettingTrigger public static final class Builder { private @Nullable Integer privateMemoryKb; private @Nullable WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests requests; + private @Nullable List slowRequestWithPaths; private @Nullable List slowRequests; private @Nullable List statusCodes; public Builder() {} @@ -84,6 +98,7 @@ public Builder(WindowsWebAppSlotSiteConfigAutoHealSettingTrigger defaults) { Objects.requireNonNull(defaults); this.privateMemoryKb = defaults.privateMemoryKb; this.requests = defaults.requests; + this.slowRequestWithPaths = defaults.slowRequestWithPaths; this.slowRequests = defaults.slowRequests; this.statusCodes = defaults.statusCodes; } @@ -101,6 +116,15 @@ public Builder requests(@Nullable WindowsWebAppSlotSiteConfigAutoHealSettingTrig return this; } @CustomType.Setter + public Builder slowRequestWithPaths(@Nullable List slowRequestWithPaths) { + + this.slowRequestWithPaths = slowRequestWithPaths; + return this; + } + public Builder slowRequestWithPaths(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath... slowRequestWithPaths) { + return slowRequestWithPaths(List.of(slowRequestWithPaths)); + } + @CustomType.Setter public Builder slowRequests(@Nullable List slowRequests) { this.slowRequests = slowRequests; @@ -122,6 +146,7 @@ public WindowsWebAppSlotSiteConfigAutoHealSettingTrigger build() { final var _resultValue = new WindowsWebAppSlotSiteConfigAutoHealSettingTrigger(); _resultValue.privateMemoryKb = privateMemoryKb; _resultValue.requests = requests; + _resultValue.slowRequestWithPaths = slowRequestWithPaths; _resultValue.slowRequests = slowRequests; _resultValue.statusCodes = statusCodes; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java index c48c511308..2551606fed 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.java @@ -26,7 +26,11 @@ public final class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ private @Nullable String path; /** * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. @@ -52,7 +56,11 @@ public String interval() { /** * @return The path for which this slow request rule applies. * + * @deprecated + * `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. + * */ + @Deprecated /* `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider. */ public Optional path() { return Optional.ofNullable(this.path); } diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java new file mode 100644 index 0000000000..af4329554d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.java @@ -0,0 +1,128 @@ +// *** 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.azure.appservice.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 WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + private Integer count; + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + private String interval; + /** + * @return The path for which this slow request rule applies. + * + */ + private @Nullable String path; + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + private String timeTaken; + + private WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath() {} + /** + * @return The number of Slow Requests in the time `interval` to trigger this rule. + * + */ + public Integer count() { + return this.count; + } + /** + * @return The time interval in the form `hh:mm:ss`. + * + */ + public String interval() { + return this.interval; + } + /** + * @return The path for which this slow request rule applies. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + * + */ + public String timeTaken() { + return this.timeTaken; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String interval; + private @Nullable String path; + private String timeTaken; + public Builder() {} + public Builder(WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + this.path = defaults.path; + this.timeTaken = defaults.timeTaken; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(String interval) { + if (interval == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "interval"); + } + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder timeTaken(String timeTaken) { + if (timeTaken == null) { + throw new MissingRequiredPropertyException("WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath", "timeTaken"); + } + this.timeTaken = timeTaken; + return this; + } + public WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath build() { + final var _resultValue = new WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath(); + _resultValue.count = count; + _resultValue.interval = interval; + _resultValue.path = path; + _resultValue.timeTaken = timeTaken; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignment.java b/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignment.java new file mode 100644 index 0000000000..14a3bbfcdd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignment.java @@ -0,0 +1,215 @@ +// *** 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.azure.compute; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.compute.AutomanageConfigurationAssignmentArgs; +import com.pulumi.azure.compute.inputs.AutomanageConfigurationAssignmentState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Manages a Virtual Machine Automanage Configuration Profile Assignment. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.network.VirtualNetwork;
+ * import com.pulumi.azure.network.VirtualNetworkArgs;
+ * import com.pulumi.azure.network.Subnet;
+ * import com.pulumi.azure.network.SubnetArgs;
+ * import com.pulumi.azure.network.NetworkInterface;
+ * import com.pulumi.azure.network.NetworkInterfaceArgs;
+ * import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
+ * import com.pulumi.azure.compute.LinuxVirtualMachine;
+ * import com.pulumi.azure.compute.LinuxVirtualMachineArgs;
+ * import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;
+ * import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;
+ * import com.pulumi.azure.automanage.Configuration;
+ * import com.pulumi.azure.automanage.ConfigurationArgs;
+ * import com.pulumi.azure.compute.AutomanageConfigurationAssignment;
+ * import com.pulumi.azure.compute.AutomanageConfigurationAssignmentArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
+ *             .name("example-rg")
+ *             .location("westus")
+ *             .build());
+ * 
+ *         var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
+ *             .name("examplevnet")
+ *             .addressSpaces("10.0.0.0/16")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .build());
+ * 
+ *         var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
+ *             .name("internal")
+ *             .resourceGroupName(example.name())
+ *             .virtualNetworkName(exampleVirtualNetwork.name())
+ *             .addressPrefixes("10.0.2.0/24")
+ *             .build());
+ * 
+ *         var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()        
+ *             .name("exampleni")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
+ *                 .name("internal")
+ *                 .subnetId(exampleSubnet.id())
+ *                 .privateIpAddressAllocation("Dynamic")
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleLinuxVirtualMachine = new LinuxVirtualMachine("exampleLinuxVirtualMachine", LinuxVirtualMachineArgs.builder()        
+ *             .name("examplevm")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .size("Standard_F2")
+ *             .adminUsername("adminuser")
+ *             .adminPassword("P{@literal @}$$w0rd1234!")
+ *             .disablePasswordAuthentication(false)
+ *             .networkInterfaceIds(exampleNetworkInterface.id())
+ *             .osDisk(LinuxVirtualMachineOsDiskArgs.builder()
+ *                 .caching("ReadWrite")
+ *                 .storageAccountType("Standard_LRS")
+ *                 .build())
+ *             .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()
+ *                 .publisher("Canonical")
+ *                 .offer("0001-com-ubuntu-server-jammy")
+ *                 .sku("22_04-lts")
+ *                 .version("latest")
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleConfiguration = new Configuration("exampleConfiguration", ConfigurationArgs.builder()        
+ *             .name("exampleconfig")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .build());
+ * 
+ *         var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment("exampleAutomanageConfigurationAssignment", AutomanageConfigurationAssignmentArgs.builder()        
+ *             .virtualMachineId(exampleLinuxVirtualMachine.id())
+ *             .configurationId(exampleConfiguration.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default + * ``` + * + */ +@ResourceType(type="azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment") +public class AutomanageConfigurationAssignment extends com.pulumi.resources.CustomResource { + /** + * The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + */ + @Export(name="configurationId", refs={String.class}, tree="[0]") + private Output configurationId; + + /** + * @return The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Output configurationId() { + return this.configurationId; + } + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + @Export(name="virtualMachineId", refs={String.class}, tree="[0]") + private Output virtualMachineId; + + /** + * @return The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + public Output virtualMachineId() { + return this.virtualMachineId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AutomanageConfigurationAssignment(String name) { + this(name, AutomanageConfigurationAssignmentArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AutomanageConfigurationAssignment(String name, AutomanageConfigurationAssignmentArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public AutomanageConfigurationAssignment(String name, AutomanageConfigurationAssignmentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, args == null ? AutomanageConfigurationAssignmentArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AutomanageConfigurationAssignment(String name, Output id, @Nullable AutomanageConfigurationAssignmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AutomanageConfigurationAssignment get(String name, Output id, @Nullable AutomanageConfigurationAssignmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AutomanageConfigurationAssignment(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignmentArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignmentArgs.java new file mode 100644 index 0000000000..92a07dccc2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/AutomanageConfigurationAssignmentArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.compute; + +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 AutomanageConfigurationAssignmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final AutomanageConfigurationAssignmentArgs Empty = new AutomanageConfigurationAssignmentArgs(); + + /** + * The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + */ + @Import(name="configurationId", required=true) + private Output configurationId; + + /** + * @return The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Output configurationId() { + return this.configurationId; + } + + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + @Import(name="virtualMachineId", required=true) + private Output virtualMachineId; + + /** + * @return The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + public Output virtualMachineId() { + return this.virtualMachineId; + } + + private AutomanageConfigurationAssignmentArgs() {} + + private AutomanageConfigurationAssignmentArgs(AutomanageConfigurationAssignmentArgs $) { + this.configurationId = $.configurationId; + this.virtualMachineId = $.virtualMachineId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AutomanageConfigurationAssignmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AutomanageConfigurationAssignmentArgs $; + + public Builder() { + $ = new AutomanageConfigurationAssignmentArgs(); + } + + public Builder(AutomanageConfigurationAssignmentArgs defaults) { + $ = new AutomanageConfigurationAssignmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationId The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationId(Output configurationId) { + $.configurationId = configurationId; + return this; + } + + /** + * @param configurationId The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationId(String configurationId) { + return configurationId(Output.of(configurationId)); + } + + /** + * @param virtualMachineId The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(Output virtualMachineId) { + $.virtualMachineId = virtualMachineId; + return this; + } + + /** + * @param virtualMachineId The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(String virtualMachineId) { + return virtualMachineId(Output.of(virtualMachineId)); + } + + public AutomanageConfigurationAssignmentArgs build() { + if ($.configurationId == null) { + throw new MissingRequiredPropertyException("AutomanageConfigurationAssignmentArgs", "configurationId"); + } + if ($.virtualMachineId == null) { + throw new MissingRequiredPropertyException("AutomanageConfigurationAssignmentArgs", "virtualMachineId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHost.java b/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHost.java index 4a33af058c..41f749a139 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHost.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHost.java @@ -190,6 +190,24 @@ public Output ipConfiguration() { public Output> ipConnectEnabled() { return Codegen.optional(this.ipConnectEnabled); } + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + @Export(name="kerberosEnabled", refs={Boolean.class}, tree="[0]") + private Output kerberosEnabled; + + /** + * @return Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + public Output> kerberosEnabled() { + return Codegen.optional(this.kerberosEnabled); + } /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHostArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHostArgs.java index 6b51c39ed2..0f0558b4c3 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHostArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/BastionHostArgs.java @@ -88,6 +88,25 @@ public Optional> ipConnectEnabled() { return Optional.ofNullable(this.ipConnectEnabled); } + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + @Import(name="kerberosEnabled") + private @Nullable Output kerberosEnabled; + + /** + * @return Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + public Optional> kerberosEnabled() { + return Optional.ofNullable(this.kerberosEnabled); + } + /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. * @@ -231,6 +250,7 @@ private BastionHostArgs(BastionHostArgs $) { this.fileCopyEnabled = $.fileCopyEnabled; this.ipConfiguration = $.ipConfiguration; this.ipConnectEnabled = $.ipConnectEnabled; + this.kerberosEnabled = $.kerberosEnabled; this.location = $.location; this.name = $.name; this.resourceGroupName = $.resourceGroupName; @@ -351,6 +371,31 @@ public Builder ipConnectEnabled(Boolean ipConnectEnabled) { return ipConnectEnabled(Output.of(ipConnectEnabled)); } + /** + * @param kerberosEnabled Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + * @return builder + * + */ + public Builder kerberosEnabled(@Nullable Output kerberosEnabled) { + $.kerberosEnabled = kerberosEnabled; + return this; + } + + /** + * @param kerberosEnabled Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + * @return builder + * + */ + public Builder kerberosEnabled(Boolean kerberosEnabled) { + return kerberosEnabled(Output.of(kerberosEnabled)); + } + /** * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignment.java b/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignment.java new file mode 100644 index 0000000000..efece89c5d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignment.java @@ -0,0 +1,269 @@ +// *** 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.azure.compute; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.compute.GalleryApplicationAssignmentArgs; +import com.pulumi.azure.compute.inputs.GalleryApplicationAssignmentState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Virtual Machine Gallery Application Assignment. + * + * > **Note:** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignore_changes` for the `gallery_application` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.compute.ComputeFunctions;
+ * import com.pulumi.azure.compute.inputs.GetVirtualMachineArgs;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.compute.SharedImageGallery;
+ * import com.pulumi.azure.compute.SharedImageGalleryArgs;
+ * import com.pulumi.azure.compute.GalleryApplication;
+ * import com.pulumi.azure.compute.GalleryApplicationArgs;
+ * import com.pulumi.azure.storage.Account;
+ * import com.pulumi.azure.storage.AccountArgs;
+ * import com.pulumi.azure.storage.Container;
+ * import com.pulumi.azure.storage.ContainerArgs;
+ * import com.pulumi.azure.storage.Blob;
+ * import com.pulumi.azure.storage.BlobArgs;
+ * import com.pulumi.azure.compute.GalleryApplicationVersion;
+ * import com.pulumi.azure.compute.GalleryApplicationVersionArgs;
+ * import com.pulumi.azure.compute.inputs.GalleryApplicationVersionManageActionArgs;
+ * import com.pulumi.azure.compute.inputs.GalleryApplicationVersionSourceArgs;
+ * import com.pulumi.azure.compute.inputs.GalleryApplicationVersionTargetRegionArgs;
+ * import com.pulumi.azure.compute.GalleryApplicationAssignment;
+ * import com.pulumi.azure.compute.GalleryApplicationAssignmentArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var example = ComputeFunctions.getVirtualMachine(GetVirtualMachineArgs.builder()
+ *             .name("example-vm")
+ *             .resourceGroupName("example-resources-vm")
+ *             .build());
+ * 
+ *         var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
+ *             .name("example-resources")
+ *             .location("West Europe")
+ *             .build());
+ * 
+ *         var exampleSharedImageGallery = new SharedImageGallery("exampleSharedImageGallery", SharedImageGalleryArgs.builder()        
+ *             .name("examplegallery")
+ *             .resourceGroupName(exampleResourceGroup.name())
+ *             .location(exampleResourceGroup.location())
+ *             .build());
+ * 
+ *         var exampleGalleryApplication = new GalleryApplication("exampleGalleryApplication", GalleryApplicationArgs.builder()        
+ *             .name("example-app")
+ *             .galleryId(exampleSharedImageGallery.id())
+ *             .location(exampleResourceGroup.location())
+ *             .supportedOsType("Linux")
+ *             .build());
+ * 
+ *         var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
+ *             .name("examplestorage")
+ *             .resourceGroupName(exampleResourceGroup.name())
+ *             .location(exampleResourceGroup.location())
+ *             .accountTier("Standard")
+ *             .accountReplicationType("LRS")
+ *             .build());
+ * 
+ *         var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()        
+ *             .name("example-container")
+ *             .storageAccountName(exampleAccount.name())
+ *             .containerAccessType("blob")
+ *             .build());
+ * 
+ *         var exampleBlob = new Blob("exampleBlob", BlobArgs.builder()        
+ *             .name("scripts")
+ *             .storageAccountName(exampleAccount.name())
+ *             .storageContainerName(exampleContainer.name())
+ *             .type("Block")
+ *             .sourceContent("[scripts file content]")
+ *             .build());
+ * 
+ *         var exampleGalleryApplicationVersion = new GalleryApplicationVersion("exampleGalleryApplicationVersion", GalleryApplicationVersionArgs.builder()        
+ *             .name("0.0.1")
+ *             .galleryApplicationId(exampleGalleryApplication.id())
+ *             .location(exampleGalleryApplication.location())
+ *             .manageAction(GalleryApplicationVersionManageActionArgs.builder()
+ *                 .install("[install command]")
+ *                 .remove("[remove command]")
+ *                 .build())
+ *             .source(GalleryApplicationVersionSourceArgs.builder()
+ *                 .mediaLink(exampleBlob.id())
+ *                 .build())
+ *             .targetRegions(GalleryApplicationVersionTargetRegionArgs.builder()
+ *                 .name(exampleGalleryApplication.location())
+ *                 .regionalReplicaCount(1)
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleGalleryApplicationAssignment = new GalleryApplicationAssignment("exampleGalleryApplicationAssignment", GalleryApplicationAssignmentArgs.builder()        
+ *             .galleryApplicationVersionId(exampleGalleryApplicationVersion.id())
+ *             .virtualMachineId(example.applyValue(getVirtualMachineResult -> getVirtualMachineResult.id()))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 + * ``` + * + */ +@ResourceType(type="azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment") +public class GalleryApplicationAssignment extends com.pulumi.resources.CustomResource { + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + @Export(name="configurationBlobUri", refs={String.class}, tree="[0]") + private Output configurationBlobUri; + + /** + * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + public Output> configurationBlobUri() { + return Codegen.optional(this.configurationBlobUri); + } + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + @Export(name="galleryApplicationVersionId", refs={String.class}, tree="[0]") + private Output galleryApplicationVersionId; + + /** + * @return The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + public Output galleryApplicationVersionId() { + return this.galleryApplicationVersionId; + } + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + @Export(name="order", refs={Integer.class}, tree="[0]") + private Output order; + + /** + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + public Output> order() { + return Codegen.optional(this.order); + } + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + @Export(name="tag", refs={String.class}, tree="[0]") + private Output tag; + + /** + * @return Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + public Output> tag() { + return Codegen.optional(this.tag); + } + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + @Export(name="virtualMachineId", refs={String.class}, tree="[0]") + private Output virtualMachineId; + + /** + * @return The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Output virtualMachineId() { + return this.virtualMachineId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public GalleryApplicationAssignment(String name) { + this(name, GalleryApplicationAssignmentArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public GalleryApplicationAssignment(String name, GalleryApplicationAssignmentArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public GalleryApplicationAssignment(String name, GalleryApplicationAssignmentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, args == null ? GalleryApplicationAssignmentArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private GalleryApplicationAssignment(String name, Output id, @Nullable GalleryApplicationAssignmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static GalleryApplicationAssignment get(String name, Output id, @Nullable GalleryApplicationAssignmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new GalleryApplicationAssignment(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignmentArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignmentArgs.java new file mode 100644 index 0000000000..b22710f162 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/GalleryApplicationAssignmentArgs.java @@ -0,0 +1,239 @@ +// *** 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.azure.compute; + +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 GalleryApplicationAssignmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final GalleryApplicationAssignmentArgs Empty = new GalleryApplicationAssignmentArgs(); + + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + @Import(name="configurationBlobUri") + private @Nullable Output configurationBlobUri; + + /** + * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + public Optional> configurationBlobUri() { + return Optional.ofNullable(this.configurationBlobUri); + } + + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + @Import(name="galleryApplicationVersionId", required=true) + private Output galleryApplicationVersionId; + + /** + * @return The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + public Output galleryApplicationVersionId() { + return this.galleryApplicationVersionId; + } + + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + @Import(name="order") + private @Nullable Output order; + + /** + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + public Optional> order() { + return Optional.ofNullable(this.order); + } + + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + @Import(name="tag") + private @Nullable Output tag; + + /** + * @return Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + public Optional> tag() { + return Optional.ofNullable(this.tag); + } + + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + @Import(name="virtualMachineId", required=true) + private Output virtualMachineId; + + /** + * @return The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Output virtualMachineId() { + return this.virtualMachineId; + } + + private GalleryApplicationAssignmentArgs() {} + + private GalleryApplicationAssignmentArgs(GalleryApplicationAssignmentArgs $) { + this.configurationBlobUri = $.configurationBlobUri; + this.galleryApplicationVersionId = $.galleryApplicationVersionId; + this.order = $.order; + this.tag = $.tag; + this.virtualMachineId = $.virtualMachineId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GalleryApplicationAssignmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GalleryApplicationAssignmentArgs $; + + public Builder() { + $ = new GalleryApplicationAssignmentArgs(); + } + + public Builder(GalleryApplicationAssignmentArgs defaults) { + $ = new GalleryApplicationAssignmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationBlobUri(@Nullable Output configurationBlobUri) { + $.configurationBlobUri = configurationBlobUri; + return this; + } + + /** + * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationBlobUri(String configurationBlobUri) { + return configurationBlobUri(Output.of(configurationBlobUri)); + } + + /** + * @param galleryApplicationVersionId The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder galleryApplicationVersionId(Output galleryApplicationVersionId) { + $.galleryApplicationVersionId = galleryApplicationVersionId; + return this; + } + + /** + * @param galleryApplicationVersionId The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder galleryApplicationVersionId(String galleryApplicationVersionId) { + return galleryApplicationVersionId(Output.of(galleryApplicationVersionId)); + } + + /** + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + * @return builder + * + */ + public Builder order(@Nullable Output order) { + $.order = order; + return this; + } + + /** + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + * @return builder + * + */ + public Builder order(Integer order) { + return order(Output.of(order)); + } + + /** + * @param tag Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder tag(@Nullable Output tag) { + $.tag = tag; + return this; + } + + /** + * @param tag Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder tag(String tag) { + return tag(Output.of(tag)); + } + + /** + * @param virtualMachineId The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(Output virtualMachineId) { + $.virtualMachineId = virtualMachineId; + return this; + } + + /** + * @param virtualMachineId The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(String virtualMachineId) { + return virtualMachineId(Output.of(virtualMachineId)); + } + + public GalleryApplicationAssignmentArgs build() { + if ($.galleryApplicationVersionId == null) { + throw new MissingRequiredPropertyException("GalleryApplicationAssignmentArgs", "galleryApplicationVersionId"); + } + if ($.virtualMachineId == null) { + throw new MissingRequiredPropertyException("GalleryApplicationAssignmentArgs", "virtualMachineId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java index 4e83c05032..7f94010a99 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java @@ -455,6 +455,8 @@ public Output> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Export(name="galleryApplications", refs={List.class,LinuxVirtualMachineGalleryApplication.class}, tree="[0,1]") private Output> galleryApplications; @@ -462,6 +464,8 @@ public Output> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Output>> galleryApplications() { return Codegen.optional(this.galleryApplications); @@ -481,14 +485,14 @@ public Output> identity() { return Codegen.optional(this.identity); } /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ @Export(name="licenseType", refs={String.class}, tree="[0]") private Output licenseType; /** - * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ public Output> licenseType() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java index b59cd8ccd6..3abf3872bb 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java @@ -350,6 +350,8 @@ public Optional> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Import(name="galleryApplications") private @Nullable Output> galleryApplications; @@ -357,6 +359,8 @@ public Optional> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Optional>> galleryApplications() { return Optional.ofNullable(this.galleryApplications); @@ -378,14 +382,14 @@ public Optional> identity() { } /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ @Import(name="licenseType") private @Nullable Output licenseType; /** - * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ public Optional> licenseType() { @@ -1349,6 +1353,8 @@ public Builder extensionsTimeBudget(String extensionsTimeBudget) { /** * @param galleryApplications One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * * @return builder * */ @@ -1360,6 +1366,8 @@ public Builder galleryApplications(@Nullable Output licenseType) { } /** - * @param licenseType Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * @param licenseType Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java index 14669ec3f1..27adec4bee 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java @@ -432,6 +432,8 @@ public Output> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Export(name="galleryApplications", refs={List.class,WindowsVirtualMachineGalleryApplication.class}, tree="[0,1]") private Output> galleryApplications; @@ -439,6 +441,8 @@ public Output> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Output>> galleryApplications() { return Codegen.optional(this.galleryApplications); diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java index 9334c52fe0..80d670a200 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java @@ -333,6 +333,8 @@ public Optional> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Import(name="galleryApplications") private @Nullable Output> galleryApplications; @@ -340,6 +342,8 @@ public Optional> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Optional>> galleryApplications() { return Optional.ofNullable(this.galleryApplications); @@ -1364,6 +1368,8 @@ public Builder extensionsTimeBudget(String extensionsTimeBudget) { /** * @param galleryApplications One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * * @return builder * */ @@ -1375,6 +1381,8 @@ public Builder galleryApplications(@Nullable Output configurationId; + + /** + * @return The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Optional> configurationId() { + return Optional.ofNullable(this.configurationId); + } + + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + @Import(name="virtualMachineId") + private @Nullable Output virtualMachineId; + + /** + * @return The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + */ + public Optional> virtualMachineId() { + return Optional.ofNullable(this.virtualMachineId); + } + + private AutomanageConfigurationAssignmentState() {} + + private AutomanageConfigurationAssignmentState(AutomanageConfigurationAssignmentState $) { + this.configurationId = $.configurationId; + this.virtualMachineId = $.virtualMachineId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AutomanageConfigurationAssignmentState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AutomanageConfigurationAssignmentState $; + + public Builder() { + $ = new AutomanageConfigurationAssignmentState(); + } + + public Builder(AutomanageConfigurationAssignmentState defaults) { + $ = new AutomanageConfigurationAssignmentState(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationId The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationId(@Nullable Output configurationId) { + $.configurationId = configurationId; + return this; + } + + /** + * @param configurationId The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationId(String configurationId) { + return configurationId(Output.of(configurationId)); + } + + /** + * @param virtualMachineId The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(@Nullable Output virtualMachineId) { + $.virtualMachineId = virtualMachineId; + return this; + } + + /** + * @param virtualMachineId The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(String virtualMachineId) { + return virtualMachineId(Output.of(virtualMachineId)); + } + + public AutomanageConfigurationAssignmentState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/BastionHostState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/BastionHostState.java index 8f6b63b7a0..52f5612d92 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/BastionHostState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/BastionHostState.java @@ -102,6 +102,25 @@ public Optional> ipConnectEnabled() { return Optional.ofNullable(this.ipConnectEnabled); } + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + @Import(name="kerberosEnabled") + private @Nullable Output kerberosEnabled; + + /** + * @return Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + */ + public Optional> kerberosEnabled() { + return Optional.ofNullable(this.kerberosEnabled); + } + /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. * @@ -246,6 +265,7 @@ private BastionHostState(BastionHostState $) { this.fileCopyEnabled = $.fileCopyEnabled; this.ipConfiguration = $.ipConfiguration; this.ipConnectEnabled = $.ipConnectEnabled; + this.kerberosEnabled = $.kerberosEnabled; this.location = $.location; this.name = $.name; this.resourceGroupName = $.resourceGroupName; @@ -387,6 +407,31 @@ public Builder ipConnectEnabled(Boolean ipConnectEnabled) { return ipConnectEnabled(Output.of(ipConnectEnabled)); } + /** + * @param kerberosEnabled Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + * @return builder + * + */ + public Builder kerberosEnabled(@Nullable Output kerberosEnabled) { + $.kerberosEnabled = kerberosEnabled; + return this; + } + + /** + * @param kerberosEnabled Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + * + * @return builder + * + */ + public Builder kerberosEnabled(Boolean kerberosEnabled) { + return kerberosEnabled(Output.of(kerberosEnabled)); + } + /** * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/GalleryApplicationAssignmentState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/GalleryApplicationAssignmentState.java new file mode 100644 index 0000000000..406a127a8f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/GalleryApplicationAssignmentState.java @@ -0,0 +1,232 @@ +// *** 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.azure.compute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GalleryApplicationAssignmentState extends com.pulumi.resources.ResourceArgs { + + public static final GalleryApplicationAssignmentState Empty = new GalleryApplicationAssignmentState(); + + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + @Import(name="configurationBlobUri") + private @Nullable Output configurationBlobUri; + + /** + * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + */ + public Optional> configurationBlobUri() { + return Optional.ofNullable(this.configurationBlobUri); + } + + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + @Import(name="galleryApplicationVersionId") + private @Nullable Output galleryApplicationVersionId; + + /** + * @return The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + */ + public Optional> galleryApplicationVersionId() { + return Optional.ofNullable(this.galleryApplicationVersionId); + } + + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + @Import(name="order") + private @Nullable Output order; + + /** + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + */ + public Optional> order() { + return Optional.ofNullable(this.order); + } + + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + @Import(name="tag") + private @Nullable Output tag; + + /** + * @return Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + */ + public Optional> tag() { + return Optional.ofNullable(this.tag); + } + + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + @Import(name="virtualMachineId") + private @Nullable Output virtualMachineId; + + /** + * @return The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + */ + public Optional> virtualMachineId() { + return Optional.ofNullable(this.virtualMachineId); + } + + private GalleryApplicationAssignmentState() {} + + private GalleryApplicationAssignmentState(GalleryApplicationAssignmentState $) { + this.configurationBlobUri = $.configurationBlobUri; + this.galleryApplicationVersionId = $.galleryApplicationVersionId; + this.order = $.order; + this.tag = $.tag; + this.virtualMachineId = $.virtualMachineId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GalleryApplicationAssignmentState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GalleryApplicationAssignmentState $; + + public Builder() { + $ = new GalleryApplicationAssignmentState(); + } + + public Builder(GalleryApplicationAssignmentState defaults) { + $ = new GalleryApplicationAssignmentState(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationBlobUri(@Nullable Output configurationBlobUri) { + $.configurationBlobUri = configurationBlobUri; + return this; + } + + /** + * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder configurationBlobUri(String configurationBlobUri) { + return configurationBlobUri(Output.of(configurationBlobUri)); + } + + /** + * @param galleryApplicationVersionId The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder galleryApplicationVersionId(@Nullable Output galleryApplicationVersionId) { + $.galleryApplicationVersionId = galleryApplicationVersionId; + return this; + } + + /** + * @param galleryApplicationVersionId The ID of the Gallery Application Version. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder galleryApplicationVersionId(String galleryApplicationVersionId) { + return galleryApplicationVersionId(Output.of(galleryApplicationVersionId)); + } + + /** + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + * @return builder + * + */ + public Builder order(@Nullable Output order) { + $.order = order; + return this; + } + + /** + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + * + * @return builder + * + */ + public Builder order(Integer order) { + return order(Output.of(order)); + } + + /** + * @param tag Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder tag(@Nullable Output tag) { + $.tag = tag; + return this; + } + + /** + * @param tag Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder tag(String tag) { + return tag(Output.of(tag)); + } + + /** + * @param virtualMachineId The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(@Nullable Output virtualMachineId) { + $.virtualMachineId = virtualMachineId; + return this; + } + + /** + * @param virtualMachineId The ID of the Virtual Machine. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder virtualMachineId(String virtualMachineId) { + return virtualMachineId(Output.of(virtualMachineId)); + } + + public GalleryApplicationAssignmentState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.java index abbc276ce8..f1a05317c5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineAdditionalCapabilitiesArgs.java @@ -15,6 +15,21 @@ public final class LinuxVirtualMachineAdditionalCapabilitiesArgs extends com.pul public static final LinuxVirtualMachineAdditionalCapabilitiesArgs Empty = new LinuxVirtualMachineAdditionalCapabilitiesArgs(); + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + * + */ + @Import(name="hibernationEnabled") + private @Nullable Output hibernationEnabled; + + /** + * @return Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + * + */ + public Optional> hibernationEnabled() { + return Optional.ofNullable(this.hibernationEnabled); + } + /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * @@ -33,6 +48,7 @@ public Optional> ultraSsdEnabled() { private LinuxVirtualMachineAdditionalCapabilitiesArgs() {} private LinuxVirtualMachineAdditionalCapabilitiesArgs(LinuxVirtualMachineAdditionalCapabilitiesArgs $) { + this.hibernationEnabled = $.hibernationEnabled; this.ultraSsdEnabled = $.ultraSsdEnabled; } @@ -54,6 +70,27 @@ public Builder(LinuxVirtualMachineAdditionalCapabilitiesArgs defaults) { $ = new LinuxVirtualMachineAdditionalCapabilitiesArgs(Objects.requireNonNull(defaults)); } + /** + * @param hibernationEnabled Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + * + * @return builder + * + */ + public Builder hibernationEnabled(@Nullable Output hibernationEnabled) { + $.hibernationEnabled = hibernationEnabled; + return this; + } + + /** + * @param hibernationEnabled Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + * + * @return builder + * + */ + public Builder hibernationEnabled(Boolean hibernationEnabled) { + return hibernationEnabled(Output.of(hibernationEnabled)); + } + /** * @param ultraSsdEnabled Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java index 3ac8187025..b57f8649df 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java @@ -49,14 +49,14 @@ public Optional> configurationBlobUri() { } /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ @Import(name="order") private @Nullable Output order; /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ public Optional> order() { @@ -180,7 +180,7 @@ public Builder configurationBlobUri(String configurationBlobUri) { } /** - * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * * @return builder * @@ -191,7 +191,7 @@ public Builder order(@Nullable Output order) { } /** - * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.java index 8838c27f93..6c2bc24e31 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.java @@ -78,6 +78,25 @@ public Output maxUnhealthyUpgradedInstancePercent() { return this.maxUnhealthyUpgradedInstancePercent; } + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + @Import(name="maximumSurgeInstancesEnabled") + private @Nullable Output maximumSurgeInstancesEnabled; + + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + public Optional> maximumSurgeInstancesEnabled() { + return Optional.ofNullable(this.maximumSurgeInstancesEnabled); + } + /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -115,6 +134,7 @@ private LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs(LinuxVirtualMachineS this.maxBatchInstancePercent = $.maxBatchInstancePercent; this.maxUnhealthyInstancePercent = $.maxUnhealthyInstancePercent; this.maxUnhealthyUpgradedInstancePercent = $.maxUnhealthyUpgradedInstancePercent; + this.maximumSurgeInstancesEnabled = $.maximumSurgeInstancesEnabled; this.pauseTimeBetweenBatches = $.pauseTimeBetweenBatches; this.prioritizeUnhealthyInstancesEnabled = $.prioritizeUnhealthyInstancesEnabled; } @@ -221,6 +241,31 @@ public Builder maxUnhealthyUpgradedInstancePercent(Integer maxUnhealthyUpgradedI return maxUnhealthyUpgradedInstancePercent(Output.of(maxUnhealthyUpgradedInstancePercent)); } + /** + * @param maximumSurgeInstancesEnabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + * @return builder + * + */ + public Builder maximumSurgeInstancesEnabled(@Nullable Output maximumSurgeInstancesEnabled) { + $.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; + return this; + } + + /** + * @param maximumSurgeInstancesEnabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + * @return builder + * + */ + public Builder maximumSurgeInstancesEnabled(Boolean maximumSurgeInstancesEnabled) { + return maximumSurgeInstancesEnabled(Output.of(maximumSurgeInstancesEnabled)); + } + /** * @param pauseTimeBetweenBatches The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java index 2e7c708582..ae9260fd88 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java @@ -349,6 +349,8 @@ public Optional> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Import(name="galleryApplications") private @Nullable Output> galleryApplications; @@ -356,6 +358,8 @@ public Optional> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Optional>> galleryApplications() { return Optional.ofNullable(this.galleryApplications); @@ -377,14 +381,14 @@ public Optional> identity() { } /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ @Import(name="licenseType") private @Nullable Output licenseType; /** - * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * @return Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * */ public Optional> licenseType() { @@ -1428,6 +1432,8 @@ public Builder extensionsTimeBudget(String extensionsTimeBudget) { /** * @param galleryApplications One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. + * * @return builder * */ @@ -1439,6 +1445,8 @@ public Builder galleryApplications(@Nullable Output licenseType) { } /** - * @param licenseType Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * @param licenseType Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.java index 6f70a49c60..7d9a08a9c5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineAdditionalCapabilitiesArgs.java @@ -15,6 +15,21 @@ public final class WindowsVirtualMachineAdditionalCapabilitiesArgs extends com.p public static final WindowsVirtualMachineAdditionalCapabilitiesArgs Empty = new WindowsVirtualMachineAdditionalCapabilitiesArgs(); + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + */ + @Import(name="hibernationEnabled") + private @Nullable Output hibernationEnabled; + + /** + * @return Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + */ + public Optional> hibernationEnabled() { + return Optional.ofNullable(this.hibernationEnabled); + } + /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * @@ -33,6 +48,7 @@ public Optional> ultraSsdEnabled() { private WindowsVirtualMachineAdditionalCapabilitiesArgs() {} private WindowsVirtualMachineAdditionalCapabilitiesArgs(WindowsVirtualMachineAdditionalCapabilitiesArgs $) { + this.hibernationEnabled = $.hibernationEnabled; this.ultraSsdEnabled = $.ultraSsdEnabled; } @@ -54,6 +70,27 @@ public Builder(WindowsVirtualMachineAdditionalCapabilitiesArgs defaults) { $ = new WindowsVirtualMachineAdditionalCapabilitiesArgs(Objects.requireNonNull(defaults)); } + /** + * @param hibernationEnabled Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + * @return builder + * + */ + public Builder hibernationEnabled(@Nullable Output hibernationEnabled) { + $.hibernationEnabled = hibernationEnabled; + return this; + } + + /** + * @param hibernationEnabled Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + * @return builder + * + */ + public Builder hibernationEnabled(Boolean hibernationEnabled) { + return hibernationEnabled(Output.of(hibernationEnabled)); + } + /** * @param ultraSsdEnabled Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java index e92c6c9942..bd1afd1dd6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java @@ -49,14 +49,14 @@ public Optional> configurationBlobUri() { } /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ @Import(name="order") private @Nullable Output order; /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ public Optional> order() { @@ -180,7 +180,7 @@ public Builder configurationBlobUri(String configurationBlobUri) { } /** - * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * * @return builder * @@ -191,7 +191,7 @@ public Builder order(@Nullable Output order) { } /** - * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @param order Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.java index 13ea2a2a39..03c97c1c3d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.java @@ -78,6 +78,25 @@ public Output maxUnhealthyUpgradedInstancePercent() { return this.maxUnhealthyUpgradedInstancePercent; } + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + @Import(name="maximumSurgeInstancesEnabled") + private @Nullable Output maximumSurgeInstancesEnabled; + + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + public Optional> maximumSurgeInstancesEnabled() { + return Optional.ofNullable(this.maximumSurgeInstancesEnabled); + } + /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -115,6 +134,7 @@ private WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs(WindowsVirtualMach this.maxBatchInstancePercent = $.maxBatchInstancePercent; this.maxUnhealthyInstancePercent = $.maxUnhealthyInstancePercent; this.maxUnhealthyUpgradedInstancePercent = $.maxUnhealthyUpgradedInstancePercent; + this.maximumSurgeInstancesEnabled = $.maximumSurgeInstancesEnabled; this.pauseTimeBetweenBatches = $.pauseTimeBetweenBatches; this.prioritizeUnhealthyInstancesEnabled = $.prioritizeUnhealthyInstancesEnabled; } @@ -221,6 +241,31 @@ public Builder maxUnhealthyUpgradedInstancePercent(Integer maxUnhealthyUpgradedI return maxUnhealthyUpgradedInstancePercent(Output.of(maxUnhealthyUpgradedInstancePercent)); } + /** + * @param maximumSurgeInstancesEnabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + * @return builder + * + */ + public Builder maximumSurgeInstancesEnabled(@Nullable Output maximumSurgeInstancesEnabled) { + $.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; + return this; + } + + /** + * @param maximumSurgeInstancesEnabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + * @return builder + * + */ + public Builder maximumSurgeInstancesEnabled(Boolean maximumSurgeInstancesEnabled) { + return maximumSurgeInstancesEnabled(Output.of(maximumSurgeInstancesEnabled)); + } + /** * @param pauseTimeBetweenBatches The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java index 7de3981f0e..bbbe5981ec 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java @@ -332,6 +332,8 @@ public Optional> extensionsTimeBudget() { /** * One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ @Import(name="galleryApplications") private @Nullable Output> galleryApplications; @@ -339,6 +341,8 @@ public Optional> extensionsTimeBudget() { /** * @return One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * */ public Optional>> galleryApplications() { return Optional.ofNullable(this.galleryApplications); @@ -1443,6 +1447,8 @@ public Builder extensionsTimeBudget(String extensionsTimeBudget) { /** * @param galleryApplications One or more `gallery_application` blocks as defined below. * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. + * * @return builder * */ @@ -1454,6 +1460,8 @@ public Builder galleryApplications(@Nullable Output hibernationEnabled() { + return Optional.ofNullable(this.hibernationEnabled); + } /** * @return Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * @@ -35,13 +47,21 @@ public static Builder builder(LinuxVirtualMachineAdditionalCapabilities defaults } @CustomType.Builder public static final class Builder { + private @Nullable Boolean hibernationEnabled; private @Nullable Boolean ultraSsdEnabled; public Builder() {} public Builder(LinuxVirtualMachineAdditionalCapabilities defaults) { Objects.requireNonNull(defaults); + this.hibernationEnabled = defaults.hibernationEnabled; this.ultraSsdEnabled = defaults.ultraSsdEnabled; } + @CustomType.Setter + public Builder hibernationEnabled(@Nullable Boolean hibernationEnabled) { + + this.hibernationEnabled = hibernationEnabled; + return this; + } @CustomType.Setter public Builder ultraSsdEnabled(@Nullable Boolean ultraSsdEnabled) { @@ -50,6 +70,7 @@ public Builder ultraSsdEnabled(@Nullable Boolean ultraSsdEnabled) { } public LinuxVirtualMachineAdditionalCapabilities build() { final var _resultValue = new LinuxVirtualMachineAdditionalCapabilities(); + _resultValue.hibernationEnabled = hibernationEnabled; _resultValue.ultraSsdEnabled = ultraSsdEnabled; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java index ee396238b6..ba1f11a126 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java @@ -25,7 +25,7 @@ public final class LinuxVirtualMachineGalleryApplication { */ private @Nullable String configurationBlobUri; /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ private @Nullable Integer order; @@ -61,7 +61,7 @@ public Optional configurationBlobUri() { return Optional.ofNullable(this.configurationBlobUri); } /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ public Optional order() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.java index 45f6e01f30..89dfe50f31 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineScaleSetRollingUpgradePolicy.java @@ -34,6 +34,13 @@ public final class LinuxVirtualMachineScaleSetRollingUpgradePolicy { * */ private Integer maxUnhealthyUpgradedInstancePercent; + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + private @Nullable Boolean maximumSurgeInstancesEnabled; /** * @return The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -74,6 +81,15 @@ public Integer maxUnhealthyInstancePercent() { public Integer maxUnhealthyUpgradedInstancePercent() { return this.maxUnhealthyUpgradedInstancePercent; } + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + public Optional maximumSurgeInstancesEnabled() { + return Optional.ofNullable(this.maximumSurgeInstancesEnabled); + } /** * @return The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -102,6 +118,7 @@ public static final class Builder { private Integer maxBatchInstancePercent; private Integer maxUnhealthyInstancePercent; private Integer maxUnhealthyUpgradedInstancePercent; + private @Nullable Boolean maximumSurgeInstancesEnabled; private String pauseTimeBetweenBatches; private @Nullable Boolean prioritizeUnhealthyInstancesEnabled; public Builder() {} @@ -111,6 +128,7 @@ public Builder(LinuxVirtualMachineScaleSetRollingUpgradePolicy defaults) { this.maxBatchInstancePercent = defaults.maxBatchInstancePercent; this.maxUnhealthyInstancePercent = defaults.maxUnhealthyInstancePercent; this.maxUnhealthyUpgradedInstancePercent = defaults.maxUnhealthyUpgradedInstancePercent; + this.maximumSurgeInstancesEnabled = defaults.maximumSurgeInstancesEnabled; this.pauseTimeBetweenBatches = defaults.pauseTimeBetweenBatches; this.prioritizeUnhealthyInstancesEnabled = defaults.prioritizeUnhealthyInstancesEnabled; } @@ -146,6 +164,12 @@ public Builder maxUnhealthyUpgradedInstancePercent(Integer maxUnhealthyUpgradedI return this; } @CustomType.Setter + public Builder maximumSurgeInstancesEnabled(@Nullable Boolean maximumSurgeInstancesEnabled) { + + this.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; + return this; + } + @CustomType.Setter public Builder pauseTimeBetweenBatches(String pauseTimeBetweenBatches) { if (pauseTimeBetweenBatches == null) { throw new MissingRequiredPropertyException("LinuxVirtualMachineScaleSetRollingUpgradePolicy", "pauseTimeBetweenBatches"); @@ -165,6 +189,7 @@ public LinuxVirtualMachineScaleSetRollingUpgradePolicy build() { _resultValue.maxBatchInstancePercent = maxBatchInstancePercent; _resultValue.maxUnhealthyInstancePercent = maxUnhealthyInstancePercent; _resultValue.maxUnhealthyUpgradedInstancePercent = maxUnhealthyUpgradedInstancePercent; + _resultValue.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; _resultValue.pauseTimeBetweenBatches = pauseTimeBetweenBatches; _resultValue.prioritizeUnhealthyInstancesEnabled = prioritizeUnhealthyInstancesEnabled; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineAdditionalCapabilities.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineAdditionalCapabilities.java index cac68e614b..f56b41b260 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineAdditionalCapabilities.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineAdditionalCapabilities.java @@ -11,6 +11,11 @@ @CustomType public final class WindowsVirtualMachineAdditionalCapabilities { + /** + * @return Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + */ + private @Nullable Boolean hibernationEnabled; /** * @return Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * @@ -18,6 +23,13 @@ public final class WindowsVirtualMachineAdditionalCapabilities { private @Nullable Boolean ultraSsdEnabled; private WindowsVirtualMachineAdditionalCapabilities() {} + /** + * @return Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + * + */ + public Optional hibernationEnabled() { + return Optional.ofNullable(this.hibernationEnabled); + } /** * @return Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. * @@ -35,13 +47,21 @@ public static Builder builder(WindowsVirtualMachineAdditionalCapabilities defaul } @CustomType.Builder public static final class Builder { + private @Nullable Boolean hibernationEnabled; private @Nullable Boolean ultraSsdEnabled; public Builder() {} public Builder(WindowsVirtualMachineAdditionalCapabilities defaults) { Objects.requireNonNull(defaults); + this.hibernationEnabled = defaults.hibernationEnabled; this.ultraSsdEnabled = defaults.ultraSsdEnabled; } + @CustomType.Setter + public Builder hibernationEnabled(@Nullable Boolean hibernationEnabled) { + + this.hibernationEnabled = hibernationEnabled; + return this; + } @CustomType.Setter public Builder ultraSsdEnabled(@Nullable Boolean ultraSsdEnabled) { @@ -50,6 +70,7 @@ public Builder ultraSsdEnabled(@Nullable Boolean ultraSsdEnabled) { } public WindowsVirtualMachineAdditionalCapabilities build() { final var _resultValue = new WindowsVirtualMachineAdditionalCapabilities(); + _resultValue.hibernationEnabled = hibernationEnabled; _resultValue.ultraSsdEnabled = ultraSsdEnabled; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java index c8ac29e607..8946d84af2 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java @@ -25,7 +25,7 @@ public final class WindowsVirtualMachineGalleryApplication { */ private @Nullable String configurationBlobUri; /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ private @Nullable Integer order; @@ -61,7 +61,7 @@ public Optional configurationBlobUri() { return Optional.ofNullable(this.configurationBlobUri); } /** - * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * @return Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. * */ public Optional order() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.java index 5914c43c68..3a4f611c17 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineScaleSetRollingUpgradePolicy.java @@ -34,6 +34,13 @@ public final class WindowsVirtualMachineScaleSetRollingUpgradePolicy { * */ private Integer maxUnhealthyUpgradedInstancePercent; + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + private @Nullable Boolean maximumSurgeInstancesEnabled; /** * @return The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -74,6 +81,15 @@ public Integer maxUnhealthyInstancePercent() { public Integer maxUnhealthyUpgradedInstancePercent() { return this.maxUnhealthyUpgradedInstancePercent; } + /** + * @return Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + * + */ + public Optional maximumSurgeInstancesEnabled() { + return Optional.ofNullable(this.maximumSurgeInstancesEnabled); + } /** * @return The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. * @@ -102,6 +118,7 @@ public static final class Builder { private Integer maxBatchInstancePercent; private Integer maxUnhealthyInstancePercent; private Integer maxUnhealthyUpgradedInstancePercent; + private @Nullable Boolean maximumSurgeInstancesEnabled; private String pauseTimeBetweenBatches; private @Nullable Boolean prioritizeUnhealthyInstancesEnabled; public Builder() {} @@ -111,6 +128,7 @@ public Builder(WindowsVirtualMachineScaleSetRollingUpgradePolicy defaults) { this.maxBatchInstancePercent = defaults.maxBatchInstancePercent; this.maxUnhealthyInstancePercent = defaults.maxUnhealthyInstancePercent; this.maxUnhealthyUpgradedInstancePercent = defaults.maxUnhealthyUpgradedInstancePercent; + this.maximumSurgeInstancesEnabled = defaults.maximumSurgeInstancesEnabled; this.pauseTimeBetweenBatches = defaults.pauseTimeBetweenBatches; this.prioritizeUnhealthyInstancesEnabled = defaults.prioritizeUnhealthyInstancesEnabled; } @@ -146,6 +164,12 @@ public Builder maxUnhealthyUpgradedInstancePercent(Integer maxUnhealthyUpgradedI return this; } @CustomType.Setter + public Builder maximumSurgeInstancesEnabled(@Nullable Boolean maximumSurgeInstancesEnabled) { + + this.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; + return this; + } + @CustomType.Setter public Builder pauseTimeBetweenBatches(String pauseTimeBetweenBatches) { if (pauseTimeBetweenBatches == null) { throw new MissingRequiredPropertyException("WindowsVirtualMachineScaleSetRollingUpgradePolicy", "pauseTimeBetweenBatches"); @@ -165,6 +189,7 @@ public WindowsVirtualMachineScaleSetRollingUpgradePolicy build() { _resultValue.maxBatchInstancePercent = maxBatchInstancePercent; _resultValue.maxUnhealthyInstancePercent = maxUnhealthyInstancePercent; _resultValue.maxUnhealthyUpgradedInstancePercent = maxUnhealthyUpgradedInstancePercent; + _resultValue.maximumSurgeInstancesEnabled = maximumSurgeInstancesEnabled; _resultValue.pauseTimeBetweenBatches = pauseTimeBetweenBatches; _resultValue.prioritizeUnhealthyInstancesEnabled = prioritizeUnhealthyInstancesEnabled; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/config/inputs/Features.java b/sdk/java/src/main/java/com/pulumi/azure/config/inputs/Features.java index a7434fc983..3a2bb8c44c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/config/inputs/Features.java +++ b/sdk/java/src/main/java/com/pulumi/azure/config/inputs/Features.java @@ -13,6 +13,7 @@ import com.pulumi.azure.config.outputs.FeaturesManagedDisk; import com.pulumi.azure.config.outputs.FeaturesPostgresqlFlexibleServer; import com.pulumi.azure.config.outputs.FeaturesRecoveryService; +import com.pulumi.azure.config.outputs.FeaturesRecoveryServicesVaults; import com.pulumi.azure.config.outputs.FeaturesResourceGroup; import com.pulumi.azure.config.outputs.FeaturesSubscription; import com.pulumi.azure.config.outputs.FeaturesTemplateDeployment; @@ -35,6 +36,7 @@ public final class Features { private @Nullable FeaturesManagedDisk managedDisk; private @Nullable FeaturesPostgresqlFlexibleServer postgresqlFlexibleServer; private @Nullable FeaturesRecoveryService recoveryService; + private @Nullable FeaturesRecoveryServicesVaults recoveryServicesVaults; private @Nullable FeaturesResourceGroup resourceGroup; private @Nullable FeaturesSubscription subscription; private @Nullable FeaturesTemplateDeployment templateDeployment; @@ -72,6 +74,9 @@ public Optional postgresqlFlexibleServer() { public Optional recoveryService() { return Optional.ofNullable(this.recoveryService); } + public Optional recoveryServicesVaults() { + return Optional.ofNullable(this.recoveryServicesVaults); + } public Optional resourceGroup() { return Optional.ofNullable(this.resourceGroup); } @@ -107,6 +112,7 @@ public static final class Builder { private @Nullable FeaturesManagedDisk managedDisk; private @Nullable FeaturesPostgresqlFlexibleServer postgresqlFlexibleServer; private @Nullable FeaturesRecoveryService recoveryService; + private @Nullable FeaturesRecoveryServicesVaults recoveryServicesVaults; private @Nullable FeaturesResourceGroup resourceGroup; private @Nullable FeaturesSubscription subscription; private @Nullable FeaturesTemplateDeployment templateDeployment; @@ -125,6 +131,7 @@ public Builder(Features defaults) { this.managedDisk = defaults.managedDisk; this.postgresqlFlexibleServer = defaults.postgresqlFlexibleServer; this.recoveryService = defaults.recoveryService; + this.recoveryServicesVaults = defaults.recoveryServicesVaults; this.resourceGroup = defaults.resourceGroup; this.subscription = defaults.subscription; this.templateDeployment = defaults.templateDeployment; @@ -193,6 +200,12 @@ public Builder recoveryService(@Nullable FeaturesRecoveryService recoveryService return this; } @CustomType.Setter + public Builder recoveryServicesVaults(@Nullable FeaturesRecoveryServicesVaults recoveryServicesVaults) { + + this.recoveryServicesVaults = recoveryServicesVaults; + return this; + } + @CustomType.Setter public Builder resourceGroup(@Nullable FeaturesResourceGroup resourceGroup) { this.resourceGroup = resourceGroup; @@ -234,6 +247,7 @@ public Features build() { _resultValue.managedDisk = managedDisk; _resultValue.postgresqlFlexibleServer = postgresqlFlexibleServer; _resultValue.recoveryService = recoveryService; + _resultValue.recoveryServicesVaults = recoveryServicesVaults; _resultValue.resourceGroup = resourceGroup; _resultValue.subscription = subscription; _resultValue.templateDeployment = templateDeployment; diff --git a/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesRecoveryServicesVaults.java b/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesRecoveryServicesVaults.java new file mode 100644 index 0000000000..0b6c28fa2c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesRecoveryServicesVaults.java @@ -0,0 +1,49 @@ +// *** 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.azure.config.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FeaturesRecoveryServicesVaults { + private @Nullable Boolean recoverSoftDeletedBackupProtectedVm; + + private FeaturesRecoveryServicesVaults() {} + public Optional recoverSoftDeletedBackupProtectedVm() { + return Optional.ofNullable(this.recoverSoftDeletedBackupProtectedVm); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FeaturesRecoveryServicesVaults defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean recoverSoftDeletedBackupProtectedVm; + public Builder() {} + public Builder(FeaturesRecoveryServicesVaults defaults) { + Objects.requireNonNull(defaults); + this.recoverSoftDeletedBackupProtectedVm = defaults.recoverSoftDeletedBackupProtectedVm; + } + + @CustomType.Setter + public Builder recoverSoftDeletedBackupProtectedVm(@Nullable Boolean recoverSoftDeletedBackupProtectedVm) { + + this.recoverSoftDeletedBackupProtectedVm = recoverSoftDeletedBackupProtectedVm; + return this; + } + public FeaturesRecoveryServicesVaults build() { + final var _resultValue = new FeaturesRecoveryServicesVaults(); + _resultValue.recoverSoftDeletedBackupProtectedVm = recoverSoftDeletedBackupProtectedVm; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/Environment.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/Environment.java index 2b90ecb4f0..52486e8fea 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/Environment.java @@ -87,6 +87,20 @@ */ @ResourceType(type="azure:containerapp/environment:Environment") public class Environment extends com.pulumi.resources.CustomResource { + /** + * The ID of the Custom Domain Verification for this Container App Environment. + * + */ + @Export(name="customDomainVerificationId", refs={String.class}, tree="[0]") + private Output customDomainVerificationId; + + /** + * @return The ID of the Custom Domain Verification for this Container App Environment. + * + */ + public Output customDomainVerificationId() { + return this.customDomainVerificationId; + } /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomain.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomain.java new file mode 100644 index 0000000000..be84182f85 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomain.java @@ -0,0 +1,205 @@ +// *** 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.azure.containerapp; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.containerapp.EnvironmentCustomDomainArgs; +import com.pulumi.azure.containerapp.inputs.EnvironmentCustomDomainState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Manages a Container App Environment Custom Domain Suffix. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspace;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
+ * import com.pulumi.azure.containerapp.Environment;
+ * import com.pulumi.azure.containerapp.EnvironmentArgs;
+ * import com.pulumi.azure.containerapp.EnvironmentCustomDomain;
+ * import com.pulumi.azure.containerapp.EnvironmentCustomDomainArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
+ *             .name("example-resources")
+ *             .location("West Europe")
+ *             .build());
+ * 
+ *         var exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()        
+ *             .name("acctest-01")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .sku("PerGB2018")
+ *             .retentionInDays(30)
+ *             .build());
+ * 
+ *         var exampleEnvironment = new Environment("exampleEnvironment", EnvironmentArgs.builder()        
+ *             .name("my-environment")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())
+ *             .build());
+ * 
+ *         var exampleEnvironmentCustomDomain = new EnvironmentCustomDomain("exampleEnvironmentCustomDomain", EnvironmentCustomDomainArgs.builder()        
+ *             .containerAppEnvironmentId(exampleEnvironment.id())
+ *             .certificateBlobBase64(StdFunctions.filebase64(Filebase64Args.builder()
+ *                 .input("testacc.pfx")
+ *                 .build()).result())
+ *             .certificatePassword("TestAcc")
+ *             .dnsSuffix("acceptancetest.contoso.com")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. + * + * ```sh + * $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" + * ``` + * + */ +@ResourceType(type="azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain") +public class EnvironmentCustomDomain extends com.pulumi.resources.CustomResource { + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + @Export(name="certificateBlobBase64", refs={String.class}, tree="[0]") + private Output certificateBlobBase64; + + /** + * @return The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + public Output certificateBlobBase64() { + return this.certificateBlobBase64; + } + /** + * The password for the Certificate bundle. + * + */ + @Export(name="certificatePassword", refs={String.class}, tree="[0]") + private Output certificatePassword; + + /** + * @return The password for the Certificate bundle. + * + */ + public Output certificatePassword() { + return this.certificatePassword; + } + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + @Export(name="containerAppEnvironmentId", refs={String.class}, tree="[0]") + private Output containerAppEnvironmentId; + + /** + * @return The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + public Output containerAppEnvironmentId() { + return this.containerAppEnvironmentId; + } + /** + * Custom DNS Suffix for the Container App Environment. + * + */ + @Export(name="dnsSuffix", refs={String.class}, tree="[0]") + private Output dnsSuffix; + + /** + * @return Custom DNS Suffix for the Container App Environment. + * + */ + public Output dnsSuffix() { + return this.dnsSuffix; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public EnvironmentCustomDomain(String name) { + this(name, EnvironmentCustomDomainArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public EnvironmentCustomDomain(String name, EnvironmentCustomDomainArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public EnvironmentCustomDomain(String name, EnvironmentCustomDomainArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, args == null ? EnvironmentCustomDomainArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private EnvironmentCustomDomain(String name, Output id, @Nullable EnvironmentCustomDomainState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "certificatePassword" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static EnvironmentCustomDomain get(String name, Output id, @Nullable EnvironmentCustomDomainState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new EnvironmentCustomDomain(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomainArgs.java new file mode 100644 index 0000000000..d431589ebf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/EnvironmentCustomDomainArgs.java @@ -0,0 +1,205 @@ +// *** 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.azure.containerapp; + +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 EnvironmentCustomDomainArgs extends com.pulumi.resources.ResourceArgs { + + public static final EnvironmentCustomDomainArgs Empty = new EnvironmentCustomDomainArgs(); + + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + @Import(name="certificateBlobBase64", required=true) + private Output certificateBlobBase64; + + /** + * @return The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + public Output certificateBlobBase64() { + return this.certificateBlobBase64; + } + + /** + * The password for the Certificate bundle. + * + */ + @Import(name="certificatePassword", required=true) + private Output certificatePassword; + + /** + * @return The password for the Certificate bundle. + * + */ + public Output certificatePassword() { + return this.certificatePassword; + } + + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + @Import(name="containerAppEnvironmentId", required=true) + private Output containerAppEnvironmentId; + + /** + * @return The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + public Output containerAppEnvironmentId() { + return this.containerAppEnvironmentId; + } + + /** + * Custom DNS Suffix for the Container App Environment. + * + */ + @Import(name="dnsSuffix", required=true) + private Output dnsSuffix; + + /** + * @return Custom DNS Suffix for the Container App Environment. + * + */ + public Output dnsSuffix() { + return this.dnsSuffix; + } + + private EnvironmentCustomDomainArgs() {} + + private EnvironmentCustomDomainArgs(EnvironmentCustomDomainArgs $) { + this.certificateBlobBase64 = $.certificateBlobBase64; + this.certificatePassword = $.certificatePassword; + this.containerAppEnvironmentId = $.containerAppEnvironmentId; + this.dnsSuffix = $.dnsSuffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EnvironmentCustomDomainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EnvironmentCustomDomainArgs $; + + public Builder() { + $ = new EnvironmentCustomDomainArgs(); + } + + public Builder(EnvironmentCustomDomainArgs defaults) { + $ = new EnvironmentCustomDomainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param certificateBlobBase64 The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + * @return builder + * + */ + public Builder certificateBlobBase64(Output certificateBlobBase64) { + $.certificateBlobBase64 = certificateBlobBase64; + return this; + } + + /** + * @param certificateBlobBase64 The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + * @return builder + * + */ + public Builder certificateBlobBase64(String certificateBlobBase64) { + return certificateBlobBase64(Output.of(certificateBlobBase64)); + } + + /** + * @param certificatePassword The password for the Certificate bundle. + * + * @return builder + * + */ + public Builder certificatePassword(Output certificatePassword) { + $.certificatePassword = certificatePassword; + return this; + } + + /** + * @param certificatePassword The password for the Certificate bundle. + * + * @return builder + * + */ + public Builder certificatePassword(String certificatePassword) { + return certificatePassword(Output.of(certificatePassword)); + } + + /** + * @param containerAppEnvironmentId The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(Output containerAppEnvironmentId) { + $.containerAppEnvironmentId = containerAppEnvironmentId; + return this; + } + + /** + * @param containerAppEnvironmentId The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(String containerAppEnvironmentId) { + return containerAppEnvironmentId(Output.of(containerAppEnvironmentId)); + } + + /** + * @param dnsSuffix Custom DNS Suffix for the Container App Environment. + * + * @return builder + * + */ + public Builder dnsSuffix(Output dnsSuffix) { + $.dnsSuffix = dnsSuffix; + return this; + } + + /** + * @param dnsSuffix Custom DNS Suffix for the Container App Environment. + * + * @return builder + * + */ + public Builder dnsSuffix(String dnsSuffix) { + return dnsSuffix(Output.of(dnsSuffix)); + } + + public EnvironmentCustomDomainArgs build() { + if ($.certificateBlobBase64 == null) { + throw new MissingRequiredPropertyException("EnvironmentCustomDomainArgs", "certificateBlobBase64"); + } + if ($.certificatePassword == null) { + throw new MissingRequiredPropertyException("EnvironmentCustomDomainArgs", "certificatePassword"); + } + if ($.containerAppEnvironmentId == null) { + throw new MissingRequiredPropertyException("EnvironmentCustomDomainArgs", "containerAppEnvironmentId"); + } + if ($.dnsSuffix == null) { + throw new MissingRequiredPropertyException("EnvironmentCustomDomainArgs", "dnsSuffix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/Job.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/Job.java new file mode 100644 index 0000000000..bf1eb8edb5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/Job.java @@ -0,0 +1,436 @@ +// *** 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.azure.containerapp; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.containerapp.JobArgs; +import com.pulumi.azure.containerapp.inputs.JobState; +import com.pulumi.azure.containerapp.outputs.JobEventTriggerConfig; +import com.pulumi.azure.containerapp.outputs.JobIdentity; +import com.pulumi.azure.containerapp.outputs.JobManualTriggerConfig; +import com.pulumi.azure.containerapp.outputs.JobRegistry; +import com.pulumi.azure.containerapp.outputs.JobScheduleTriggerConfig; +import com.pulumi.azure.containerapp.outputs.JobSecret; +import com.pulumi.azure.containerapp.outputs.JobTemplate; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Container App Job. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspace;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
+ * import com.pulumi.azure.containerapp.Environment;
+ * import com.pulumi.azure.containerapp.EnvironmentArgs;
+ * import com.pulumi.azure.containerapp.Job;
+ * import com.pulumi.azure.containerapp.JobArgs;
+ * import com.pulumi.azure.containerapp.inputs.JobManualTriggerConfigArgs;
+ * import com.pulumi.azure.containerapp.inputs.JobTemplateArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
+ *             .name("example-resources")
+ *             .location("West Europe")
+ *             .build());
+ * 
+ *         var exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()        
+ *             .name("example-log-analytics-workspace")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .sku("PerGB2018")
+ *             .retentionInDays(30)
+ *             .build());
+ * 
+ *         var exampleEnvironment = new Environment("exampleEnvironment", EnvironmentArgs.builder()        
+ *             .name("example-container-app-environment")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .logAnalyticsWorkspaceId(exampleAnalyticsWorkspace.id())
+ *             .build());
+ * 
+ *         var exampleJob = new Job("exampleJob", JobArgs.builder()        
+ *             .name("example-container-app-job")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .containerAppEnvironmentId(exampleEnvironment.id())
+ *             .replicaTimeoutInSeconds(10)
+ *             .replicaRetryLimit(10)
+ *             .manualTriggerConfig(JobManualTriggerConfigArgs.builder()
+ *                 .parallelism(4)
+ *                 .replicaCompletionCount(1)
+ *                 .build())
+ *             .template(JobTemplateArgs.builder()
+ *                 .containers(JobTemplateContainerArgs.builder()
+ *                     .image("repo/testcontainerAppsJob0:v1")
+ *                     .name("testcontainerappsjob0")
+ *                     .readinessProbes(JobTemplateContainerReadinessProbeArgs.builder()
+ *                         .transport("HTTP")
+ *                         .port(5000)
+ *                         .build())
+ *                     .livenessProbes(JobTemplateContainerLivenessProbeArgs.builder()
+ *                         .transport("HTTP")
+ *                         .port(5000)
+ *                         .path("/health")
+ *                         .headers(JobTemplateContainerLivenessProbeHeaderArgs.builder()
+ *                             .name("Cache-Control")
+ *                             .value("no-cache")
+ *                             .build())
+ *                         .initialDelay(5)
+ *                         .intervalSeconds(20)
+ *                         .timeout(2)
+ *                         .failureCountThreshold(1)
+ *                         .build())
+ *                     .startupProbes(JobTemplateContainerStartupProbeArgs.builder()
+ *                         .transport("TCP")
+ *                         .port(5000)
+ *                         .build())
+ *                     .cpu(0.5)
+ *                     .memory("1Gi")
+ *                     .build())
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * A Container App Job can be imported using the resource id, e.g. + * + * ```sh + * $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" + * ``` + * + */ +@ResourceType(type="azure:containerapp/job:Job") +public class Job extends com.pulumi.resources.CustomResource { + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Export(name="containerAppEnvironmentId", refs={String.class}, tree="[0]") + private Output containerAppEnvironmentId; + + /** + * @return The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Output containerAppEnvironmentId() { + return this.containerAppEnvironmentId; + } + /** + * The endpoint for the Container App Job event stream. + * + */ + @Export(name="eventStreamEndpoint", refs={String.class}, tree="[0]") + private Output eventStreamEndpoint; + + /** + * @return The endpoint for the Container App Job event stream. + * + */ + public Output eventStreamEndpoint() { + return this.eventStreamEndpoint; + } + /** + * A `event_trigger_config` block as defined below. + * + */ + @Export(name="eventTriggerConfig", refs={JobEventTriggerConfig.class}, tree="[0]") + private Output eventTriggerConfig; + + /** + * @return A `event_trigger_config` block as defined below. + * + */ + public Output> eventTriggerConfig() { + return Codegen.optional(this.eventTriggerConfig); + } + /** + * A `identity` block as defined below. + * + */ + @Export(name="identity", refs={JobIdentity.class}, tree="[0]") + private Output identity; + + /** + * @return A `identity` block as defined below. + * + */ + public Output> identity() { + return Codegen.optional(this.identity); + } + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + @Export(name="location", refs={String.class}, tree="[0]") + private Output location; + + /** + * @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + public Output location() { + return this.location; + } + /** + * A `manual_trigger_config` block as defined below. + * + */ + @Export(name="manualTriggerConfig", refs={JobManualTriggerConfig.class}, tree="[0]") + private Output manualTriggerConfig; + + /** + * @return A `manual_trigger_config` block as defined below. + * + */ + public Output> manualTriggerConfig() { + return Codegen.optional(this.manualTriggerConfig); + } + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.name; + } + /** + * A list of the Public IP Addresses which the Container App uses for outbound network access. + * + */ + @Export(name="outboundIpAddresses", refs={List.class,String.class}, tree="[0,1]") + private Output> outboundIpAddresses; + + /** + * @return A list of the Public IP Addresses which the Container App uses for outbound network access. + * + */ + public Output> outboundIpAddresses() { + return this.outboundIpAddresses; + } + /** + * A `registries` block as defined below. + * + */ + @Export(name="registries", refs={List.class,JobRegistry.class}, tree="[0,1]") + private Output> registries; + + /** + * @return A `registries` block as defined below. + * + */ + public Output>> registries() { + return Codegen.optional(this.registries); + } + /** + * The maximum number of times a replica is allowed to retry. + * + */ + @Export(name="replicaRetryLimit", refs={Integer.class}, tree="[0]") + private Output replicaRetryLimit; + + /** + * @return The maximum number of times a replica is allowed to retry. + * + */ + public Output> replicaRetryLimit() { + return Codegen.optional(this.replicaRetryLimit); + } + /** + * The maximum number of seconds a replica is allowed to run. + * + */ + @Export(name="replicaTimeoutInSeconds", refs={Integer.class}, tree="[0]") + private Output replicaTimeoutInSeconds; + + /** + * @return The maximum number of seconds a replica is allowed to run. + * + */ + public Output replicaTimeoutInSeconds() { + return this.replicaTimeoutInSeconds; + } + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Export(name="resourceGroupName", refs={String.class}, tree="[0]") + private Output resourceGroupName; + + /** + * @return The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + /** + * A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + @Export(name="scheduleTriggerConfig", refs={JobScheduleTriggerConfig.class}, tree="[0]") + private Output scheduleTriggerConfig; + + /** + * @return A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + public Output> scheduleTriggerConfig() { + return Codegen.optional(this.scheduleTriggerConfig); + } + /** + * A `secrets` block as defined below. + * + */ + @Export(name="secrets", refs={List.class,JobSecret.class}, tree="[0,1]") + private Output> secrets; + + /** + * @return A `secrets` block as defined below. + * + */ + public Output>> secrets() { + return Codegen.optional(this.secrets); + } + /** + * A mapping of tags to assign to the resource. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A mapping of tags to assign to the resource. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A `template` block as defined below. + * + */ + @Export(name="template", refs={JobTemplate.class}, tree="[0]") + private Output template; + + /** + * @return A `template` block as defined below. + * + */ + public Output template() { + return this.template; + } + /** + * The name of the workload profile to use for the Container App Job. + * + */ + @Export(name="workloadProfileName", refs={String.class}, tree="[0]") + private Output workloadProfileName; + + /** + * @return The name of the workload profile to use for the Container App Job. + * + */ + public Output> workloadProfileName() { + return Codegen.optional(this.workloadProfileName); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Job(String name) { + this(name, JobArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Job(String name, JobArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Job(String name, JobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerapp/job:Job", name, args == null ? JobArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Job(String name, Output id, @Nullable JobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerapp/job:Job", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "secrets" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Job get(String name, Output id, @Nullable JobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Job(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/JobArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/JobArgs.java new file mode 100644 index 0000000000..5ed4997fd6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/JobArgs.java @@ -0,0 +1,652 @@ +// *** 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.azure.containerapp; + +import com.pulumi.azure.containerapp.inputs.JobEventTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobIdentityArgs; +import com.pulumi.azure.containerapp.inputs.JobManualTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobRegistryArgs; +import com.pulumi.azure.containerapp.inputs.JobScheduleTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobSecretArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateArgs; +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.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobArgs Empty = new JobArgs(); + + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Import(name="containerAppEnvironmentId", required=true) + private Output containerAppEnvironmentId; + + /** + * @return The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Output containerAppEnvironmentId() { + return this.containerAppEnvironmentId; + } + + /** + * A `event_trigger_config` block as defined below. + * + */ + @Import(name="eventTriggerConfig") + private @Nullable Output eventTriggerConfig; + + /** + * @return A `event_trigger_config` block as defined below. + * + */ + public Optional> eventTriggerConfig() { + return Optional.ofNullable(this.eventTriggerConfig); + } + + /** + * A `identity` block as defined below. + * + */ + @Import(name="identity") + private @Nullable Output identity; + + /** + * @return A `identity` block as defined below. + * + */ + public Optional> identity() { + return Optional.ofNullable(this.identity); + } + + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * A `manual_trigger_config` block as defined below. + * + */ + @Import(name="manualTriggerConfig") + private @Nullable Output manualTriggerConfig; + + /** + * @return A `manual_trigger_config` block as defined below. + * + */ + public Optional> manualTriggerConfig() { + return Optional.ofNullable(this.manualTriggerConfig); + } + + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A `registries` block as defined below. + * + */ + @Import(name="registries") + private @Nullable Output> registries; + + /** + * @return A `registries` block as defined below. + * + */ + public Optional>> registries() { + return Optional.ofNullable(this.registries); + } + + /** + * The maximum number of times a replica is allowed to retry. + * + */ + @Import(name="replicaRetryLimit") + private @Nullable Output replicaRetryLimit; + + /** + * @return The maximum number of times a replica is allowed to retry. + * + */ + public Optional> replicaRetryLimit() { + return Optional.ofNullable(this.replicaRetryLimit); + } + + /** + * The maximum number of seconds a replica is allowed to run. + * + */ + @Import(name="replicaTimeoutInSeconds", required=true) + private Output replicaTimeoutInSeconds; + + /** + * @return The maximum number of seconds a replica is allowed to run. + * + */ + public Output replicaTimeoutInSeconds() { + return this.replicaTimeoutInSeconds; + } + + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + /** + * @return The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + + /** + * A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + @Import(name="scheduleTriggerConfig") + private @Nullable Output scheduleTriggerConfig; + + /** + * @return A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + public Optional> scheduleTriggerConfig() { + return Optional.ofNullable(this.scheduleTriggerConfig); + } + + /** + * A `secrets` block as defined below. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return A `secrets` block as defined below. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * A mapping of tags to assign to the resource. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags to assign to the resource. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A `template` block as defined below. + * + */ + @Import(name="template", required=true) + private Output template; + + /** + * @return A `template` block as defined below. + * + */ + public Output template() { + return this.template; + } + + /** + * The name of the workload profile to use for the Container App Job. + * + */ + @Import(name="workloadProfileName") + private @Nullable Output workloadProfileName; + + /** + * @return The name of the workload profile to use for the Container App Job. + * + */ + public Optional> workloadProfileName() { + return Optional.ofNullable(this.workloadProfileName); + } + + private JobArgs() {} + + private JobArgs(JobArgs $) { + this.containerAppEnvironmentId = $.containerAppEnvironmentId; + this.eventTriggerConfig = $.eventTriggerConfig; + this.identity = $.identity; + this.location = $.location; + this.manualTriggerConfig = $.manualTriggerConfig; + this.name = $.name; + this.registries = $.registries; + this.replicaRetryLimit = $.replicaRetryLimit; + this.replicaTimeoutInSeconds = $.replicaTimeoutInSeconds; + this.resourceGroupName = $.resourceGroupName; + this.scheduleTriggerConfig = $.scheduleTriggerConfig; + this.secrets = $.secrets; + this.tags = $.tags; + this.template = $.template; + this.workloadProfileName = $.workloadProfileName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobArgs $; + + public Builder() { + $ = new JobArgs(); + } + + public Builder(JobArgs defaults) { + $ = new JobArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containerAppEnvironmentId The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(Output containerAppEnvironmentId) { + $.containerAppEnvironmentId = containerAppEnvironmentId; + return this; + } + + /** + * @param containerAppEnvironmentId The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(String containerAppEnvironmentId) { + return containerAppEnvironmentId(Output.of(containerAppEnvironmentId)); + } + + /** + * @param eventTriggerConfig A `event_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder eventTriggerConfig(@Nullable Output eventTriggerConfig) { + $.eventTriggerConfig = eventTriggerConfig; + return this; + } + + /** + * @param eventTriggerConfig A `event_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder eventTriggerConfig(JobEventTriggerConfigArgs eventTriggerConfig) { + return eventTriggerConfig(Output.of(eventTriggerConfig)); + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(@Nullable Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(JobIdentityArgs identity) { + return identity(Output.of(identity)); + } + + /** + * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(@Nullable Output location) { + $.location = location; + return this; + } + + /** + * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(String location) { + return location(Output.of(location)); + } + + /** + * @param manualTriggerConfig A `manual_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder manualTriggerConfig(@Nullable Output manualTriggerConfig) { + $.manualTriggerConfig = manualTriggerConfig; + return this; + } + + /** + * @param manualTriggerConfig A `manual_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder manualTriggerConfig(JobManualTriggerConfigArgs manualTriggerConfig) { + return manualTriggerConfig(Output.of(manualTriggerConfig)); + } + + /** + * @param name Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(@Nullable Output> registries) { + $.registries = registries; + return this; + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(List registries) { + return registries(Output.of(registries)); + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(JobRegistryArgs... registries) { + return registries(List.of(registries)); + } + + /** + * @param replicaRetryLimit The maximum number of times a replica is allowed to retry. + * + * @return builder + * + */ + public Builder replicaRetryLimit(@Nullable Output replicaRetryLimit) { + $.replicaRetryLimit = replicaRetryLimit; + return this; + } + + /** + * @param replicaRetryLimit The maximum number of times a replica is allowed to retry. + * + * @return builder + * + */ + public Builder replicaRetryLimit(Integer replicaRetryLimit) { + return replicaRetryLimit(Output.of(replicaRetryLimit)); + } + + /** + * @param replicaTimeoutInSeconds The maximum number of seconds a replica is allowed to run. + * + * @return builder + * + */ + public Builder replicaTimeoutInSeconds(Output replicaTimeoutInSeconds) { + $.replicaTimeoutInSeconds = replicaTimeoutInSeconds; + return this; + } + + /** + * @param replicaTimeoutInSeconds The maximum number of seconds a replica is allowed to run. + * + * @return builder + * + */ + public Builder replicaTimeoutInSeconds(Integer replicaTimeoutInSeconds) { + return replicaTimeoutInSeconds(Output.of(replicaTimeoutInSeconds)); + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + /** + * @param scheduleTriggerConfig A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + * @return builder + * + */ + public Builder scheduleTriggerConfig(@Nullable Output scheduleTriggerConfig) { + $.scheduleTriggerConfig = scheduleTriggerConfig; + return this; + } + + /** + * @param scheduleTriggerConfig A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + * @return builder + * + */ + public Builder scheduleTriggerConfig(JobScheduleTriggerConfigArgs scheduleTriggerConfig) { + return scheduleTriggerConfig(Output.of(scheduleTriggerConfig)); + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(List secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(JobSecretArgs... secrets) { + return secrets(List.of(secrets)); + } + + /** + * @param tags A mapping of tags to assign to the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags to assign to the resource. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param template A `template` block as defined below. + * + * @return builder + * + */ + public Builder template(Output template) { + $.template = template; + return this; + } + + /** + * @param template A `template` block as defined below. + * + * @return builder + * + */ + public Builder template(JobTemplateArgs template) { + return template(Output.of(template)); + } + + /** + * @param workloadProfileName The name of the workload profile to use for the Container App Job. + * + * @return builder + * + */ + public Builder workloadProfileName(@Nullable Output workloadProfileName) { + $.workloadProfileName = workloadProfileName; + return this; + } + + /** + * @param workloadProfileName The name of the workload profile to use for the Container App Job. + * + * @return builder + * + */ + public Builder workloadProfileName(String workloadProfileName) { + return workloadProfileName(Output.of(workloadProfileName)); + } + + public JobArgs build() { + if ($.containerAppEnvironmentId == null) { + throw new MissingRequiredPropertyException("JobArgs", "containerAppEnvironmentId"); + } + if ($.replicaTimeoutInSeconds == null) { + throw new MissingRequiredPropertyException("JobArgs", "replicaTimeoutInSeconds"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("JobArgs", "resourceGroupName"); + } + if ($.template == null) { + throw new MissingRequiredPropertyException("JobArgs", "template"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppSecretArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppSecretArgs.java index 98b2fa1956..0a1cc3981c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppSecretArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppSecretArgs.java @@ -74,8 +74,6 @@ public Output name() { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * */ @Import(name="value") private @Nullable Output value; @@ -85,8 +83,6 @@ public Output name() { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * */ public Optional> value() { return Optional.ofNullable(this.value); @@ -195,8 +191,6 @@ public Builder name(String name) { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * * @return builder * */ @@ -210,8 +204,6 @@ public Builder value(@Nullable Output value) { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentCustomDomainState.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentCustomDomainState.java new file mode 100644 index 0000000000..98eb7ebd4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentCustomDomainState.java @@ -0,0 +1,194 @@ +// *** 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.azure.containerapp.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 EnvironmentCustomDomainState extends com.pulumi.resources.ResourceArgs { + + public static final EnvironmentCustomDomainState Empty = new EnvironmentCustomDomainState(); + + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + @Import(name="certificateBlobBase64") + private @Nullable Output certificateBlobBase64; + + /** + * @return The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + */ + public Optional> certificateBlobBase64() { + return Optional.ofNullable(this.certificateBlobBase64); + } + + /** + * The password for the Certificate bundle. + * + */ + @Import(name="certificatePassword") + private @Nullable Output certificatePassword; + + /** + * @return The password for the Certificate bundle. + * + */ + public Optional> certificatePassword() { + return Optional.ofNullable(this.certificatePassword); + } + + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + @Import(name="containerAppEnvironmentId") + private @Nullable Output containerAppEnvironmentId; + + /** + * @return The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + */ + public Optional> containerAppEnvironmentId() { + return Optional.ofNullable(this.containerAppEnvironmentId); + } + + /** + * Custom DNS Suffix for the Container App Environment. + * + */ + @Import(name="dnsSuffix") + private @Nullable Output dnsSuffix; + + /** + * @return Custom DNS Suffix for the Container App Environment. + * + */ + public Optional> dnsSuffix() { + return Optional.ofNullable(this.dnsSuffix); + } + + private EnvironmentCustomDomainState() {} + + private EnvironmentCustomDomainState(EnvironmentCustomDomainState $) { + this.certificateBlobBase64 = $.certificateBlobBase64; + this.certificatePassword = $.certificatePassword; + this.containerAppEnvironmentId = $.containerAppEnvironmentId; + this.dnsSuffix = $.dnsSuffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EnvironmentCustomDomainState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EnvironmentCustomDomainState $; + + public Builder() { + $ = new EnvironmentCustomDomainState(); + } + + public Builder(EnvironmentCustomDomainState defaults) { + $ = new EnvironmentCustomDomainState(Objects.requireNonNull(defaults)); + } + + /** + * @param certificateBlobBase64 The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + * @return builder + * + */ + public Builder certificateBlobBase64(@Nullable Output certificateBlobBase64) { + $.certificateBlobBase64 = certificateBlobBase64; + return this; + } + + /** + * @param certificateBlobBase64 The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + * + * @return builder + * + */ + public Builder certificateBlobBase64(String certificateBlobBase64) { + return certificateBlobBase64(Output.of(certificateBlobBase64)); + } + + /** + * @param certificatePassword The password for the Certificate bundle. + * + * @return builder + * + */ + public Builder certificatePassword(@Nullable Output certificatePassword) { + $.certificatePassword = certificatePassword; + return this; + } + + /** + * @param certificatePassword The password for the Certificate bundle. + * + * @return builder + * + */ + public Builder certificatePassword(String certificatePassword) { + return certificatePassword(Output.of(certificatePassword)); + } + + /** + * @param containerAppEnvironmentId The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(@Nullable Output containerAppEnvironmentId) { + $.containerAppEnvironmentId = containerAppEnvironmentId; + return this; + } + + /** + * @param containerAppEnvironmentId The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(String containerAppEnvironmentId) { + return containerAppEnvironmentId(Output.of(containerAppEnvironmentId)); + } + + /** + * @param dnsSuffix Custom DNS Suffix for the Container App Environment. + * + * @return builder + * + */ + public Builder dnsSuffix(@Nullable Output dnsSuffix) { + $.dnsSuffix = dnsSuffix; + return this; + } + + /** + * @param dnsSuffix Custom DNS Suffix for the Container App Environment. + * + * @return builder + * + */ + public Builder dnsSuffix(String dnsSuffix) { + return dnsSuffix(Output.of(dnsSuffix)); + } + + public EnvironmentCustomDomainState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentState.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentState.java index d4039dced9..ee41513811 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/EnvironmentState.java @@ -19,6 +19,21 @@ public final class EnvironmentState extends com.pulumi.resources.ResourceArgs { public static final EnvironmentState Empty = new EnvironmentState(); + /** + * The ID of the Custom Domain Verification for this Container App Environment. + * + */ + @Import(name="customDomainVerificationId") + private @Nullable Output customDomainVerificationId; + + /** + * @return The ID of the Custom Domain Verification for this Container App Environment. + * + */ + public Optional> customDomainVerificationId() { + return Optional.ofNullable(this.customDomainVerificationId); + } + /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. * @@ -278,6 +293,7 @@ public Optional> zoneRedundancyEnabled() { private EnvironmentState() {} private EnvironmentState(EnvironmentState $) { + this.customDomainVerificationId = $.customDomainVerificationId; this.daprApplicationInsightsConnectionString = $.daprApplicationInsightsConnectionString; this.defaultDomain = $.defaultDomain; this.dockerBridgeCidr = $.dockerBridgeCidr; @@ -314,6 +330,27 @@ public Builder(EnvironmentState defaults) { $ = new EnvironmentState(Objects.requireNonNull(defaults)); } + /** + * @param customDomainVerificationId The ID of the Custom Domain Verification for this Container App Environment. + * + * @return builder + * + */ + public Builder customDomainVerificationId(@Nullable Output customDomainVerificationId) { + $.customDomainVerificationId = customDomainVerificationId; + return this; + } + + /** + * @param customDomainVerificationId The ID of the Custom Domain Verification for this Container App Environment. + * + * @return builder + * + */ + public Builder customDomainVerificationId(String customDomainVerificationId) { + return customDomainVerificationId(Output.of(customDomainVerificationId)); + } + /** * @param daprApplicationInsightsConnectionString Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigArgs.java new file mode 100644 index 0000000000..5e964098b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigArgs.java @@ -0,0 +1,169 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobEventTriggerConfigScaleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobEventTriggerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobEventTriggerConfigArgs Empty = new JobEventTriggerConfigArgs(); + + /** + * Number of parallel replicas of a job that can run at a given time. + * + */ + @Import(name="parallelism") + private @Nullable Output parallelism; + + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional> parallelism() { + return Optional.ofNullable(this.parallelism); + } + + /** + * Minimum number of successful replica completions before overall job completion. + * + */ + @Import(name="replicaCompletionCount") + private @Nullable Output replicaCompletionCount; + + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional> replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + + /** + * A `scale` block as defined below. + * + */ + @Import(name="scales") + private @Nullable Output> scales; + + /** + * @return A `scale` block as defined below. + * + */ + public Optional>> scales() { + return Optional.ofNullable(this.scales); + } + + private JobEventTriggerConfigArgs() {} + + private JobEventTriggerConfigArgs(JobEventTriggerConfigArgs $) { + this.parallelism = $.parallelism; + this.replicaCompletionCount = $.replicaCompletionCount; + this.scales = $.scales; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobEventTriggerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobEventTriggerConfigArgs $; + + public Builder() { + $ = new JobEventTriggerConfigArgs(); + } + + public Builder(JobEventTriggerConfigArgs defaults) { + $ = new JobEventTriggerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(@Nullable Output parallelism) { + $.parallelism = parallelism; + return this; + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(Integer parallelism) { + return parallelism(Output.of(parallelism)); + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(@Nullable Output replicaCompletionCount) { + $.replicaCompletionCount = replicaCompletionCount; + return this; + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(Integer replicaCompletionCount) { + return replicaCompletionCount(Output.of(replicaCompletionCount)); + } + + /** + * @param scales A `scale` block as defined below. + * + * @return builder + * + */ + public Builder scales(@Nullable Output> scales) { + $.scales = scales; + return this; + } + + /** + * @param scales A `scale` block as defined below. + * + * @return builder + * + */ + public Builder scales(List scales) { + return scales(Output.of(scales)); + } + + /** + * @param scales A `scale` block as defined below. + * + * @return builder + * + */ + public Builder scales(JobEventTriggerConfigScaleArgs... scales) { + return scales(List.of(scales)); + } + + public JobEventTriggerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleArgs.java new file mode 100644 index 0000000000..796372627c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleArgs.java @@ -0,0 +1,206 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobEventTriggerConfigScaleRuleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobEventTriggerConfigScaleArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobEventTriggerConfigScaleArgs Empty = new JobEventTriggerConfigScaleArgs(); + + /** + * Maximum number of job executions that are created for a trigger. + * + */ + @Import(name="maxExecutions") + private @Nullable Output maxExecutions; + + /** + * @return Maximum number of job executions that are created for a trigger. + * + */ + public Optional> maxExecutions() { + return Optional.ofNullable(this.maxExecutions); + } + + /** + * Minimum number of job executions that are created for a trigger. + * + */ + @Import(name="minExecutions") + private @Nullable Output minExecutions; + + /** + * @return Minimum number of job executions that are created for a trigger. + * + */ + public Optional> minExecutions() { + return Optional.ofNullable(this.minExecutions); + } + + /** + * Interval to check each event source in seconds. + * + */ + @Import(name="pollingIntervalInSeconds") + private @Nullable Output pollingIntervalInSeconds; + + /** + * @return Interval to check each event source in seconds. + * + */ + public Optional> pollingIntervalInSeconds() { + return Optional.ofNullable(this.pollingIntervalInSeconds); + } + + /** + * A `rules` block as defined below. + * + */ + @Import(name="rules") + private @Nullable Output> rules; + + /** + * @return A `rules` block as defined below. + * + */ + public Optional>> rules() { + return Optional.ofNullable(this.rules); + } + + private JobEventTriggerConfigScaleArgs() {} + + private JobEventTriggerConfigScaleArgs(JobEventTriggerConfigScaleArgs $) { + this.maxExecutions = $.maxExecutions; + this.minExecutions = $.minExecutions; + this.pollingIntervalInSeconds = $.pollingIntervalInSeconds; + this.rules = $.rules; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobEventTriggerConfigScaleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobEventTriggerConfigScaleArgs $; + + public Builder() { + $ = new JobEventTriggerConfigScaleArgs(); + } + + public Builder(JobEventTriggerConfigScaleArgs defaults) { + $ = new JobEventTriggerConfigScaleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maxExecutions Maximum number of job executions that are created for a trigger. + * + * @return builder + * + */ + public Builder maxExecutions(@Nullable Output maxExecutions) { + $.maxExecutions = maxExecutions; + return this; + } + + /** + * @param maxExecutions Maximum number of job executions that are created for a trigger. + * + * @return builder + * + */ + public Builder maxExecutions(Integer maxExecutions) { + return maxExecutions(Output.of(maxExecutions)); + } + + /** + * @param minExecutions Minimum number of job executions that are created for a trigger. + * + * @return builder + * + */ + public Builder minExecutions(@Nullable Output minExecutions) { + $.minExecutions = minExecutions; + return this; + } + + /** + * @param minExecutions Minimum number of job executions that are created for a trigger. + * + * @return builder + * + */ + public Builder minExecutions(Integer minExecutions) { + return minExecutions(Output.of(minExecutions)); + } + + /** + * @param pollingIntervalInSeconds Interval to check each event source in seconds. + * + * @return builder + * + */ + public Builder pollingIntervalInSeconds(@Nullable Output pollingIntervalInSeconds) { + $.pollingIntervalInSeconds = pollingIntervalInSeconds; + return this; + } + + /** + * @param pollingIntervalInSeconds Interval to check each event source in seconds. + * + * @return builder + * + */ + public Builder pollingIntervalInSeconds(Integer pollingIntervalInSeconds) { + return pollingIntervalInSeconds(Output.of(pollingIntervalInSeconds)); + } + + /** + * @param rules A `rules` block as defined below. + * + * @return builder + * + */ + public Builder rules(@Nullable Output> rules) { + $.rules = rules; + return this; + } + + /** + * @param rules A `rules` block as defined below. + * + * @return builder + * + */ + public Builder rules(List rules) { + return rules(Output.of(rules)); + } + + /** + * @param rules A `rules` block as defined below. + * + * @return builder + * + */ + public Builder rules(JobEventTriggerConfigScaleRuleArgs... rules) { + return rules(List.of(rules)); + } + + public JobEventTriggerConfigScaleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleArgs.java new file mode 100644 index 0000000000..74b4411c14 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleArgs.java @@ -0,0 +1,217 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobEventTriggerConfigScaleRuleAuthenticationArgs; +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.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobEventTriggerConfigScaleRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobEventTriggerConfigScaleRuleArgs Empty = new JobEventTriggerConfigScaleRuleArgs(); + + /** + * A `authentication` block as defined below. + * + */ + @Import(name="authentications") + private @Nullable Output> authentications; + + /** + * @return A `authentication` block as defined below. + * + */ + public Optional>> authentications() { + return Optional.ofNullable(this.authentications); + } + + /** + * Type of the scale rule. + * + */ + @Import(name="customRuleType", required=true) + private Output customRuleType; + + /** + * @return Type of the scale rule. + * + */ + public Output customRuleType() { + return this.customRuleType; + } + + /** + * Metadata properties to describe the scale rule. + * + */ + @Import(name="metadata", required=true) + private Output> metadata; + + /** + * @return Metadata properties to describe the scale rule. + * + */ + public Output> metadata() { + return this.metadata; + } + + /** + * Name of the scale rule. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the scale rule. + * + */ + public Output name() { + return this.name; + } + + private JobEventTriggerConfigScaleRuleArgs() {} + + private JobEventTriggerConfigScaleRuleArgs(JobEventTriggerConfigScaleRuleArgs $) { + this.authentications = $.authentications; + this.customRuleType = $.customRuleType; + this.metadata = $.metadata; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobEventTriggerConfigScaleRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobEventTriggerConfigScaleRuleArgs $; + + public Builder() { + $ = new JobEventTriggerConfigScaleRuleArgs(); + } + + public Builder(JobEventTriggerConfigScaleRuleArgs defaults) { + $ = new JobEventTriggerConfigScaleRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param authentications A `authentication` block as defined below. + * + * @return builder + * + */ + public Builder authentications(@Nullable Output> authentications) { + $.authentications = authentications; + return this; + } + + /** + * @param authentications A `authentication` block as defined below. + * + * @return builder + * + */ + public Builder authentications(List authentications) { + return authentications(Output.of(authentications)); + } + + /** + * @param authentications A `authentication` block as defined below. + * + * @return builder + * + */ + public Builder authentications(JobEventTriggerConfigScaleRuleAuthenticationArgs... authentications) { + return authentications(List.of(authentications)); + } + + /** + * @param customRuleType Type of the scale rule. + * + * @return builder + * + */ + public Builder customRuleType(Output customRuleType) { + $.customRuleType = customRuleType; + return this; + } + + /** + * @param customRuleType Type of the scale rule. + * + * @return builder + * + */ + public Builder customRuleType(String customRuleType) { + return customRuleType(Output.of(customRuleType)); + } + + /** + * @param metadata Metadata properties to describe the scale rule. + * + * @return builder + * + */ + public Builder metadata(Output> metadata) { + $.metadata = metadata; + return this; + } + + /** + * @param metadata Metadata properties to describe the scale rule. + * + * @return builder + * + */ + public Builder metadata(Map metadata) { + return metadata(Output.of(metadata)); + } + + /** + * @param name Name of the scale rule. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the scale rule. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public JobEventTriggerConfigScaleRuleArgs build() { + if ($.customRuleType == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleArgs", "customRuleType"); + } + if ($.metadata == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleArgs", "metadata"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.java new file mode 100644 index 0000000000..e82fc156cc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobEventTriggerConfigScaleRuleAuthenticationArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobEventTriggerConfigScaleRuleAuthenticationArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobEventTriggerConfigScaleRuleAuthenticationArgs Empty = new JobEventTriggerConfigScaleRuleAuthenticationArgs(); + + /** + * Name of the secret from which to pull the auth params. + * + */ + @Import(name="secretName", required=true) + private Output secretName; + + /** + * @return Name of the secret from which to pull the auth params. + * + */ + public Output secretName() { + return this.secretName; + } + + /** + * Trigger Parameter that uses the secret. + * + */ + @Import(name="triggerParameter", required=true) + private Output triggerParameter; + + /** + * @return Trigger Parameter that uses the secret. + * + */ + public Output triggerParameter() { + return this.triggerParameter; + } + + private JobEventTriggerConfigScaleRuleAuthenticationArgs() {} + + private JobEventTriggerConfigScaleRuleAuthenticationArgs(JobEventTriggerConfigScaleRuleAuthenticationArgs $) { + this.secretName = $.secretName; + this.triggerParameter = $.triggerParameter; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobEventTriggerConfigScaleRuleAuthenticationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobEventTriggerConfigScaleRuleAuthenticationArgs $; + + public Builder() { + $ = new JobEventTriggerConfigScaleRuleAuthenticationArgs(); + } + + public Builder(JobEventTriggerConfigScaleRuleAuthenticationArgs defaults) { + $ = new JobEventTriggerConfigScaleRuleAuthenticationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param secretName Name of the secret from which to pull the auth params. + * + * @return builder + * + */ + public Builder secretName(Output secretName) { + $.secretName = secretName; + return this; + } + + /** + * @param secretName Name of the secret from which to pull the auth params. + * + * @return builder + * + */ + public Builder secretName(String secretName) { + return secretName(Output.of(secretName)); + } + + /** + * @param triggerParameter Trigger Parameter that uses the secret. + * + * @return builder + * + */ + public Builder triggerParameter(Output triggerParameter) { + $.triggerParameter = triggerParameter; + return this; + } + + /** + * @param triggerParameter Trigger Parameter that uses the secret. + * + * @return builder + * + */ + public Builder triggerParameter(String triggerParameter) { + return triggerParameter(Output.of(triggerParameter)); + } + + public JobEventTriggerConfigScaleRuleAuthenticationArgs build() { + if ($.secretName == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleAuthenticationArgs", "secretName"); + } + if ($.triggerParameter == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleAuthenticationArgs", "triggerParameter"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobIdentityArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobIdentityArgs.java new file mode 100644 index 0000000000..4048d09cd1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobIdentityArgs.java @@ -0,0 +1,169 @@ +// *** 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.azure.containerapp.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 JobIdentityArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobIdentityArgs Empty = new JobIdentityArgs(); + + /** + * A list of Managed Identity IDs to assign to the Container App Job. + * + */ + @Import(name="identityIds") + private @Nullable Output> identityIds; + + /** + * @return A list of Managed Identity IDs to assign to the Container App Job. + * + */ + public Optional>> identityIds() { + return Optional.ofNullable(this.identityIds); + } + + @Import(name="principalId") + private @Nullable Output principalId; + + public Optional> principalId() { + return Optional.ofNullable(this.principalId); + } + + @Import(name="tenantId") + private @Nullable Output tenantId; + + public Optional> tenantId() { + return Optional.ofNullable(this.tenantId); + } + + /** + * The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + */ + public Output type() { + return this.type; + } + + private JobIdentityArgs() {} + + private JobIdentityArgs(JobIdentityArgs $) { + this.identityIds = $.identityIds; + this.principalId = $.principalId; + this.tenantId = $.tenantId; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobIdentityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobIdentityArgs $; + + public Builder() { + $ = new JobIdentityArgs(); + } + + public Builder(JobIdentityArgs defaults) { + $ = new JobIdentityArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identityIds A list of Managed Identity IDs to assign to the Container App Job. + * + * @return builder + * + */ + public Builder identityIds(@Nullable Output> identityIds) { + $.identityIds = identityIds; + return this; + } + + /** + * @param identityIds A list of Managed Identity IDs to assign to the Container App Job. + * + * @return builder + * + */ + public Builder identityIds(List identityIds) { + return identityIds(Output.of(identityIds)); + } + + /** + * @param identityIds A list of Managed Identity IDs to assign to the Container App Job. + * + * @return builder + * + */ + public Builder identityIds(String... identityIds) { + return identityIds(List.of(identityIds)); + } + + public Builder principalId(@Nullable Output principalId) { + $.principalId = principalId; + return this; + } + + public Builder principalId(String principalId) { + return principalId(Output.of(principalId)); + } + + public Builder tenantId(@Nullable Output tenantId) { + $.tenantId = tenantId; + return this; + } + + public Builder tenantId(String tenantId) { + return tenantId(Output.of(tenantId)); + } + + /** + * @param type The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public JobIdentityArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("JobIdentityArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobManualTriggerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobManualTriggerConfigArgs.java new file mode 100644 index 0000000000..374af4e6ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobManualTriggerConfigArgs.java @@ -0,0 +1,120 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobManualTriggerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobManualTriggerConfigArgs Empty = new JobManualTriggerConfigArgs(); + + /** + * Number of parallel replicas of a job that can run at a given time. + * + */ + @Import(name="parallelism") + private @Nullable Output parallelism; + + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional> parallelism() { + return Optional.ofNullable(this.parallelism); + } + + /** + * Minimum number of successful replica completions before overall job completion. + * + */ + @Import(name="replicaCompletionCount") + private @Nullable Output replicaCompletionCount; + + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional> replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + + private JobManualTriggerConfigArgs() {} + + private JobManualTriggerConfigArgs(JobManualTriggerConfigArgs $) { + this.parallelism = $.parallelism; + this.replicaCompletionCount = $.replicaCompletionCount; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobManualTriggerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobManualTriggerConfigArgs $; + + public Builder() { + $ = new JobManualTriggerConfigArgs(); + } + + public Builder(JobManualTriggerConfigArgs defaults) { + $ = new JobManualTriggerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(@Nullable Output parallelism) { + $.parallelism = parallelism; + return this; + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(Integer parallelism) { + return parallelism(Output.of(parallelism)); + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(@Nullable Output replicaCompletionCount) { + $.replicaCompletionCount = replicaCompletionCount; + return this; + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(Integer replicaCompletionCount) { + return replicaCompletionCount(Output.of(replicaCompletionCount)); + } + + public JobManualTriggerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobRegistryArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobRegistryArgs.java new file mode 100644 index 0000000000..6c6112bf6f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobRegistryArgs.java @@ -0,0 +1,198 @@ +// *** 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.azure.containerapp.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobRegistryArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobRegistryArgs Empty = new JobRegistryArgs(); + + /** + * A Managed Identity to use to authenticate with Azure Container Registry. + * + */ + @Import(name="identity") + private @Nullable Output identity; + + /** + * @return A Managed Identity to use to authenticate with Azure Container Registry. + * + */ + public Optional> identity() { + return Optional.ofNullable(this.identity); + } + + /** + * The name of the Secret that contains the registry login password. + * + */ + @Import(name="passwordSecretName") + private @Nullable Output passwordSecretName; + + /** + * @return The name of the Secret that contains the registry login password. + * + */ + public Optional> passwordSecretName() { + return Optional.ofNullable(this.passwordSecretName); + } + + /** + * The URL of the Azure Container Registry server. + * + */ + @Import(name="server", required=true) + private Output server; + + /** + * @return The URL of the Azure Container Registry server. + * + */ + public Output server() { + return this.server; + } + + /** + * The username to use to authenticate with Azure Container Registry. + * + */ + @Import(name="username") + private @Nullable Output username; + + /** + * @return The username to use to authenticate with Azure Container Registry. + * + */ + public Optional> username() { + return Optional.ofNullable(this.username); + } + + private JobRegistryArgs() {} + + private JobRegistryArgs(JobRegistryArgs $) { + this.identity = $.identity; + this.passwordSecretName = $.passwordSecretName; + this.server = $.server; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobRegistryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobRegistryArgs $; + + public Builder() { + $ = new JobRegistryArgs(); + } + + public Builder(JobRegistryArgs defaults) { + $ = new JobRegistryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identity A Managed Identity to use to authenticate with Azure Container Registry. + * + * @return builder + * + */ + public Builder identity(@Nullable Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity A Managed Identity to use to authenticate with Azure Container Registry. + * + * @return builder + * + */ + public Builder identity(String identity) { + return identity(Output.of(identity)); + } + + /** + * @param passwordSecretName The name of the Secret that contains the registry login password. + * + * @return builder + * + */ + public Builder passwordSecretName(@Nullable Output passwordSecretName) { + $.passwordSecretName = passwordSecretName; + return this; + } + + /** + * @param passwordSecretName The name of the Secret that contains the registry login password. + * + * @return builder + * + */ + public Builder passwordSecretName(String passwordSecretName) { + return passwordSecretName(Output.of(passwordSecretName)); + } + + /** + * @param server The URL of the Azure Container Registry server. + * + * @return builder + * + */ + public Builder server(Output server) { + $.server = server; + return this; + } + + /** + * @param server The URL of the Azure Container Registry server. + * + * @return builder + * + */ + public Builder server(String server) { + return server(Output.of(server)); + } + + /** + * @param username The username to use to authenticate with Azure Container Registry. + * + * @return builder + * + */ + public Builder username(@Nullable Output username) { + $.username = username; + return this; + } + + /** + * @param username The username to use to authenticate with Azure Container Registry. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public JobRegistryArgs build() { + if ($.server == null) { + throw new MissingRequiredPropertyException("JobRegistryArgs", "server"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobScheduleTriggerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobScheduleTriggerConfigArgs.java new file mode 100644 index 0000000000..ab2cd72b13 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobScheduleTriggerConfigArgs.java @@ -0,0 +1,162 @@ +// *** 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.azure.containerapp.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 JobScheduleTriggerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobScheduleTriggerConfigArgs Empty = new JobScheduleTriggerConfigArgs(); + + /** + * Cron formatted repeating schedule of a Cron Job. + * + */ + @Import(name="cronExpression", required=true) + private Output cronExpression; + + /** + * @return Cron formatted repeating schedule of a Cron Job. + * + */ + public Output cronExpression() { + return this.cronExpression; + } + + /** + * Number of parallel replicas of a job that can run at a given time. + * + */ + @Import(name="parallelism") + private @Nullable Output parallelism; + + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional> parallelism() { + return Optional.ofNullable(this.parallelism); + } + + /** + * Minimum number of successful replica completions before overall job completion. + * + */ + @Import(name="replicaCompletionCount") + private @Nullable Output replicaCompletionCount; + + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional> replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + + private JobScheduleTriggerConfigArgs() {} + + private JobScheduleTriggerConfigArgs(JobScheduleTriggerConfigArgs $) { + this.cronExpression = $.cronExpression; + this.parallelism = $.parallelism; + this.replicaCompletionCount = $.replicaCompletionCount; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobScheduleTriggerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobScheduleTriggerConfigArgs $; + + public Builder() { + $ = new JobScheduleTriggerConfigArgs(); + } + + public Builder(JobScheduleTriggerConfigArgs defaults) { + $ = new JobScheduleTriggerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cronExpression Cron formatted repeating schedule of a Cron Job. + * + * @return builder + * + */ + public Builder cronExpression(Output cronExpression) { + $.cronExpression = cronExpression; + return this; + } + + /** + * @param cronExpression Cron formatted repeating schedule of a Cron Job. + * + * @return builder + * + */ + public Builder cronExpression(String cronExpression) { + return cronExpression(Output.of(cronExpression)); + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(@Nullable Output parallelism) { + $.parallelism = parallelism; + return this; + } + + /** + * @param parallelism Number of parallel replicas of a job that can run at a given time. + * + * @return builder + * + */ + public Builder parallelism(Integer parallelism) { + return parallelism(Output.of(parallelism)); + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(@Nullable Output replicaCompletionCount) { + $.replicaCompletionCount = replicaCompletionCount; + return this; + } + + /** + * @param replicaCompletionCount Minimum number of successful replica completions before overall job completion. + * + * @return builder + * + */ + public Builder replicaCompletionCount(Integer replicaCompletionCount) { + return replicaCompletionCount(Output.of(replicaCompletionCount)); + } + + public JobScheduleTriggerConfigArgs build() { + if ($.cronExpression == null) { + throw new MissingRequiredPropertyException("JobScheduleTriggerConfigArgs", "cronExpression"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobSecretArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobSecretArgs.java new file mode 100644 index 0000000000..dd70a69169 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobSecretArgs.java @@ -0,0 +1,198 @@ +// *** 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.azure.containerapp.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobSecretArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobSecretArgs Empty = new JobSecretArgs(); + + /** + * A `identity` block as defined below. + * + */ + @Import(name="identity") + private @Nullable Output identity; + + /** + * @return A `identity` block as defined below. + * + */ + public Optional> identity() { + return Optional.ofNullable(this.identity); + } + + /** + * The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + */ + @Import(name="keyVaultSecretId") + private @Nullable Output keyVaultSecretId; + + /** + * @return The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + */ + public Optional> keyVaultSecretId() { + return Optional.ofNullable(this.keyVaultSecretId); + } + + /** + * Name of the secret. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the secret. + * + */ + public Output name() { + return this.name; + } + + /** + * Value of the secret. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Value of the secret. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private JobSecretArgs() {} + + private JobSecretArgs(JobSecretArgs $) { + this.identity = $.identity; + this.keyVaultSecretId = $.keyVaultSecretId; + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobSecretArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobSecretArgs $; + + public Builder() { + $ = new JobSecretArgs(); + } + + public Builder(JobSecretArgs defaults) { + $ = new JobSecretArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(@Nullable Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(String identity) { + return identity(Output.of(identity)); + } + + /** + * @param keyVaultSecretId The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + * @return builder + * + */ + public Builder keyVaultSecretId(@Nullable Output keyVaultSecretId) { + $.keyVaultSecretId = keyVaultSecretId; + return this; + } + + /** + * @param keyVaultSecretId The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + * @return builder + * + */ + public Builder keyVaultSecretId(String keyVaultSecretId) { + return keyVaultSecretId(Output.of(keyVaultSecretId)); + } + + /** + * @param name Name of the secret. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the secret. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value Value of the secret. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Value of the secret. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobSecretArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobSecretArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobState.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobState.java new file mode 100644 index 0000000000..ae813bdcba --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobState.java @@ -0,0 +1,723 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobEventTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobIdentityArgs; +import com.pulumi.azure.containerapp.inputs.JobManualTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobRegistryArgs; +import com.pulumi.azure.containerapp.inputs.JobScheduleTriggerConfigArgs; +import com.pulumi.azure.containerapp.inputs.JobSecretArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobState extends com.pulumi.resources.ResourceArgs { + + public static final JobState Empty = new JobState(); + + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Import(name="containerAppEnvironmentId") + private @Nullable Output containerAppEnvironmentId; + + /** + * @return The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Optional> containerAppEnvironmentId() { + return Optional.ofNullable(this.containerAppEnvironmentId); + } + + /** + * The endpoint for the Container App Job event stream. + * + */ + @Import(name="eventStreamEndpoint") + private @Nullable Output eventStreamEndpoint; + + /** + * @return The endpoint for the Container App Job event stream. + * + */ + public Optional> eventStreamEndpoint() { + return Optional.ofNullable(this.eventStreamEndpoint); + } + + /** + * A `event_trigger_config` block as defined below. + * + */ + @Import(name="eventTriggerConfig") + private @Nullable Output eventTriggerConfig; + + /** + * @return A `event_trigger_config` block as defined below. + * + */ + public Optional> eventTriggerConfig() { + return Optional.ofNullable(this.eventTriggerConfig); + } + + /** + * A `identity` block as defined below. + * + */ + @Import(name="identity") + private @Nullable Output identity; + + /** + * @return A `identity` block as defined below. + * + */ + public Optional> identity() { + return Optional.ofNullable(this.identity); + } + + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * A `manual_trigger_config` block as defined below. + * + */ + @Import(name="manualTriggerConfig") + private @Nullable Output manualTriggerConfig; + + /** + * @return A `manual_trigger_config` block as defined below. + * + */ + public Optional> manualTriggerConfig() { + return Optional.ofNullable(this.manualTriggerConfig); + } + + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A list of the Public IP Addresses which the Container App uses for outbound network access. + * + */ + @Import(name="outboundIpAddresses") + private @Nullable Output> outboundIpAddresses; + + /** + * @return A list of the Public IP Addresses which the Container App uses for outbound network access. + * + */ + public Optional>> outboundIpAddresses() { + return Optional.ofNullable(this.outboundIpAddresses); + } + + /** + * A `registries` block as defined below. + * + */ + @Import(name="registries") + private @Nullable Output> registries; + + /** + * @return A `registries` block as defined below. + * + */ + public Optional>> registries() { + return Optional.ofNullable(this.registries); + } + + /** + * The maximum number of times a replica is allowed to retry. + * + */ + @Import(name="replicaRetryLimit") + private @Nullable Output replicaRetryLimit; + + /** + * @return The maximum number of times a replica is allowed to retry. + * + */ + public Optional> replicaRetryLimit() { + return Optional.ofNullable(this.replicaRetryLimit); + } + + /** + * The maximum number of seconds a replica is allowed to run. + * + */ + @Import(name="replicaTimeoutInSeconds") + private @Nullable Output replicaTimeoutInSeconds; + + /** + * @return The maximum number of seconds a replica is allowed to run. + * + */ + public Optional> replicaTimeoutInSeconds() { + return Optional.ofNullable(this.replicaTimeoutInSeconds); + } + + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName") + private @Nullable Output resourceGroupName; + + /** + * @return The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + */ + public Optional> resourceGroupName() { + return Optional.ofNullable(this.resourceGroupName); + } + + /** + * A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + @Import(name="scheduleTriggerConfig") + private @Nullable Output scheduleTriggerConfig; + + /** + * @return A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + */ + public Optional> scheduleTriggerConfig() { + return Optional.ofNullable(this.scheduleTriggerConfig); + } + + /** + * A `secrets` block as defined below. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return A `secrets` block as defined below. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * A mapping of tags to assign to the resource. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags to assign to the resource. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A `template` block as defined below. + * + */ + @Import(name="template") + private @Nullable Output template; + + /** + * @return A `template` block as defined below. + * + */ + public Optional> template() { + return Optional.ofNullable(this.template); + } + + /** + * The name of the workload profile to use for the Container App Job. + * + */ + @Import(name="workloadProfileName") + private @Nullable Output workloadProfileName; + + /** + * @return The name of the workload profile to use for the Container App Job. + * + */ + public Optional> workloadProfileName() { + return Optional.ofNullable(this.workloadProfileName); + } + + private JobState() {} + + private JobState(JobState $) { + this.containerAppEnvironmentId = $.containerAppEnvironmentId; + this.eventStreamEndpoint = $.eventStreamEndpoint; + this.eventTriggerConfig = $.eventTriggerConfig; + this.identity = $.identity; + this.location = $.location; + this.manualTriggerConfig = $.manualTriggerConfig; + this.name = $.name; + this.outboundIpAddresses = $.outboundIpAddresses; + this.registries = $.registries; + this.replicaRetryLimit = $.replicaRetryLimit; + this.replicaTimeoutInSeconds = $.replicaTimeoutInSeconds; + this.resourceGroupName = $.resourceGroupName; + this.scheduleTriggerConfig = $.scheduleTriggerConfig; + this.secrets = $.secrets; + this.tags = $.tags; + this.template = $.template; + this.workloadProfileName = $.workloadProfileName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobState $; + + public Builder() { + $ = new JobState(); + } + + public Builder(JobState defaults) { + $ = new JobState(Objects.requireNonNull(defaults)); + } + + /** + * @param containerAppEnvironmentId The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(@Nullable Output containerAppEnvironmentId) { + $.containerAppEnvironmentId = containerAppEnvironmentId; + return this; + } + + /** + * @param containerAppEnvironmentId The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder containerAppEnvironmentId(String containerAppEnvironmentId) { + return containerAppEnvironmentId(Output.of(containerAppEnvironmentId)); + } + + /** + * @param eventStreamEndpoint The endpoint for the Container App Job event stream. + * + * @return builder + * + */ + public Builder eventStreamEndpoint(@Nullable Output eventStreamEndpoint) { + $.eventStreamEndpoint = eventStreamEndpoint; + return this; + } + + /** + * @param eventStreamEndpoint The endpoint for the Container App Job event stream. + * + * @return builder + * + */ + public Builder eventStreamEndpoint(String eventStreamEndpoint) { + return eventStreamEndpoint(Output.of(eventStreamEndpoint)); + } + + /** + * @param eventTriggerConfig A `event_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder eventTriggerConfig(@Nullable Output eventTriggerConfig) { + $.eventTriggerConfig = eventTriggerConfig; + return this; + } + + /** + * @param eventTriggerConfig A `event_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder eventTriggerConfig(JobEventTriggerConfigArgs eventTriggerConfig) { + return eventTriggerConfig(Output.of(eventTriggerConfig)); + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(@Nullable Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity A `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(JobIdentityArgs identity) { + return identity(Output.of(identity)); + } + + /** + * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(@Nullable Output location) { + $.location = location; + return this; + } + + /** + * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(String location) { + return location(Output.of(location)); + } + + /** + * @param manualTriggerConfig A `manual_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder manualTriggerConfig(@Nullable Output manualTriggerConfig) { + $.manualTriggerConfig = manualTriggerConfig; + return this; + } + + /** + * @param manualTriggerConfig A `manual_trigger_config` block as defined below. + * + * @return builder + * + */ + public Builder manualTriggerConfig(JobManualTriggerConfigArgs manualTriggerConfig) { + return manualTriggerConfig(Output.of(manualTriggerConfig)); + } + + /** + * @param name Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param outboundIpAddresses A list of the Public IP Addresses which the Container App uses for outbound network access. + * + * @return builder + * + */ + public Builder outboundIpAddresses(@Nullable Output> outboundIpAddresses) { + $.outboundIpAddresses = outboundIpAddresses; + return this; + } + + /** + * @param outboundIpAddresses A list of the Public IP Addresses which the Container App uses for outbound network access. + * + * @return builder + * + */ + public Builder outboundIpAddresses(List outboundIpAddresses) { + return outboundIpAddresses(Output.of(outboundIpAddresses)); + } + + /** + * @param outboundIpAddresses A list of the Public IP Addresses which the Container App uses for outbound network access. + * + * @return builder + * + */ + public Builder outboundIpAddresses(String... outboundIpAddresses) { + return outboundIpAddresses(List.of(outboundIpAddresses)); + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(@Nullable Output> registries) { + $.registries = registries; + return this; + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(List registries) { + return registries(Output.of(registries)); + } + + /** + * @param registries A `registries` block as defined below. + * + * @return builder + * + */ + public Builder registries(JobRegistryArgs... registries) { + return registries(List.of(registries)); + } + + /** + * @param replicaRetryLimit The maximum number of times a replica is allowed to retry. + * + * @return builder + * + */ + public Builder replicaRetryLimit(@Nullable Output replicaRetryLimit) { + $.replicaRetryLimit = replicaRetryLimit; + return this; + } + + /** + * @param replicaRetryLimit The maximum number of times a replica is allowed to retry. + * + * @return builder + * + */ + public Builder replicaRetryLimit(Integer replicaRetryLimit) { + return replicaRetryLimit(Output.of(replicaRetryLimit)); + } + + /** + * @param replicaTimeoutInSeconds The maximum number of seconds a replica is allowed to run. + * + * @return builder + * + */ + public Builder replicaTimeoutInSeconds(@Nullable Output replicaTimeoutInSeconds) { + $.replicaTimeoutInSeconds = replicaTimeoutInSeconds; + return this; + } + + /** + * @param replicaTimeoutInSeconds The maximum number of seconds a replica is allowed to run. + * + * @return builder + * + */ + public Builder replicaTimeoutInSeconds(Integer replicaTimeoutInSeconds) { + return replicaTimeoutInSeconds(Output.of(replicaTimeoutInSeconds)); + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(@Nullable Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + /** + * @param scheduleTriggerConfig A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + * @return builder + * + */ + public Builder scheduleTriggerConfig(@Nullable Output scheduleTriggerConfig) { + $.scheduleTriggerConfig = scheduleTriggerConfig; + return this; + } + + /** + * @param scheduleTriggerConfig A `schedule_trigger_config` block as defined below. + * + * > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + * + * @return builder + * + */ + public Builder scheduleTriggerConfig(JobScheduleTriggerConfigArgs scheduleTriggerConfig) { + return scheduleTriggerConfig(Output.of(scheduleTriggerConfig)); + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(List secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param secrets A `secrets` block as defined below. + * + * @return builder + * + */ + public Builder secrets(JobSecretArgs... secrets) { + return secrets(List.of(secrets)); + } + + /** + * @param tags A mapping of tags to assign to the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags to assign to the resource. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param template A `template` block as defined below. + * + * @return builder + * + */ + public Builder template(@Nullable Output template) { + $.template = template; + return this; + } + + /** + * @param template A `template` block as defined below. + * + * @return builder + * + */ + public Builder template(JobTemplateArgs template) { + return template(Output.of(template)); + } + + /** + * @param workloadProfileName The name of the workload profile to use for the Container App Job. + * + * @return builder + * + */ + public Builder workloadProfileName(@Nullable Output workloadProfileName) { + $.workloadProfileName = workloadProfileName; + return this; + } + + /** + * @param workloadProfileName The name of the workload profile to use for the Container App Job. + * + * @return builder + * + */ + public Builder workloadProfileName(String workloadProfileName) { + return workloadProfileName(Output.of(workloadProfileName)); + } + + public JobState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateArgs.java new file mode 100644 index 0000000000..a7c49c2ba4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateArgs.java @@ -0,0 +1,194 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateInitContainerArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateVolumeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateArgs Empty = new JobTemplateArgs(); + + /** + * A `container` block as defined below. + * + */ + @Import(name="containers", required=true) + private Output> containers; + + /** + * @return A `container` block as defined below. + * + */ + public Output> containers() { + return this.containers; + } + + /** + * A `init_container` block as defined below. + * + */ + @Import(name="initContainers") + private @Nullable Output> initContainers; + + /** + * @return A `init_container` block as defined below. + * + */ + public Optional>> initContainers() { + return Optional.ofNullable(this.initContainers); + } + + /** + * A `volume` block as defined below. + * + */ + @Import(name="volumes") + private @Nullable Output> volumes; + + /** + * @return A `volume` block as defined below. + * + */ + public Optional>> volumes() { + return Optional.ofNullable(this.volumes); + } + + private JobTemplateArgs() {} + + private JobTemplateArgs(JobTemplateArgs $) { + this.containers = $.containers; + this.initContainers = $.initContainers; + this.volumes = $.volumes; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateArgs $; + + public Builder() { + $ = new JobTemplateArgs(); + } + + public Builder(JobTemplateArgs defaults) { + $ = new JobTemplateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containers A `container` block as defined below. + * + * @return builder + * + */ + public Builder containers(Output> containers) { + $.containers = containers; + return this; + } + + /** + * @param containers A `container` block as defined below. + * + * @return builder + * + */ + public Builder containers(List containers) { + return containers(Output.of(containers)); + } + + /** + * @param containers A `container` block as defined below. + * + * @return builder + * + */ + public Builder containers(JobTemplateContainerArgs... containers) { + return containers(List.of(containers)); + } + + /** + * @param initContainers A `init_container` block as defined below. + * + * @return builder + * + */ + public Builder initContainers(@Nullable Output> initContainers) { + $.initContainers = initContainers; + return this; + } + + /** + * @param initContainers A `init_container` block as defined below. + * + * @return builder + * + */ + public Builder initContainers(List initContainers) { + return initContainers(Output.of(initContainers)); + } + + /** + * @param initContainers A `init_container` block as defined below. + * + * @return builder + * + */ + public Builder initContainers(JobTemplateInitContainerArgs... initContainers) { + return initContainers(List.of(initContainers)); + } + + /** + * @param volumes A `volume` block as defined below. + * + * @return builder + * + */ + public Builder volumes(@Nullable Output> volumes) { + $.volumes = volumes; + return this; + } + + /** + * @param volumes A `volume` block as defined below. + * + * @return builder + * + */ + public Builder volumes(List volumes) { + return volumes(Output.of(volumes)); + } + + /** + * @param volumes A `volume` block as defined below. + * + * @return builder + * + */ + public Builder volumes(JobTemplateVolumeArgs... volumes) { + return volumes(List.of(volumes)); + } + + public JobTemplateArgs build() { + if ($.containers == null) { + throw new MissingRequiredPropertyException("JobTemplateArgs", "containers"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerArgs.java new file mode 100644 index 0000000000..f32b5a94a6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerArgs.java @@ -0,0 +1,604 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerEnvArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerLivenessProbeArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerReadinessProbeArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerStartupProbeArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerVolumeMountArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateContainerArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerArgs Empty = new JobTemplateContainerArgs(); + + /** + * A list of extra arguments to pass to the container. + * + */ + @Import(name="args") + private @Nullable Output> args; + + /** + * @return A list of extra arguments to pass to the container. + * + */ + public Optional>> args() { + return Optional.ofNullable(this.args); + } + + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + @Import(name="commands") + private @Nullable Output> commands; + + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + public Optional>> commands() { + return Optional.ofNullable(this.commands); + } + + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + @Import(name="cpu", required=true) + private Output cpu; + + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + public Output cpu() { + return this.cpu; + } + + /** + * One or more `env` blocks as detailed below. + * + */ + @Import(name="envs") + private @Nullable Output> envs; + + /** + * @return One or more `env` blocks as detailed below. + * + */ + public Optional>> envs() { + return Optional.ofNullable(this.envs); + } + + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + @Import(name="ephemeralStorage") + private @Nullable Output ephemeralStorage; + + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + public Optional> ephemeralStorage() { + return Optional.ofNullable(this.ephemeralStorage); + } + + /** + * The image to use to create the container. + * + */ + @Import(name="image", required=true) + private Output image; + + /** + * @return The image to use to create the container. + * + */ + public Output image() { + return this.image; + } + + /** + * A `liveness_probe` block as detailed below. + * + */ + @Import(name="livenessProbes") + private @Nullable Output> livenessProbes; + + /** + * @return A `liveness_probe` block as detailed below. + * + */ + public Optional>> livenessProbes() { + return Optional.ofNullable(this.livenessProbes); + } + + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + @Import(name="memory", required=true) + private Output memory; + + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + public Output memory() { + return this.memory; + } + + /** + * The name of the container. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the container. + * + */ + public Output name() { + return this.name; + } + + /** + * A `readiness_probe` block as detailed below. + * + */ + @Import(name="readinessProbes") + private @Nullable Output> readinessProbes; + + /** + * @return A `readiness_probe` block as detailed below. + * + */ + public Optional>> readinessProbes() { + return Optional.ofNullable(this.readinessProbes); + } + + /** + * A `startup_probe` block as detailed below. + * + */ + @Import(name="startupProbes") + private @Nullable Output> startupProbes; + + /** + * @return A `startup_probe` block as detailed below. + * + */ + public Optional>> startupProbes() { + return Optional.ofNullable(this.startupProbes); + } + + /** + * A `volume_mounts` block as detailed below. + * + */ + @Import(name="volumeMounts") + private @Nullable Output> volumeMounts; + + /** + * @return A `volume_mounts` block as detailed below. + * + */ + public Optional>> volumeMounts() { + return Optional.ofNullable(this.volumeMounts); + } + + private JobTemplateContainerArgs() {} + + private JobTemplateContainerArgs(JobTemplateContainerArgs $) { + this.args = $.args; + this.commands = $.commands; + this.cpu = $.cpu; + this.envs = $.envs; + this.ephemeralStorage = $.ephemeralStorage; + this.image = $.image; + this.livenessProbes = $.livenessProbes; + this.memory = $.memory; + this.name = $.name; + this.readinessProbes = $.readinessProbes; + this.startupProbes = $.startupProbes; + this.volumeMounts = $.volumeMounts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerArgs $; + + public Builder() { + $ = new JobTemplateContainerArgs(); + } + + public Builder(JobTemplateContainerArgs defaults) { + $ = new JobTemplateContainerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(@Nullable Output> args) { + $.args = args; + return this; + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(List args) { + return args(Output.of(args)); + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(String... args) { + return args(List.of(args)); + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(@Nullable Output> commands) { + $.commands = commands; + return this; + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(List commands) { + return commands(Output.of(commands)); + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + + /** + * @param cpu The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + * @return builder + * + */ + public Builder cpu(Output cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param cpu The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + * @return builder + * + */ + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(@Nullable Output> envs) { + $.envs = envs; + return this; + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(List envs) { + return envs(Output.of(envs)); + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(JobTemplateContainerEnvArgs... envs) { + return envs(List.of(envs)); + } + + /** + * @param ephemeralStorage The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + * @return builder + * + */ + public Builder ephemeralStorage(@Nullable Output ephemeralStorage) { + $.ephemeralStorage = ephemeralStorage; + return this; + } + + /** + * @param ephemeralStorage The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + * @return builder + * + */ + public Builder ephemeralStorage(String ephemeralStorage) { + return ephemeralStorage(Output.of(ephemeralStorage)); + } + + /** + * @param image The image to use to create the container. + * + * @return builder + * + */ + public Builder image(Output image) { + $.image = image; + return this; + } + + /** + * @param image The image to use to create the container. + * + * @return builder + * + */ + public Builder image(String image) { + return image(Output.of(image)); + } + + /** + * @param livenessProbes A `liveness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder livenessProbes(@Nullable Output> livenessProbes) { + $.livenessProbes = livenessProbes; + return this; + } + + /** + * @param livenessProbes A `liveness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder livenessProbes(List livenessProbes) { + return livenessProbes(Output.of(livenessProbes)); + } + + /** + * @param livenessProbes A `liveness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder livenessProbes(JobTemplateContainerLivenessProbeArgs... livenessProbes) { + return livenessProbes(List.of(livenessProbes)); + } + + /** + * @param memory The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + * @return builder + * + */ + public Builder memory(Output memory) { + $.memory = memory; + return this; + } + + /** + * @param memory The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + * @return builder + * + */ + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + /** + * @param name The name of the container. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the container. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param readinessProbes A `readiness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder readinessProbes(@Nullable Output> readinessProbes) { + $.readinessProbes = readinessProbes; + return this; + } + + /** + * @param readinessProbes A `readiness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder readinessProbes(List readinessProbes) { + return readinessProbes(Output.of(readinessProbes)); + } + + /** + * @param readinessProbes A `readiness_probe` block as detailed below. + * + * @return builder + * + */ + public Builder readinessProbes(JobTemplateContainerReadinessProbeArgs... readinessProbes) { + return readinessProbes(List.of(readinessProbes)); + } + + /** + * @param startupProbes A `startup_probe` block as detailed below. + * + * @return builder + * + */ + public Builder startupProbes(@Nullable Output> startupProbes) { + $.startupProbes = startupProbes; + return this; + } + + /** + * @param startupProbes A `startup_probe` block as detailed below. + * + * @return builder + * + */ + public Builder startupProbes(List startupProbes) { + return startupProbes(Output.of(startupProbes)); + } + + /** + * @param startupProbes A `startup_probe` block as detailed below. + * + * @return builder + * + */ + public Builder startupProbes(JobTemplateContainerStartupProbeArgs... startupProbes) { + return startupProbes(List.of(startupProbes)); + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(@Nullable Output> volumeMounts) { + $.volumeMounts = volumeMounts; + return this; + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(List volumeMounts) { + return volumeMounts(Output.of(volumeMounts)); + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(JobTemplateContainerVolumeMountArgs... volumeMounts) { + return volumeMounts(List.of(volumeMounts)); + } + + public JobTemplateContainerArgs build() { + if ($.cpu == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerArgs", "cpu"); + } + if ($.image == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerArgs", "image"); + } + if ($.memory == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerArgs", "memory"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerEnvArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerEnvArgs.java new file mode 100644 index 0000000000..f750d580a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerEnvArgs.java @@ -0,0 +1,161 @@ +// *** 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.azure.containerapp.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateContainerEnvArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerEnvArgs Empty = new JobTemplateContainerEnvArgs(); + + /** + * The name of the environment variable. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the environment variable. + * + */ + public Output name() { + return this.name; + } + + /** + * Name of the Container App secret from which to pull the environment variable value. + * + */ + @Import(name="secretName") + private @Nullable Output secretName; + + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + public Optional> secretName() { + return Optional.ofNullable(this.secretName); + } + + /** + * The value of the environment variable. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return The value of the environment variable. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private JobTemplateContainerEnvArgs() {} + + private JobTemplateContainerEnvArgs(JobTemplateContainerEnvArgs $) { + this.name = $.name; + this.secretName = $.secretName; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerEnvArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerEnvArgs $; + + public Builder() { + $ = new JobTemplateContainerEnvArgs(); + } + + public Builder(JobTemplateContainerEnvArgs defaults) { + $ = new JobTemplateContainerEnvArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the environment variable. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the environment variable. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param secretName Name of the Container App secret from which to pull the environment variable value. + * + * @return builder + * + */ + public Builder secretName(@Nullable Output secretName) { + $.secretName = secretName; + return this; + } + + /** + * @param secretName Name of the Container App secret from which to pull the environment variable value. + * + * @return builder + * + */ + public Builder secretName(String secretName) { + return secretName(Output.of(secretName)); + } + + /** + * @param value The value of the environment variable. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the environment variable. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobTemplateContainerEnvArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerEnvArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeArgs.java new file mode 100644 index 0000000000..5614f7a7cf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeArgs.java @@ -0,0 +1,436 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerLivenessProbeHeaderArgs; +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.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateContainerLivenessProbeArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerLivenessProbeArgs Empty = new JobTemplateContainerLivenessProbeArgs(); + + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + @Import(name="failureCountThreshold") + private @Nullable Output failureCountThreshold; + + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional> failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + + /** + * A `header` block as detailed below. + * + */ + @Import(name="headers") + private @Nullable Output> headers; + + /** + * @return A `header` block as detailed below. + * + */ + public Optional>> headers() { + return Optional.ofNullable(this.headers); + } + + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + @Import(name="host") + private @Nullable Output host; + + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional> host() { + return Optional.ofNullable(this.host); + } + + /** + * The time in seconds to wait after the container has started before the probe is started. + * + */ + @Import(name="initialDelay") + private @Nullable Output initialDelay; + + /** + * @return The time in seconds to wait after the container has started before the probe is started. + * + */ + public Optional> initialDelay() { + return Optional.ofNullable(this.initialDelay); + } + + /** + * How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + */ + @Import(name="intervalSeconds") + private @Nullable Output intervalSeconds; + + /** + * @return How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + */ + public Optional> intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + @Import(name="port", required=true) + private Output port; + + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Output port() { + return this.port; + } + + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + @Import(name="terminationGracePeriodSeconds") + private @Nullable Output terminationGracePeriodSeconds; + + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + public Optional> terminationGracePeriodSeconds() { + return Optional.ofNullable(this.terminationGracePeriodSeconds); + } + + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + @Import(name="transport", required=true) + private Output transport; + + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public Output transport() { + return this.transport; + } + + private JobTemplateContainerLivenessProbeArgs() {} + + private JobTemplateContainerLivenessProbeArgs(JobTemplateContainerLivenessProbeArgs $) { + this.failureCountThreshold = $.failureCountThreshold; + this.headers = $.headers; + this.host = $.host; + this.initialDelay = $.initialDelay; + this.intervalSeconds = $.intervalSeconds; + this.path = $.path; + this.port = $.port; + this.terminationGracePeriodSeconds = $.terminationGracePeriodSeconds; + this.timeout = $.timeout; + this.transport = $.transport; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerLivenessProbeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerLivenessProbeArgs $; + + public Builder() { + $ = new JobTemplateContainerLivenessProbeArgs(); + } + + public Builder(JobTemplateContainerLivenessProbeArgs defaults) { + $ = new JobTemplateContainerLivenessProbeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(@Nullable Output failureCountThreshold) { + $.failureCountThreshold = failureCountThreshold; + return this; + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(Integer failureCountThreshold) { + return failureCountThreshold(Output.of(failureCountThreshold)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(@Nullable Output> headers) { + $.headers = headers; + return this; + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(List headers) { + return headers(Output.of(headers)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(JobTemplateContainerLivenessProbeHeaderArgs... headers) { + return headers(List.of(headers)); + } + + /** + * @param host The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(@Nullable Output host) { + $.host = host; + return this; + } + + /** + * @param host The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(String host) { + return host(Output.of(host)); + } + + /** + * @param initialDelay The time in seconds to wait after the container has started before the probe is started. + * + * @return builder + * + */ + public Builder initialDelay(@Nullable Output initialDelay) { + $.initialDelay = initialDelay; + return this; + } + + /** + * @param initialDelay The time in seconds to wait after the container has started before the probe is started. + * + * @return builder + * + */ + public Builder initialDelay(Integer initialDelay) { + return initialDelay(Output.of(initialDelay)); + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + * @return builder + * + */ + public Builder intervalSeconds(@Nullable Output intervalSeconds) { + $.intervalSeconds = intervalSeconds; + return this; + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + * @return builder + * + */ + public Builder intervalSeconds(Integer intervalSeconds) { + return intervalSeconds(Output.of(intervalSeconds)); + } + + /** + * @param path The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param terminationGracePeriodSeconds The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(@Nullable Output terminationGracePeriodSeconds) { + $.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + + /** + * @param terminationGracePeriodSeconds The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(Integer terminationGracePeriodSeconds) { + return terminationGracePeriodSeconds(Output.of(terminationGracePeriodSeconds)); + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(Output transport) { + $.transport = transport; + return this; + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(String transport) { + return transport(Output.of(transport)); + } + + public JobTemplateContainerLivenessProbeArgs build() { + if ($.port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeArgs", "port"); + } + if ($.transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeArgs", "transport"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeHeaderArgs.java new file mode 100644 index 0000000000..6cb1d1bbcd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerLivenessProbeHeaderArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobTemplateContainerLivenessProbeHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerLivenessProbeHeaderArgs Empty = new JobTemplateContainerLivenessProbeHeaderArgs(); + + /** + * The HTTP Header Name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The HTTP Header Name. + * + */ + public Output name() { + return this.name; + } + + /** + * The HTTP Header value. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The HTTP Header value. + * + */ + public Output value() { + return this.value; + } + + private JobTemplateContainerLivenessProbeHeaderArgs() {} + + private JobTemplateContainerLivenessProbeHeaderArgs(JobTemplateContainerLivenessProbeHeaderArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerLivenessProbeHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerLivenessProbeHeaderArgs $; + + public Builder() { + $ = new JobTemplateContainerLivenessProbeHeaderArgs(); + } + + public Builder(JobTemplateContainerLivenessProbeHeaderArgs defaults) { + $ = new JobTemplateContainerLivenessProbeHeaderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobTemplateContainerLivenessProbeHeaderArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeHeaderArgs", "name"); + } + if ($.value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeHeaderArgs", "value"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeArgs.java new file mode 100644 index 0000000000..3ece57741b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeArgs.java @@ -0,0 +1,399 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerReadinessProbeHeaderArgs; +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.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateContainerReadinessProbeArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerReadinessProbeArgs Empty = new JobTemplateContainerReadinessProbeArgs(); + + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + @Import(name="failureCountThreshold") + private @Nullable Output failureCountThreshold; + + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional> failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + + /** + * A `header` block as detailed below. + * + */ + @Import(name="headers") + private @Nullable Output> headers; + + /** + * @return A `header` block as detailed below. + * + */ + public Optional>> headers() { + return Optional.ofNullable(this.headers); + } + + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + @Import(name="host") + private @Nullable Output host; + + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional> host() { + return Optional.ofNullable(this.host); + } + + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + @Import(name="intervalSeconds") + private @Nullable Output intervalSeconds; + + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + public Optional> intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + + /** + * The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + @Import(name="port", required=true) + private Output port; + + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Output port() { + return this.port; + } + + /** + * The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + @Import(name="successCountThreshold") + private @Nullable Output successCountThreshold; + + /** + * @return The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional> successCountThreshold() { + return Optional.ofNullable(this.successCountThreshold); + } + + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + @Import(name="transport", required=true) + private Output transport; + + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public Output transport() { + return this.transport; + } + + private JobTemplateContainerReadinessProbeArgs() {} + + private JobTemplateContainerReadinessProbeArgs(JobTemplateContainerReadinessProbeArgs $) { + this.failureCountThreshold = $.failureCountThreshold; + this.headers = $.headers; + this.host = $.host; + this.intervalSeconds = $.intervalSeconds; + this.path = $.path; + this.port = $.port; + this.successCountThreshold = $.successCountThreshold; + this.timeout = $.timeout; + this.transport = $.transport; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerReadinessProbeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerReadinessProbeArgs $; + + public Builder() { + $ = new JobTemplateContainerReadinessProbeArgs(); + } + + public Builder(JobTemplateContainerReadinessProbeArgs defaults) { + $ = new JobTemplateContainerReadinessProbeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(@Nullable Output failureCountThreshold) { + $.failureCountThreshold = failureCountThreshold; + return this; + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(Integer failureCountThreshold) { + return failureCountThreshold(Output.of(failureCountThreshold)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(@Nullable Output> headers) { + $.headers = headers; + return this; + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(List headers) { + return headers(Output.of(headers)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(JobTemplateContainerReadinessProbeHeaderArgs... headers) { + return headers(List.of(headers)); + } + + /** + * @param host The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(@Nullable Output host) { + $.host = host; + return this; + } + + /** + * @param host The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(String host) { + return host(Output.of(host)); + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + * @return builder + * + */ + public Builder intervalSeconds(@Nullable Output intervalSeconds) { + $.intervalSeconds = intervalSeconds; + return this; + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + * @return builder + * + */ + public Builder intervalSeconds(Integer intervalSeconds) { + return intervalSeconds(Output.of(intervalSeconds)); + } + + /** + * @param path The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param successCountThreshold The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder successCountThreshold(@Nullable Output successCountThreshold) { + $.successCountThreshold = successCountThreshold; + return this; + } + + /** + * @param successCountThreshold The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder successCountThreshold(Integer successCountThreshold) { + return successCountThreshold(Output.of(successCountThreshold)); + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(Output transport) { + $.transport = transport; + return this; + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(String transport) { + return transport(Output.of(transport)); + } + + public JobTemplateContainerReadinessProbeArgs build() { + if ($.port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeArgs", "port"); + } + if ($.transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeArgs", "transport"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeHeaderArgs.java new file mode 100644 index 0000000000..8d4145d0dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerReadinessProbeHeaderArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobTemplateContainerReadinessProbeHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerReadinessProbeHeaderArgs Empty = new JobTemplateContainerReadinessProbeHeaderArgs(); + + /** + * The HTTP Header Name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The HTTP Header Name. + * + */ + public Output name() { + return this.name; + } + + /** + * The HTTP Header value. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The HTTP Header value. + * + */ + public Output value() { + return this.value; + } + + private JobTemplateContainerReadinessProbeHeaderArgs() {} + + private JobTemplateContainerReadinessProbeHeaderArgs(JobTemplateContainerReadinessProbeHeaderArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerReadinessProbeHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerReadinessProbeHeaderArgs $; + + public Builder() { + $ = new JobTemplateContainerReadinessProbeHeaderArgs(); + } + + public Builder(JobTemplateContainerReadinessProbeHeaderArgs defaults) { + $ = new JobTemplateContainerReadinessProbeHeaderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobTemplateContainerReadinessProbeHeaderArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeHeaderArgs", "name"); + } + if ($.value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeHeaderArgs", "value"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeArgs.java new file mode 100644 index 0000000000..42851c935e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeArgs.java @@ -0,0 +1,399 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateContainerStartupProbeHeaderArgs; +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.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateContainerStartupProbeArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerStartupProbeArgs Empty = new JobTemplateContainerStartupProbeArgs(); + + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + @Import(name="failureCountThreshold") + private @Nullable Output failureCountThreshold; + + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional> failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + + /** + * A `header` block as detailed below. + * + */ + @Import(name="headers") + private @Nullable Output> headers; + + /** + * @return A `header` block as detailed below. + * + */ + public Optional>> headers() { + return Optional.ofNullable(this.headers); + } + + /** + * The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + @Import(name="host") + private @Nullable Output host; + + /** + * @return The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional> host() { + return Optional.ofNullable(this.host); + } + + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + @Import(name="intervalSeconds") + private @Nullable Output intervalSeconds; + + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + public Optional> intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + @Import(name="port", required=true) + private Output port; + + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Output port() { + return this.port; + } + + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + @Import(name="terminationGracePeriodSeconds") + private @Nullable Output terminationGracePeriodSeconds; + + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + public Optional> terminationGracePeriodSeconds() { + return Optional.ofNullable(this.terminationGracePeriodSeconds); + } + + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + @Import(name="transport", required=true) + private Output transport; + + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public Output transport() { + return this.transport; + } + + private JobTemplateContainerStartupProbeArgs() {} + + private JobTemplateContainerStartupProbeArgs(JobTemplateContainerStartupProbeArgs $) { + this.failureCountThreshold = $.failureCountThreshold; + this.headers = $.headers; + this.host = $.host; + this.intervalSeconds = $.intervalSeconds; + this.path = $.path; + this.port = $.port; + this.terminationGracePeriodSeconds = $.terminationGracePeriodSeconds; + this.timeout = $.timeout; + this.transport = $.transport; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerStartupProbeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerStartupProbeArgs $; + + public Builder() { + $ = new JobTemplateContainerStartupProbeArgs(); + } + + public Builder(JobTemplateContainerStartupProbeArgs defaults) { + $ = new JobTemplateContainerStartupProbeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(@Nullable Output failureCountThreshold) { + $.failureCountThreshold = failureCountThreshold; + return this; + } + + /** + * @param failureCountThreshold The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + * @return builder + * + */ + public Builder failureCountThreshold(Integer failureCountThreshold) { + return failureCountThreshold(Output.of(failureCountThreshold)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(@Nullable Output> headers) { + $.headers = headers; + return this; + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(List headers) { + return headers(Output.of(headers)); + } + + /** + * @param headers A `header` block as detailed below. + * + * @return builder + * + */ + public Builder headers(JobTemplateContainerStartupProbeHeaderArgs... headers) { + return headers(List.of(headers)); + } + + /** + * @param host The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(@Nullable Output host) { + $.host = host; + return this; + } + + /** + * @param host The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + * @return builder + * + */ + public Builder host(String host) { + return host(Output.of(host)); + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + * @return builder + * + */ + public Builder intervalSeconds(@Nullable Output intervalSeconds) { + $.intervalSeconds = intervalSeconds; + return this; + } + + /** + * @param intervalSeconds How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + * @return builder + * + */ + public Builder intervalSeconds(Integer intervalSeconds) { + return intervalSeconds(Output.of(intervalSeconds)); + } + + /** + * @param path The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number on which to connect. Possible values are between `1` and `65535`. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param terminationGracePeriodSeconds The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(@Nullable Output terminationGracePeriodSeconds) { + $.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + + /** + * @param terminationGracePeriodSeconds The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + * @return builder + * + */ + public Builder terminationGracePeriodSeconds(Integer terminationGracePeriodSeconds) { + return terminationGracePeriodSeconds(Output.of(terminationGracePeriodSeconds)); + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + * @return builder + * + */ + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(Output transport) { + $.transport = transport; + return this; + } + + /** + * @param transport Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + * @return builder + * + */ + public Builder transport(String transport) { + return transport(Output.of(transport)); + } + + public JobTemplateContainerStartupProbeArgs build() { + if ($.port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeArgs", "port"); + } + if ($.transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeArgs", "transport"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeHeaderArgs.java new file mode 100644 index 0000000000..4ad9c979e3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerStartupProbeHeaderArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobTemplateContainerStartupProbeHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerStartupProbeHeaderArgs Empty = new JobTemplateContainerStartupProbeHeaderArgs(); + + /** + * The HTTP Header Name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The HTTP Header Name. + * + */ + public Output name() { + return this.name; + } + + /** + * The HTTP Header value. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The HTTP Header value. + * + */ + public Output value() { + return this.value; + } + + private JobTemplateContainerStartupProbeHeaderArgs() {} + + private JobTemplateContainerStartupProbeHeaderArgs(JobTemplateContainerStartupProbeHeaderArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerStartupProbeHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerStartupProbeHeaderArgs $; + + public Builder() { + $ = new JobTemplateContainerStartupProbeHeaderArgs(); + } + + public Builder(JobTemplateContainerStartupProbeHeaderArgs defaults) { + $ = new JobTemplateContainerStartupProbeHeaderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The HTTP Header Name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The HTTP Header value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobTemplateContainerStartupProbeHeaderArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeHeaderArgs", "name"); + } + if ($.value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeHeaderArgs", "value"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerVolumeMountArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerVolumeMountArgs.java new file mode 100644 index 0000000000..2a18bac3bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateContainerVolumeMountArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobTemplateContainerVolumeMountArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateContainerVolumeMountArgs Empty = new JobTemplateContainerVolumeMountArgs(); + + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + public Output name() { + return this.name; + } + + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + @Import(name="path", required=true) + private Output path; + + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + public Output path() { + return this.path; + } + + private JobTemplateContainerVolumeMountArgs() {} + + private JobTemplateContainerVolumeMountArgs(JobTemplateContainerVolumeMountArgs $) { + this.name = $.name; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateContainerVolumeMountArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateContainerVolumeMountArgs $; + + public Builder() { + $ = new JobTemplateContainerVolumeMountArgs(); + } + + public Builder(JobTemplateContainerVolumeMountArgs defaults) { + $ = new JobTemplateContainerVolumeMountArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param path The path within the container at which the volume should be mounted. Must not contain `:`. + * + * @return builder + * + */ + public Builder path(Output path) { + $.path = path; + return this; + } + + /** + * @param path The path within the container at which the volume should be mounted. Must not contain `:`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public JobTemplateContainerVolumeMountArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerVolumeMountArgs", "name"); + } + if ($.path == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerVolumeMountArgs", "path"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerArgs.java new file mode 100644 index 0000000000..1b4d3436a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerArgs.java @@ -0,0 +1,454 @@ +// *** 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.azure.containerapp.inputs; + +import com.pulumi.azure.containerapp.inputs.JobTemplateInitContainerEnvArgs; +import com.pulumi.azure.containerapp.inputs.JobTemplateInitContainerVolumeMountArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateInitContainerArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateInitContainerArgs Empty = new JobTemplateInitContainerArgs(); + + /** + * A list of extra arguments to pass to the container. + * + */ + @Import(name="args") + private @Nullable Output> args; + + /** + * @return A list of extra arguments to pass to the container. + * + */ + public Optional>> args() { + return Optional.ofNullable(this.args); + } + + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + @Import(name="commands") + private @Nullable Output> commands; + + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + public Optional>> commands() { + return Optional.ofNullable(this.commands); + } + + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + @Import(name="cpu") + private @Nullable Output cpu; + + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + /** + * One or more `env` blocks as detailed below. + * + */ + @Import(name="envs") + private @Nullable Output> envs; + + /** + * @return One or more `env` blocks as detailed below. + * + */ + public Optional>> envs() { + return Optional.ofNullable(this.envs); + } + + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + @Import(name="ephemeralStorage") + private @Nullable Output ephemeralStorage; + + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + public Optional> ephemeralStorage() { + return Optional.ofNullable(this.ephemeralStorage); + } + + /** + * The image to use to create the container. + * + */ + @Import(name="image", required=true) + private Output image; + + /** + * @return The image to use to create the container. + * + */ + public Output image() { + return this.image; + } + + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + @Import(name="memory") + private @Nullable Output memory; + + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + /** + * The name of the container. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the container. + * + */ + public Output name() { + return this.name; + } + + /** + * A `volume_mounts` block as detailed below. + * + */ + @Import(name="volumeMounts") + private @Nullable Output> volumeMounts; + + /** + * @return A `volume_mounts` block as detailed below. + * + */ + public Optional>> volumeMounts() { + return Optional.ofNullable(this.volumeMounts); + } + + private JobTemplateInitContainerArgs() {} + + private JobTemplateInitContainerArgs(JobTemplateInitContainerArgs $) { + this.args = $.args; + this.commands = $.commands; + this.cpu = $.cpu; + this.envs = $.envs; + this.ephemeralStorage = $.ephemeralStorage; + this.image = $.image; + this.memory = $.memory; + this.name = $.name; + this.volumeMounts = $.volumeMounts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateInitContainerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateInitContainerArgs $; + + public Builder() { + $ = new JobTemplateInitContainerArgs(); + } + + public Builder(JobTemplateInitContainerArgs defaults) { + $ = new JobTemplateInitContainerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(@Nullable Output> args) { + $.args = args; + return this; + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(List args) { + return args(Output.of(args)); + } + + /** + * @param args A list of extra arguments to pass to the container. + * + * @return builder + * + */ + public Builder args(String... args) { + return args(List.of(args)); + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(@Nullable Output> commands) { + $.commands = commands; + return this; + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(List commands) { + return commands(Output.of(commands)); + } + + /** + * @param commands A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + * @return builder + * + */ + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + + /** + * @param cpu The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + * @return builder + * + */ + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + /** + * @param cpu The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + * @return builder + * + */ + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(@Nullable Output> envs) { + $.envs = envs; + return this; + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(List envs) { + return envs(Output.of(envs)); + } + + /** + * @param envs One or more `env` blocks as detailed below. + * + * @return builder + * + */ + public Builder envs(JobTemplateInitContainerEnvArgs... envs) { + return envs(List.of(envs)); + } + + /** + * @param ephemeralStorage The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + * @return builder + * + */ + public Builder ephemeralStorage(@Nullable Output ephemeralStorage) { + $.ephemeralStorage = ephemeralStorage; + return this; + } + + /** + * @param ephemeralStorage The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + * @return builder + * + */ + public Builder ephemeralStorage(String ephemeralStorage) { + return ephemeralStorage(Output.of(ephemeralStorage)); + } + + /** + * @param image The image to use to create the container. + * + * @return builder + * + */ + public Builder image(Output image) { + $.image = image; + return this; + } + + /** + * @param image The image to use to create the container. + * + * @return builder + * + */ + public Builder image(String image) { + return image(Output.of(image)); + } + + /** + * @param memory The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + * @return builder + * + */ + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + /** + * @param memory The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + * @return builder + * + */ + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + /** + * @param name The name of the container. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the container. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(@Nullable Output> volumeMounts) { + $.volumeMounts = volumeMounts; + return this; + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(List volumeMounts) { + return volumeMounts(Output.of(volumeMounts)); + } + + /** + * @param volumeMounts A `volume_mounts` block as detailed below. + * + * @return builder + * + */ + public Builder volumeMounts(JobTemplateInitContainerVolumeMountArgs... volumeMounts) { + return volumeMounts(List.of(volumeMounts)); + } + + public JobTemplateInitContainerArgs build() { + if ($.image == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerArgs", "image"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerEnvArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerEnvArgs.java new file mode 100644 index 0000000000..927964777b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerEnvArgs.java @@ -0,0 +1,161 @@ +// *** 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.azure.containerapp.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateInitContainerEnvArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateInitContainerEnvArgs Empty = new JobTemplateInitContainerEnvArgs(); + + /** + * The name of the environment variable. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the environment variable. + * + */ + public Output name() { + return this.name; + } + + /** + * Name of the Container App secret from which to pull the environment variable value. + * + */ + @Import(name="secretName") + private @Nullable Output secretName; + + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + public Optional> secretName() { + return Optional.ofNullable(this.secretName); + } + + /** + * The value of the environment variable. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return The value of the environment variable. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private JobTemplateInitContainerEnvArgs() {} + + private JobTemplateInitContainerEnvArgs(JobTemplateInitContainerEnvArgs $) { + this.name = $.name; + this.secretName = $.secretName; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateInitContainerEnvArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateInitContainerEnvArgs $; + + public Builder() { + $ = new JobTemplateInitContainerEnvArgs(); + } + + public Builder(JobTemplateInitContainerEnvArgs defaults) { + $ = new JobTemplateInitContainerEnvArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the environment variable. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the environment variable. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param secretName Name of the Container App secret from which to pull the environment variable value. + * + * @return builder + * + */ + public Builder secretName(@Nullable Output secretName) { + $.secretName = secretName; + return this; + } + + /** + * @param secretName Name of the Container App secret from which to pull the environment variable value. + * + * @return builder + * + */ + public Builder secretName(String secretName) { + return secretName(Output.of(secretName)); + } + + /** + * @param value The value of the environment variable. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the environment variable. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobTemplateInitContainerEnvArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerEnvArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerVolumeMountArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerVolumeMountArgs.java new file mode 100644 index 0000000000..ea3d055d73 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateInitContainerVolumeMountArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.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 JobTemplateInitContainerVolumeMountArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateInitContainerVolumeMountArgs Empty = new JobTemplateInitContainerVolumeMountArgs(); + + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + public Output name() { + return this.name; + } + + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + @Import(name="path", required=true) + private Output path; + + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + public Output path() { + return this.path; + } + + private JobTemplateInitContainerVolumeMountArgs() {} + + private JobTemplateInitContainerVolumeMountArgs(JobTemplateInitContainerVolumeMountArgs $) { + this.name = $.name; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateInitContainerVolumeMountArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateInitContainerVolumeMountArgs $; + + public Builder() { + $ = new JobTemplateInitContainerVolumeMountArgs(); + } + + public Builder(JobTemplateInitContainerVolumeMountArgs defaults) { + $ = new JobTemplateInitContainerVolumeMountArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param path The path within the container at which the volume should be mounted. Must not contain `:`. + * + * @return builder + * + */ + public Builder path(Output path) { + $.path = path; + return this; + } + + /** + * @param path The path within the container at which the volume should be mounted. Must not contain `:`. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public JobTemplateInitContainerVolumeMountArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerVolumeMountArgs", "name"); + } + if ($.path == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerVolumeMountArgs", "path"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateVolumeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateVolumeArgs.java new file mode 100644 index 0000000000..446d606178 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/JobTemplateVolumeArgs.java @@ -0,0 +1,161 @@ +// *** 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.azure.containerapp.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobTemplateVolumeArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobTemplateVolumeArgs Empty = new JobTemplateVolumeArgs(); + + /** + * The name of the volume. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the volume. + * + */ + public Output name() { + return this.name; + } + + /** + * The name of the storage to use for the volume. + * + */ + @Import(name="storageName") + private @Nullable Output storageName; + + /** + * @return The name of the storage to use for the volume. + * + */ + public Optional> storageName() { + return Optional.ofNullable(this.storageName); + } + + /** + * The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + */ + @Import(name="storageType") + private @Nullable Output storageType; + + /** + * @return The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + */ + public Optional> storageType() { + return Optional.ofNullable(this.storageType); + } + + private JobTemplateVolumeArgs() {} + + private JobTemplateVolumeArgs(JobTemplateVolumeArgs $) { + this.name = $.name; + this.storageName = $.storageName; + this.storageType = $.storageType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobTemplateVolumeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobTemplateVolumeArgs $; + + public Builder() { + $ = new JobTemplateVolumeArgs(); + } + + public Builder(JobTemplateVolumeArgs defaults) { + $ = new JobTemplateVolumeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the volume. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the volume. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param storageName The name of the storage to use for the volume. + * + * @return builder + * + */ + public Builder storageName(@Nullable Output storageName) { + $.storageName = storageName; + return this; + } + + /** + * @param storageName The name of the storage to use for the volume. + * + * @return builder + * + */ + public Builder storageName(String storageName) { + return storageName(Output.of(storageName)); + } + + /** + * @param storageType The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + * @return builder + * + */ + public Builder storageType(@Nullable Output storageType) { + $.storageType = storageType; + return this; + } + + /** + * @param storageType The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + * @return builder + * + */ + public Builder storageType(String storageType) { + return storageType(Output.of(storageType)); + } + + public JobTemplateVolumeArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobTemplateVolumeArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppSecret.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppSecret.java index b8a003fb31..43edce19b3 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppSecret.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppSecret.java @@ -36,8 +36,6 @@ public final class AppSecret { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * */ private @Nullable String value; @@ -72,8 +70,6 @@ public String name() { * * !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. - * */ public Optional value() { return Optional.ofNullable(this.value); diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetEnvironmentResult.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetEnvironmentResult.java index 72b4054507..9519594391 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetEnvironmentResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetEnvironmentResult.java @@ -12,6 +12,11 @@ @CustomType public final class GetEnvironmentResult { + /** + * @return The ID of the Custom Domain Verification for this Container App Environment. + * + */ + private String customDomainVerificationId; /** * @return The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. * @@ -71,6 +76,13 @@ public final class GetEnvironmentResult { private Map tags; private GetEnvironmentResult() {} + /** + * @return The ID of the Custom Domain Verification for this Container App Environment. + * + */ + public String customDomainVerificationId() { + return this.customDomainVerificationId; + } /** * @return The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. * @@ -164,6 +176,7 @@ public static Builder builder(GetEnvironmentResult defaults) { } @CustomType.Builder public static final class Builder { + private String customDomainVerificationId; private String defaultDomain; private String dockerBridgeCidr; private String id; @@ -180,6 +193,7 @@ public static final class Builder { public Builder() {} public Builder(GetEnvironmentResult defaults) { Objects.requireNonNull(defaults); + this.customDomainVerificationId = defaults.customDomainVerificationId; this.defaultDomain = defaults.defaultDomain; this.dockerBridgeCidr = defaults.dockerBridgeCidr; this.id = defaults.id; @@ -195,6 +209,14 @@ public Builder(GetEnvironmentResult defaults) { this.tags = defaults.tags; } + @CustomType.Setter + public Builder customDomainVerificationId(String customDomainVerificationId) { + if (customDomainVerificationId == null) { + throw new MissingRequiredPropertyException("GetEnvironmentResult", "customDomainVerificationId"); + } + this.customDomainVerificationId = customDomainVerificationId; + return this; + } @CustomType.Setter public Builder defaultDomain(String defaultDomain) { if (defaultDomain == null) { @@ -301,6 +323,7 @@ public Builder tags(Map tags) { } public GetEnvironmentResult build() { final var _resultValue = new GetEnvironmentResult(); + _resultValue.customDomainVerificationId = customDomainVerificationId; _resultValue.defaultDomain = defaultDomain; _resultValue.dockerBridgeCidr = dockerBridgeCidr; _resultValue.id = id; diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfig.java new file mode 100644 index 0000000000..14308eee76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfig.java @@ -0,0 +1,104 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobEventTriggerConfigScale; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobEventTriggerConfig { + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + private @Nullable Integer parallelism; + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + private @Nullable Integer replicaCompletionCount; + /** + * @return A `scale` block as defined below. + * + */ + private @Nullable List scales; + + private JobEventTriggerConfig() {} + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional parallelism() { + return Optional.ofNullable(this.parallelism); + } + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + /** + * @return A `scale` block as defined below. + * + */ + public List scales() { + return this.scales == null ? List.of() : this.scales; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobEventTriggerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer parallelism; + private @Nullable Integer replicaCompletionCount; + private @Nullable List scales; + public Builder() {} + public Builder(JobEventTriggerConfig defaults) { + Objects.requireNonNull(defaults); + this.parallelism = defaults.parallelism; + this.replicaCompletionCount = defaults.replicaCompletionCount; + this.scales = defaults.scales; + } + + @CustomType.Setter + public Builder parallelism(@Nullable Integer parallelism) { + + this.parallelism = parallelism; + return this; + } + @CustomType.Setter + public Builder replicaCompletionCount(@Nullable Integer replicaCompletionCount) { + + this.replicaCompletionCount = replicaCompletionCount; + return this; + } + @CustomType.Setter + public Builder scales(@Nullable List scales) { + + this.scales = scales; + return this; + } + public Builder scales(JobEventTriggerConfigScale... scales) { + return scales(List.of(scales)); + } + public JobEventTriggerConfig build() { + final var _resultValue = new JobEventTriggerConfig(); + _resultValue.parallelism = parallelism; + _resultValue.replicaCompletionCount = replicaCompletionCount; + _resultValue.scales = scales; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScale.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScale.java new file mode 100644 index 0000000000..d89b14814c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScale.java @@ -0,0 +1,125 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobEventTriggerConfigScaleRule; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobEventTriggerConfigScale { + /** + * @return Maximum number of job executions that are created for a trigger. + * + */ + private @Nullable Integer maxExecutions; + /** + * @return Minimum number of job executions that are created for a trigger. + * + */ + private @Nullable Integer minExecutions; + /** + * @return Interval to check each event source in seconds. + * + */ + private @Nullable Integer pollingIntervalInSeconds; + /** + * @return A `rules` block as defined below. + * + */ + private @Nullable List rules; + + private JobEventTriggerConfigScale() {} + /** + * @return Maximum number of job executions that are created for a trigger. + * + */ + public Optional maxExecutions() { + return Optional.ofNullable(this.maxExecutions); + } + /** + * @return Minimum number of job executions that are created for a trigger. + * + */ + public Optional minExecutions() { + return Optional.ofNullable(this.minExecutions); + } + /** + * @return Interval to check each event source in seconds. + * + */ + public Optional pollingIntervalInSeconds() { + return Optional.ofNullable(this.pollingIntervalInSeconds); + } + /** + * @return A `rules` block as defined below. + * + */ + public List rules() { + return this.rules == null ? List.of() : this.rules; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobEventTriggerConfigScale defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer maxExecutions; + private @Nullable Integer minExecutions; + private @Nullable Integer pollingIntervalInSeconds; + private @Nullable List rules; + public Builder() {} + public Builder(JobEventTriggerConfigScale defaults) { + Objects.requireNonNull(defaults); + this.maxExecutions = defaults.maxExecutions; + this.minExecutions = defaults.minExecutions; + this.pollingIntervalInSeconds = defaults.pollingIntervalInSeconds; + this.rules = defaults.rules; + } + + @CustomType.Setter + public Builder maxExecutions(@Nullable Integer maxExecutions) { + + this.maxExecutions = maxExecutions; + return this; + } + @CustomType.Setter + public Builder minExecutions(@Nullable Integer minExecutions) { + + this.minExecutions = minExecutions; + return this; + } + @CustomType.Setter + public Builder pollingIntervalInSeconds(@Nullable Integer pollingIntervalInSeconds) { + + this.pollingIntervalInSeconds = pollingIntervalInSeconds; + return this; + } + @CustomType.Setter + public Builder rules(@Nullable List rules) { + + this.rules = rules; + return this; + } + public Builder rules(JobEventTriggerConfigScaleRule... rules) { + return rules(List.of(rules)); + } + public JobEventTriggerConfigScale build() { + final var _resultValue = new JobEventTriggerConfigScale(); + _resultValue.maxExecutions = maxExecutions; + _resultValue.minExecutions = minExecutions; + _resultValue.pollingIntervalInSeconds = pollingIntervalInSeconds; + _resultValue.rules = rules; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRule.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRule.java new file mode 100644 index 0000000000..4a438cf1a0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRule.java @@ -0,0 +1,132 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobEventTriggerConfigScaleRuleAuthentication; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class JobEventTriggerConfigScaleRule { + /** + * @return A `authentication` block as defined below. + * + */ + private @Nullable List authentications; + /** + * @return Type of the scale rule. + * + */ + private String customRuleType; + /** + * @return Metadata properties to describe the scale rule. + * + */ + private Map metadata; + /** + * @return Name of the scale rule. + * + */ + private String name; + + private JobEventTriggerConfigScaleRule() {} + /** + * @return A `authentication` block as defined below. + * + */ + public List authentications() { + return this.authentications == null ? List.of() : this.authentications; + } + /** + * @return Type of the scale rule. + * + */ + public String customRuleType() { + return this.customRuleType; + } + /** + * @return Metadata properties to describe the scale rule. + * + */ + public Map metadata() { + return this.metadata; + } + /** + * @return Name of the scale rule. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobEventTriggerConfigScaleRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List authentications; + private String customRuleType; + private Map metadata; + private String name; + public Builder() {} + public Builder(JobEventTriggerConfigScaleRule defaults) { + Objects.requireNonNull(defaults); + this.authentications = defaults.authentications; + this.customRuleType = defaults.customRuleType; + this.metadata = defaults.metadata; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder authentications(@Nullable List authentications) { + + this.authentications = authentications; + return this; + } + public Builder authentications(JobEventTriggerConfigScaleRuleAuthentication... authentications) { + return authentications(List.of(authentications)); + } + @CustomType.Setter + public Builder customRuleType(String customRuleType) { + if (customRuleType == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRule", "customRuleType"); + } + this.customRuleType = customRuleType; + return this; + } + @CustomType.Setter + public Builder metadata(Map metadata) { + if (metadata == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRule", "metadata"); + } + this.metadata = metadata; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRule", "name"); + } + this.name = name; + return this; + } + public JobEventTriggerConfigScaleRule build() { + final var _resultValue = new JobEventTriggerConfigScaleRule(); + _resultValue.authentications = authentications; + _resultValue.customRuleType = customRuleType; + _resultValue.metadata = metadata; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRuleAuthentication.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRuleAuthentication.java new file mode 100644 index 0000000000..0c10ddf430 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobEventTriggerConfigScaleRuleAuthentication.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobEventTriggerConfigScaleRuleAuthentication { + /** + * @return Name of the secret from which to pull the auth params. + * + */ + private String secretName; + /** + * @return Trigger Parameter that uses the secret. + * + */ + private String triggerParameter; + + private JobEventTriggerConfigScaleRuleAuthentication() {} + /** + * @return Name of the secret from which to pull the auth params. + * + */ + public String secretName() { + return this.secretName; + } + /** + * @return Trigger Parameter that uses the secret. + * + */ + public String triggerParameter() { + return this.triggerParameter; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobEventTriggerConfigScaleRuleAuthentication defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + private String triggerParameter; + public Builder() {} + public Builder(JobEventTriggerConfigScaleRuleAuthentication defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + this.triggerParameter = defaults.triggerParameter; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + if (secretName == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleAuthentication", "secretName"); + } + this.secretName = secretName; + return this; + } + @CustomType.Setter + public Builder triggerParameter(String triggerParameter) { + if (triggerParameter == null) { + throw new MissingRequiredPropertyException("JobEventTriggerConfigScaleRuleAuthentication", "triggerParameter"); + } + this.triggerParameter = triggerParameter; + return this; + } + public JobEventTriggerConfigScaleRuleAuthentication build() { + final var _resultValue = new JobEventTriggerConfigScaleRuleAuthentication(); + _resultValue.secretName = secretName; + _resultValue.triggerParameter = triggerParameter; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobIdentity.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobIdentity.java new file mode 100644 index 0000000000..8c5bd9e622 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobIdentity.java @@ -0,0 +1,111 @@ +// *** 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.azure.containerapp.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 JobIdentity { + /** + * @return A list of Managed Identity IDs to assign to the Container App Job. + * + */ + private @Nullable List identityIds; + private @Nullable String principalId; + private @Nullable String tenantId; + /** + * @return The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + */ + private String type; + + private JobIdentity() {} + /** + * @return A list of Managed Identity IDs to assign to the Container App Job. + * + */ + public List identityIds() { + return this.identityIds == null ? List.of() : this.identityIds; + } + public Optional principalId() { + return Optional.ofNullable(this.principalId); + } + public Optional tenantId() { + return Optional.ofNullable(this.tenantId); + } + /** + * @return The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobIdentity defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List identityIds; + private @Nullable String principalId; + private @Nullable String tenantId; + private String type; + public Builder() {} + public Builder(JobIdentity defaults) { + Objects.requireNonNull(defaults); + this.identityIds = defaults.identityIds; + this.principalId = defaults.principalId; + this.tenantId = defaults.tenantId; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder identityIds(@Nullable List identityIds) { + + this.identityIds = identityIds; + return this; + } + public Builder identityIds(String... identityIds) { + return identityIds(List.of(identityIds)); + } + @CustomType.Setter + public Builder principalId(@Nullable String principalId) { + + this.principalId = principalId; + return this; + } + @CustomType.Setter + public Builder tenantId(@Nullable String tenantId) { + + this.tenantId = tenantId; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("JobIdentity", "type"); + } + this.type = type; + return this; + } + public JobIdentity build() { + final var _resultValue = new JobIdentity(); + _resultValue.identityIds = identityIds; + _resultValue.principalId = principalId; + _resultValue.tenantId = tenantId; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobManualTriggerConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobManualTriggerConfig.java new file mode 100644 index 0000000000..193611e27c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobManualTriggerConfig.java @@ -0,0 +1,78 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobManualTriggerConfig { + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + private @Nullable Integer parallelism; + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + private @Nullable Integer replicaCompletionCount; + + private JobManualTriggerConfig() {} + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional parallelism() { + return Optional.ofNullable(this.parallelism); + } + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobManualTriggerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer parallelism; + private @Nullable Integer replicaCompletionCount; + public Builder() {} + public Builder(JobManualTriggerConfig defaults) { + Objects.requireNonNull(defaults); + this.parallelism = defaults.parallelism; + this.replicaCompletionCount = defaults.replicaCompletionCount; + } + + @CustomType.Setter + public Builder parallelism(@Nullable Integer parallelism) { + + this.parallelism = parallelism; + return this; + } + @CustomType.Setter + public Builder replicaCompletionCount(@Nullable Integer replicaCompletionCount) { + + this.replicaCompletionCount = replicaCompletionCount; + return this; + } + public JobManualTriggerConfig build() { + final var _resultValue = new JobManualTriggerConfig(); + _resultValue.parallelism = parallelism; + _resultValue.replicaCompletionCount = replicaCompletionCount; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobRegistry.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobRegistry.java new file mode 100644 index 0000000000..790d05f208 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobRegistry.java @@ -0,0 +1,123 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobRegistry { + /** + * @return A Managed Identity to use to authenticate with Azure Container Registry. + * + */ + private @Nullable String identity; + /** + * @return The name of the Secret that contains the registry login password. + * + */ + private @Nullable String passwordSecretName; + /** + * @return The URL of the Azure Container Registry server. + * + */ + private String server; + /** + * @return The username to use to authenticate with Azure Container Registry. + * + */ + private @Nullable String username; + + private JobRegistry() {} + /** + * @return A Managed Identity to use to authenticate with Azure Container Registry. + * + */ + public Optional identity() { + return Optional.ofNullable(this.identity); + } + /** + * @return The name of the Secret that contains the registry login password. + * + */ + public Optional passwordSecretName() { + return Optional.ofNullable(this.passwordSecretName); + } + /** + * @return The URL of the Azure Container Registry server. + * + */ + public String server() { + return this.server; + } + /** + * @return The username to use to authenticate with Azure Container Registry. + * + */ + public Optional username() { + return Optional.ofNullable(this.username); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobRegistry defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String identity; + private @Nullable String passwordSecretName; + private String server; + private @Nullable String username; + public Builder() {} + public Builder(JobRegistry defaults) { + Objects.requireNonNull(defaults); + this.identity = defaults.identity; + this.passwordSecretName = defaults.passwordSecretName; + this.server = defaults.server; + this.username = defaults.username; + } + + @CustomType.Setter + public Builder identity(@Nullable String identity) { + + this.identity = identity; + return this; + } + @CustomType.Setter + public Builder passwordSecretName(@Nullable String passwordSecretName) { + + this.passwordSecretName = passwordSecretName; + return this; + } + @CustomType.Setter + public Builder server(String server) { + if (server == null) { + throw new MissingRequiredPropertyException("JobRegistry", "server"); + } + this.server = server; + return this; + } + @CustomType.Setter + public Builder username(@Nullable String username) { + + this.username = username; + return this; + } + public JobRegistry build() { + final var _resultValue = new JobRegistry(); + _resultValue.identity = identity; + _resultValue.passwordSecretName = passwordSecretName; + _resultValue.server = server; + _resultValue.username = username; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobScheduleTriggerConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobScheduleTriggerConfig.java new file mode 100644 index 0000000000..0bf93c9198 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobScheduleTriggerConfig.java @@ -0,0 +1,103 @@ +// *** 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.azure.containerapp.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 JobScheduleTriggerConfig { + /** + * @return Cron formatted repeating schedule of a Cron Job. + * + */ + private String cronExpression; + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + private @Nullable Integer parallelism; + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + private @Nullable Integer replicaCompletionCount; + + private JobScheduleTriggerConfig() {} + /** + * @return Cron formatted repeating schedule of a Cron Job. + * + */ + public String cronExpression() { + return this.cronExpression; + } + /** + * @return Number of parallel replicas of a job that can run at a given time. + * + */ + public Optional parallelism() { + return Optional.ofNullable(this.parallelism); + } + /** + * @return Minimum number of successful replica completions before overall job completion. + * + */ + public Optional replicaCompletionCount() { + return Optional.ofNullable(this.replicaCompletionCount); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobScheduleTriggerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String cronExpression; + private @Nullable Integer parallelism; + private @Nullable Integer replicaCompletionCount; + public Builder() {} + public Builder(JobScheduleTriggerConfig defaults) { + Objects.requireNonNull(defaults); + this.cronExpression = defaults.cronExpression; + this.parallelism = defaults.parallelism; + this.replicaCompletionCount = defaults.replicaCompletionCount; + } + + @CustomType.Setter + public Builder cronExpression(String cronExpression) { + if (cronExpression == null) { + throw new MissingRequiredPropertyException("JobScheduleTriggerConfig", "cronExpression"); + } + this.cronExpression = cronExpression; + return this; + } + @CustomType.Setter + public Builder parallelism(@Nullable Integer parallelism) { + + this.parallelism = parallelism; + return this; + } + @CustomType.Setter + public Builder replicaCompletionCount(@Nullable Integer replicaCompletionCount) { + + this.replicaCompletionCount = replicaCompletionCount; + return this; + } + public JobScheduleTriggerConfig build() { + final var _resultValue = new JobScheduleTriggerConfig(); + _resultValue.cronExpression = cronExpression; + _resultValue.parallelism = parallelism; + _resultValue.replicaCompletionCount = replicaCompletionCount; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobSecret.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobSecret.java new file mode 100644 index 0000000000..8614dd4d21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobSecret.java @@ -0,0 +1,123 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobSecret { + /** + * @return A `identity` block as defined below. + * + */ + private @Nullable String identity; + /** + * @return The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + */ + private @Nullable String keyVaultSecretId; + /** + * @return Name of the secret. + * + */ + private String name; + /** + * @return Value of the secret. + * + */ + private @Nullable String value; + + private JobSecret() {} + /** + * @return A `identity` block as defined below. + * + */ + public Optional identity() { + return Optional.ofNullable(this.identity); + } + /** + * @return The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + * + */ + public Optional keyVaultSecretId() { + return Optional.ofNullable(this.keyVaultSecretId); + } + /** + * @return Name of the secret. + * + */ + public String name() { + return this.name; + } + /** + * @return Value of the secret. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String identity; + private @Nullable String keyVaultSecretId; + private String name; + private @Nullable String value; + public Builder() {} + public Builder(JobSecret defaults) { + Objects.requireNonNull(defaults); + this.identity = defaults.identity; + this.keyVaultSecretId = defaults.keyVaultSecretId; + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder identity(@Nullable String identity) { + + this.identity = identity; + return this; + } + @CustomType.Setter + public Builder keyVaultSecretId(@Nullable String keyVaultSecretId) { + + this.keyVaultSecretId = keyVaultSecretId; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobSecret", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public JobSecret build() { + final var _resultValue = new JobSecret(); + _resultValue.identity = identity; + _resultValue.keyVaultSecretId = keyVaultSecretId; + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplate.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplate.java new file mode 100644 index 0000000000..be64ee7b99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplate.java @@ -0,0 +1,113 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateContainer; +import com.pulumi.azure.containerapp.outputs.JobTemplateInitContainer; +import com.pulumi.azure.containerapp.outputs.JobTemplateVolume; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplate { + /** + * @return A `container` block as defined below. + * + */ + private List containers; + /** + * @return A `init_container` block as defined below. + * + */ + private @Nullable List initContainers; + /** + * @return A `volume` block as defined below. + * + */ + private @Nullable List volumes; + + private JobTemplate() {} + /** + * @return A `container` block as defined below. + * + */ + public List containers() { + return this.containers; + } + /** + * @return A `init_container` block as defined below. + * + */ + public List initContainers() { + return this.initContainers == null ? List.of() : this.initContainers; + } + /** + * @return A `volume` block as defined below. + * + */ + public List volumes() { + return this.volumes == null ? List.of() : this.volumes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List containers; + private @Nullable List initContainers; + private @Nullable List volumes; + public Builder() {} + public Builder(JobTemplate defaults) { + Objects.requireNonNull(defaults); + this.containers = defaults.containers; + this.initContainers = defaults.initContainers; + this.volumes = defaults.volumes; + } + + @CustomType.Setter + public Builder containers(List containers) { + if (containers == null) { + throw new MissingRequiredPropertyException("JobTemplate", "containers"); + } + this.containers = containers; + return this; + } + public Builder containers(JobTemplateContainer... containers) { + return containers(List.of(containers)); + } + @CustomType.Setter + public Builder initContainers(@Nullable List initContainers) { + + this.initContainers = initContainers; + return this; + } + public Builder initContainers(JobTemplateInitContainer... initContainers) { + return initContainers(List.of(initContainers)); + } + @CustomType.Setter + public Builder volumes(@Nullable List volumes) { + + this.volumes = volumes; + return this; + } + public Builder volumes(JobTemplateVolume... volumes) { + return volumes(List.of(volumes)); + } + public JobTemplate build() { + final var _resultValue = new JobTemplate(); + _resultValue.containers = containers; + _resultValue.initContainers = initContainers; + _resultValue.volumes = volumes; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainer.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainer.java new file mode 100644 index 0000000000..f7461715fc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainer.java @@ -0,0 +1,337 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerEnv; +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerLivenessProbe; +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerReadinessProbe; +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerStartupProbe; +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerVolumeMount; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplateContainer { + /** + * @return A list of extra arguments to pass to the container. + * + */ + private @Nullable List args; + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + private @Nullable List commands; + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + private Double cpu; + /** + * @return One or more `env` blocks as detailed below. + * + */ + private @Nullable List envs; + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + private @Nullable String ephemeralStorage; + /** + * @return The image to use to create the container. + * + */ + private String image; + /** + * @return A `liveness_probe` block as detailed below. + * + */ + private @Nullable List livenessProbes; + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + private String memory; + /** + * @return The name of the container. + * + */ + private String name; + /** + * @return A `readiness_probe` block as detailed below. + * + */ + private @Nullable List readinessProbes; + /** + * @return A `startup_probe` block as detailed below. + * + */ + private @Nullable List startupProbes; + /** + * @return A `volume_mounts` block as detailed below. + * + */ + private @Nullable List volumeMounts; + + private JobTemplateContainer() {} + /** + * @return A list of extra arguments to pass to the container. + * + */ + public List args() { + return this.args == null ? List.of() : this.args; + } + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + public List commands() { + return this.commands == null ? List.of() : this.commands; + } + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + public Double cpu() { + return this.cpu; + } + /** + * @return One or more `env` blocks as detailed below. + * + */ + public List envs() { + return this.envs == null ? List.of() : this.envs; + } + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + public Optional ephemeralStorage() { + return Optional.ofNullable(this.ephemeralStorage); + } + /** + * @return The image to use to create the container. + * + */ + public String image() { + return this.image; + } + /** + * @return A `liveness_probe` block as detailed below. + * + */ + public List livenessProbes() { + return this.livenessProbes == null ? List.of() : this.livenessProbes; + } + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + public String memory() { + return this.memory; + } + /** + * @return The name of the container. + * + */ + public String name() { + return this.name; + } + /** + * @return A `readiness_probe` block as detailed below. + * + */ + public List readinessProbes() { + return this.readinessProbes == null ? List.of() : this.readinessProbes; + } + /** + * @return A `startup_probe` block as detailed below. + * + */ + public List startupProbes() { + return this.startupProbes == null ? List.of() : this.startupProbes; + } + /** + * @return A `volume_mounts` block as detailed below. + * + */ + public List volumeMounts() { + return this.volumeMounts == null ? List.of() : this.volumeMounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List args; + private @Nullable List commands; + private Double cpu; + private @Nullable List envs; + private @Nullable String ephemeralStorage; + private String image; + private @Nullable List livenessProbes; + private String memory; + private String name; + private @Nullable List readinessProbes; + private @Nullable List startupProbes; + private @Nullable List volumeMounts; + public Builder() {} + public Builder(JobTemplateContainer defaults) { + Objects.requireNonNull(defaults); + this.args = defaults.args; + this.commands = defaults.commands; + this.cpu = defaults.cpu; + this.envs = defaults.envs; + this.ephemeralStorage = defaults.ephemeralStorage; + this.image = defaults.image; + this.livenessProbes = defaults.livenessProbes; + this.memory = defaults.memory; + this.name = defaults.name; + this.readinessProbes = defaults.readinessProbes; + this.startupProbes = defaults.startupProbes; + this.volumeMounts = defaults.volumeMounts; + } + + @CustomType.Setter + public Builder args(@Nullable List args) { + + this.args = args; + return this; + } + public Builder args(String... args) { + return args(List.of(args)); + } + @CustomType.Setter + public Builder commands(@Nullable List commands) { + + this.commands = commands; + return this; + } + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + @CustomType.Setter + public Builder cpu(Double cpu) { + if (cpu == null) { + throw new MissingRequiredPropertyException("JobTemplateContainer", "cpu"); + } + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder envs(@Nullable List envs) { + + this.envs = envs; + return this; + } + public Builder envs(JobTemplateContainerEnv... envs) { + return envs(List.of(envs)); + } + @CustomType.Setter + public Builder ephemeralStorage(@Nullable String ephemeralStorage) { + + this.ephemeralStorage = ephemeralStorage; + return this; + } + @CustomType.Setter + public Builder image(String image) { + if (image == null) { + throw new MissingRequiredPropertyException("JobTemplateContainer", "image"); + } + this.image = image; + return this; + } + @CustomType.Setter + public Builder livenessProbes(@Nullable List livenessProbes) { + + this.livenessProbes = livenessProbes; + return this; + } + public Builder livenessProbes(JobTemplateContainerLivenessProbe... livenessProbes) { + return livenessProbes(List.of(livenessProbes)); + } + @CustomType.Setter + public Builder memory(String memory) { + if (memory == null) { + throw new MissingRequiredPropertyException("JobTemplateContainer", "memory"); + } + this.memory = memory; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainer", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder readinessProbes(@Nullable List readinessProbes) { + + this.readinessProbes = readinessProbes; + return this; + } + public Builder readinessProbes(JobTemplateContainerReadinessProbe... readinessProbes) { + return readinessProbes(List.of(readinessProbes)); + } + @CustomType.Setter + public Builder startupProbes(@Nullable List startupProbes) { + + this.startupProbes = startupProbes; + return this; + } + public Builder startupProbes(JobTemplateContainerStartupProbe... startupProbes) { + return startupProbes(List.of(startupProbes)); + } + @CustomType.Setter + public Builder volumeMounts(@Nullable List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + public Builder volumeMounts(JobTemplateContainerVolumeMount... volumeMounts) { + return volumeMounts(List.of(volumeMounts)); + } + public JobTemplateContainer build() { + final var _resultValue = new JobTemplateContainer(); + _resultValue.args = args; + _resultValue.commands = commands; + _resultValue.cpu = cpu; + _resultValue.envs = envs; + _resultValue.ephemeralStorage = ephemeralStorage; + _resultValue.image = image; + _resultValue.livenessProbes = livenessProbes; + _resultValue.memory = memory; + _resultValue.name = name; + _resultValue.readinessProbes = readinessProbes; + _resultValue.startupProbes = startupProbes; + _resultValue.volumeMounts = volumeMounts; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerEnv.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerEnv.java new file mode 100644 index 0000000000..40ceaac910 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerEnv.java @@ -0,0 +1,102 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplateContainerEnv { + /** + * @return The name of the environment variable. + * + */ + private String name; + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + private @Nullable String secretName; + /** + * @return The value of the environment variable. + * + */ + private @Nullable String value; + + private JobTemplateContainerEnv() {} + /** + * @return The name of the environment variable. + * + */ + public String name() { + return this.name; + } + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + public Optional secretName() { + return Optional.ofNullable(this.secretName); + } + /** + * @return The value of the environment variable. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerEnv defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private @Nullable String secretName; + private @Nullable String value; + public Builder() {} + public Builder(JobTemplateContainerEnv defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.secretName = defaults.secretName; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerEnv", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder secretName(@Nullable String secretName) { + + this.secretName = secretName; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public JobTemplateContainerEnv build() { + final var _resultValue = new JobTemplateContainerEnv(); + _resultValue.name = name; + _resultValue.secretName = secretName; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbe.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbe.java new file mode 100644 index 0000000000..ccfd242d91 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbe.java @@ -0,0 +1,257 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerLivenessProbeHeader; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +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 JobTemplateContainerLivenessProbe { + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + private @Nullable Integer failureCountThreshold; + /** + * @return A `header` block as detailed below. + * + */ + private @Nullable List headers; + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + private @Nullable String host; + /** + * @return The time in seconds to wait after the container has started before the probe is started. + * + */ + private @Nullable Integer initialDelay; + /** + * @return How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + */ + private @Nullable Integer intervalSeconds; + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + private @Nullable String path; + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + private Integer port; + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + private @Nullable Integer terminationGracePeriodSeconds; + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + private @Nullable Integer timeout; + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + private String transport; + + private JobTemplateContainerLivenessProbe() {} + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + /** + * @return A `header` block as detailed below. + * + */ + public List headers() { + return this.headers == null ? List.of() : this.headers; + } + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional host() { + return Optional.ofNullable(this.host); + } + /** + * @return The time in seconds to wait after the container has started before the probe is started. + * + */ + public Optional initialDelay() { + return Optional.ofNullable(this.initialDelay); + } + /** + * @return How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + * + */ + public Optional intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Integer port() { + return this.port; + } + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + public Optional terminationGracePeriodSeconds() { + return Optional.ofNullable(this.terminationGracePeriodSeconds); + } + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public String transport() { + return this.transport; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerLivenessProbe defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer failureCountThreshold; + private @Nullable List headers; + private @Nullable String host; + private @Nullable Integer initialDelay; + private @Nullable Integer intervalSeconds; + private @Nullable String path; + private Integer port; + private @Nullable Integer terminationGracePeriodSeconds; + private @Nullable Integer timeout; + private String transport; + public Builder() {} + public Builder(JobTemplateContainerLivenessProbe defaults) { + Objects.requireNonNull(defaults); + this.failureCountThreshold = defaults.failureCountThreshold; + this.headers = defaults.headers; + this.host = defaults.host; + this.initialDelay = defaults.initialDelay; + this.intervalSeconds = defaults.intervalSeconds; + this.path = defaults.path; + this.port = defaults.port; + this.terminationGracePeriodSeconds = defaults.terminationGracePeriodSeconds; + this.timeout = defaults.timeout; + this.transport = defaults.transport; + } + + @CustomType.Setter + public Builder failureCountThreshold(@Nullable Integer failureCountThreshold) { + + this.failureCountThreshold = failureCountThreshold; + return this; + } + @CustomType.Setter + public Builder headers(@Nullable List headers) { + + this.headers = headers; + return this; + } + public Builder headers(JobTemplateContainerLivenessProbeHeader... headers) { + return headers(List.of(headers)); + } + @CustomType.Setter + public Builder host(@Nullable String host) { + + this.host = host; + return this; + } + @CustomType.Setter + public Builder initialDelay(@Nullable Integer initialDelay) { + + this.initialDelay = initialDelay; + return this; + } + @CustomType.Setter + public Builder intervalSeconds(@Nullable Integer intervalSeconds) { + + this.intervalSeconds = intervalSeconds; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder port(Integer port) { + if (port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbe", "port"); + } + this.port = port; + return this; + } + @CustomType.Setter + public Builder terminationGracePeriodSeconds(@Nullable Integer terminationGracePeriodSeconds) { + + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + @CustomType.Setter + public Builder timeout(@Nullable Integer timeout) { + + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder transport(String transport) { + if (transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbe", "transport"); + } + this.transport = transport; + return this; + } + public JobTemplateContainerLivenessProbe build() { + final var _resultValue = new JobTemplateContainerLivenessProbe(); + _resultValue.failureCountThreshold = failureCountThreshold; + _resultValue.headers = headers; + _resultValue.host = host; + _resultValue.initialDelay = initialDelay; + _resultValue.intervalSeconds = intervalSeconds; + _resultValue.path = path; + _resultValue.port = port; + _resultValue.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + _resultValue.timeout = timeout; + _resultValue.transport = transport; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbeHeader.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbeHeader.java new file mode 100644 index 0000000000..ea37001a31 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerLivenessProbeHeader.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobTemplateContainerLivenessProbeHeader { + /** + * @return The HTTP Header Name. + * + */ + private String name; + /** + * @return The HTTP Header value. + * + */ + private String value; + + private JobTemplateContainerLivenessProbeHeader() {} + /** + * @return The HTTP Header Name. + * + */ + public String name() { + return this.name; + } + /** + * @return The HTTP Header value. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerLivenessProbeHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String value; + public Builder() {} + public Builder(JobTemplateContainerLivenessProbeHeader defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeHeader", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(String value) { + if (value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerLivenessProbeHeader", "value"); + } + this.value = value; + return this; + } + public JobTemplateContainerLivenessProbeHeader build() { + final var _resultValue = new JobTemplateContainerLivenessProbeHeader(); + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbe.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbe.java new file mode 100644 index 0000000000..a4cd4745bf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbe.java @@ -0,0 +1,236 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerReadinessProbeHeader; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +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 JobTemplateContainerReadinessProbe { + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + private @Nullable Integer failureCountThreshold; + /** + * @return A `header` block as detailed below. + * + */ + private @Nullable List headers; + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + private @Nullable String host; + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + private @Nullable Integer intervalSeconds; + /** + * @return The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + private @Nullable String path; + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + private Integer port; + /** + * @return The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + private @Nullable Integer successCountThreshold; + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + private @Nullable Integer timeout; + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + private String transport; + + private JobTemplateContainerReadinessProbe() {} + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + /** + * @return A `header` block as detailed below. + * + */ + public List headers() { + return this.headers == null ? List.of() : this.headers; + } + /** + * @return The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional host() { + return Optional.ofNullable(this.host); + } + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + public Optional intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + /** + * @return The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Integer port() { + return this.port; + } + /** + * @return The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional successCountThreshold() { + return Optional.ofNullable(this.successCountThreshold); + } + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public String transport() { + return this.transport; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerReadinessProbe defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer failureCountThreshold; + private @Nullable List headers; + private @Nullable String host; + private @Nullable Integer intervalSeconds; + private @Nullable String path; + private Integer port; + private @Nullable Integer successCountThreshold; + private @Nullable Integer timeout; + private String transport; + public Builder() {} + public Builder(JobTemplateContainerReadinessProbe defaults) { + Objects.requireNonNull(defaults); + this.failureCountThreshold = defaults.failureCountThreshold; + this.headers = defaults.headers; + this.host = defaults.host; + this.intervalSeconds = defaults.intervalSeconds; + this.path = defaults.path; + this.port = defaults.port; + this.successCountThreshold = defaults.successCountThreshold; + this.timeout = defaults.timeout; + this.transport = defaults.transport; + } + + @CustomType.Setter + public Builder failureCountThreshold(@Nullable Integer failureCountThreshold) { + + this.failureCountThreshold = failureCountThreshold; + return this; + } + @CustomType.Setter + public Builder headers(@Nullable List headers) { + + this.headers = headers; + return this; + } + public Builder headers(JobTemplateContainerReadinessProbeHeader... headers) { + return headers(List.of(headers)); + } + @CustomType.Setter + public Builder host(@Nullable String host) { + + this.host = host; + return this; + } + @CustomType.Setter + public Builder intervalSeconds(@Nullable Integer intervalSeconds) { + + this.intervalSeconds = intervalSeconds; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder port(Integer port) { + if (port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbe", "port"); + } + this.port = port; + return this; + } + @CustomType.Setter + public Builder successCountThreshold(@Nullable Integer successCountThreshold) { + + this.successCountThreshold = successCountThreshold; + return this; + } + @CustomType.Setter + public Builder timeout(@Nullable Integer timeout) { + + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder transport(String transport) { + if (transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbe", "transport"); + } + this.transport = transport; + return this; + } + public JobTemplateContainerReadinessProbe build() { + final var _resultValue = new JobTemplateContainerReadinessProbe(); + _resultValue.failureCountThreshold = failureCountThreshold; + _resultValue.headers = headers; + _resultValue.host = host; + _resultValue.intervalSeconds = intervalSeconds; + _resultValue.path = path; + _resultValue.port = port; + _resultValue.successCountThreshold = successCountThreshold; + _resultValue.timeout = timeout; + _resultValue.transport = transport; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbeHeader.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbeHeader.java new file mode 100644 index 0000000000..6345fdd9a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerReadinessProbeHeader.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobTemplateContainerReadinessProbeHeader { + /** + * @return The HTTP Header Name. + * + */ + private String name; + /** + * @return The HTTP Header value. + * + */ + private String value; + + private JobTemplateContainerReadinessProbeHeader() {} + /** + * @return The HTTP Header Name. + * + */ + public String name() { + return this.name; + } + /** + * @return The HTTP Header value. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerReadinessProbeHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String value; + public Builder() {} + public Builder(JobTemplateContainerReadinessProbeHeader defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeHeader", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(String value) { + if (value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerReadinessProbeHeader", "value"); + } + this.value = value; + return this; + } + public JobTemplateContainerReadinessProbeHeader build() { + final var _resultValue = new JobTemplateContainerReadinessProbeHeader(); + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbe.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbe.java new file mode 100644 index 0000000000..cd0ea9e4b2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbe.java @@ -0,0 +1,236 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateContainerStartupProbeHeader; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +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 JobTemplateContainerStartupProbe { + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + private @Nullable Integer failureCountThreshold; + /** + * @return A `header` block as detailed below. + * + */ + private @Nullable List headers; + /** + * @return The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + private @Nullable String host; + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + private @Nullable Integer intervalSeconds; + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + private @Nullable String path; + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + private Integer port; + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + private @Nullable Integer terminationGracePeriodSeconds; + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + private @Nullable Integer timeout; + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + private String transport; + + private JobTemplateContainerStartupProbe() {} + /** + * @return The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + * + */ + public Optional failureCountThreshold() { + return Optional.ofNullable(this.failureCountThreshold); + } + /** + * @return A `header` block as detailed below. + * + */ + public List headers() { + return this.headers == null ? List.of() : this.headers; + } + /** + * @return The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + * + */ + public Optional host() { + return Optional.ofNullable(this.host); + } + /** + * @return How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + * + */ + public Optional intervalSeconds() { + return Optional.ofNullable(this.intervalSeconds); + } + /** + * @return The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The port number on which to connect. Possible values are between `1` and `65535`. + * + */ + public Integer port() { + return this.port; + } + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + public Optional terminationGracePeriodSeconds() { + return Optional.ofNullable(this.terminationGracePeriodSeconds); + } + /** + * @return Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + /** + * @return Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + * + */ + public String transport() { + return this.transport; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerStartupProbe defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer failureCountThreshold; + private @Nullable List headers; + private @Nullable String host; + private @Nullable Integer intervalSeconds; + private @Nullable String path; + private Integer port; + private @Nullable Integer terminationGracePeriodSeconds; + private @Nullable Integer timeout; + private String transport; + public Builder() {} + public Builder(JobTemplateContainerStartupProbe defaults) { + Objects.requireNonNull(defaults); + this.failureCountThreshold = defaults.failureCountThreshold; + this.headers = defaults.headers; + this.host = defaults.host; + this.intervalSeconds = defaults.intervalSeconds; + this.path = defaults.path; + this.port = defaults.port; + this.terminationGracePeriodSeconds = defaults.terminationGracePeriodSeconds; + this.timeout = defaults.timeout; + this.transport = defaults.transport; + } + + @CustomType.Setter + public Builder failureCountThreshold(@Nullable Integer failureCountThreshold) { + + this.failureCountThreshold = failureCountThreshold; + return this; + } + @CustomType.Setter + public Builder headers(@Nullable List headers) { + + this.headers = headers; + return this; + } + public Builder headers(JobTemplateContainerStartupProbeHeader... headers) { + return headers(List.of(headers)); + } + @CustomType.Setter + public Builder host(@Nullable String host) { + + this.host = host; + return this; + } + @CustomType.Setter + public Builder intervalSeconds(@Nullable Integer intervalSeconds) { + + this.intervalSeconds = intervalSeconds; + return this; + } + @CustomType.Setter + public Builder path(@Nullable String path) { + + this.path = path; + return this; + } + @CustomType.Setter + public Builder port(Integer port) { + if (port == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbe", "port"); + } + this.port = port; + return this; + } + @CustomType.Setter + public Builder terminationGracePeriodSeconds(@Nullable Integer terminationGracePeriodSeconds) { + + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + @CustomType.Setter + public Builder timeout(@Nullable Integer timeout) { + + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder transport(String transport) { + if (transport == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbe", "transport"); + } + this.transport = transport; + return this; + } + public JobTemplateContainerStartupProbe build() { + final var _resultValue = new JobTemplateContainerStartupProbe(); + _resultValue.failureCountThreshold = failureCountThreshold; + _resultValue.headers = headers; + _resultValue.host = host; + _resultValue.intervalSeconds = intervalSeconds; + _resultValue.path = path; + _resultValue.port = port; + _resultValue.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + _resultValue.timeout = timeout; + _resultValue.transport = transport; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbeHeader.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbeHeader.java new file mode 100644 index 0000000000..361e492f4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerStartupProbeHeader.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobTemplateContainerStartupProbeHeader { + /** + * @return The HTTP Header Name. + * + */ + private String name; + /** + * @return The HTTP Header value. + * + */ + private String value; + + private JobTemplateContainerStartupProbeHeader() {} + /** + * @return The HTTP Header Name. + * + */ + public String name() { + return this.name; + } + /** + * @return The HTTP Header value. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerStartupProbeHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String value; + public Builder() {} + public Builder(JobTemplateContainerStartupProbeHeader defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeHeader", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(String value) { + if (value == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerStartupProbeHeader", "value"); + } + this.value = value; + return this; + } + public JobTemplateContainerStartupProbeHeader build() { + final var _resultValue = new JobTemplateContainerStartupProbeHeader(); + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerVolumeMount.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerVolumeMount.java new file mode 100644 index 0000000000..f09a9d986a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateContainerVolumeMount.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobTemplateContainerVolumeMount { + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + private String name; + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + private String path; + + private JobTemplateContainerVolumeMount() {} + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + public String name() { + return this.name; + } + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + public String path() { + return this.path; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateContainerVolumeMount defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String path; + public Builder() {} + public Builder(JobTemplateContainerVolumeMount defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerVolumeMount", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("JobTemplateContainerVolumeMount", "path"); + } + this.path = path; + return this; + } + public JobTemplateContainerVolumeMount build() { + final var _resultValue = new JobTemplateContainerVolumeMount(); + _resultValue.name = name; + _resultValue.path = path; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainer.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainer.java new file mode 100644 index 0000000000..0de96ad250 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainer.java @@ -0,0 +1,258 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.azure.containerapp.outputs.JobTemplateInitContainerEnv; +import com.pulumi.azure.containerapp.outputs.JobTemplateInitContainerVolumeMount; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplateInitContainer { + /** + * @return A list of extra arguments to pass to the container. + * + */ + private @Nullable List args; + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + private @Nullable List commands; + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + private @Nullable Double cpu; + /** + * @return One or more `env` blocks as detailed below. + * + */ + private @Nullable List envs; + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + private @Nullable String ephemeralStorage; + /** + * @return The image to use to create the container. + * + */ + private String image; + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + private @Nullable String memory; + /** + * @return The name of the container. + * + */ + private String name; + /** + * @return A `volume_mounts` block as detailed below. + * + */ + private @Nullable List volumeMounts; + + private JobTemplateInitContainer() {} + /** + * @return A list of extra arguments to pass to the container. + * + */ + public List args() { + return this.args == null ? List.of() : this.args; + } + /** + * @return A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + * + */ + public List commands() { + return this.commands == null ? List.of() : this.commands; + } + /** + * @return The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + * + */ + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + /** + * @return One or more `env` blocks as detailed below. + * + */ + public List envs() { + return this.envs == null ? List.of() : this.envs; + } + /** + * @return The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + * + */ + public Optional ephemeralStorage() { + return Optional.ofNullable(this.ephemeralStorage); + } + /** + * @return The image to use to create the container. + * + */ + public String image() { + return this.image; + } + /** + * @return The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + /** + * @return The name of the container. + * + */ + public String name() { + return this.name; + } + /** + * @return A `volume_mounts` block as detailed below. + * + */ + public List volumeMounts() { + return this.volumeMounts == null ? List.of() : this.volumeMounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateInitContainer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List args; + private @Nullable List commands; + private @Nullable Double cpu; + private @Nullable List envs; + private @Nullable String ephemeralStorage; + private String image; + private @Nullable String memory; + private String name; + private @Nullable List volumeMounts; + public Builder() {} + public Builder(JobTemplateInitContainer defaults) { + Objects.requireNonNull(defaults); + this.args = defaults.args; + this.commands = defaults.commands; + this.cpu = defaults.cpu; + this.envs = defaults.envs; + this.ephemeralStorage = defaults.ephemeralStorage; + this.image = defaults.image; + this.memory = defaults.memory; + this.name = defaults.name; + this.volumeMounts = defaults.volumeMounts; + } + + @CustomType.Setter + public Builder args(@Nullable List args) { + + this.args = args; + return this; + } + public Builder args(String... args) { + return args(List.of(args)); + } + @CustomType.Setter + public Builder commands(@Nullable List commands) { + + this.commands = commands; + return this; + } + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder envs(@Nullable List envs) { + + this.envs = envs; + return this; + } + public Builder envs(JobTemplateInitContainerEnv... envs) { + return envs(List.of(envs)); + } + @CustomType.Setter + public Builder ephemeralStorage(@Nullable String ephemeralStorage) { + + this.ephemeralStorage = ephemeralStorage; + return this; + } + @CustomType.Setter + public Builder image(String image) { + if (image == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainer", "image"); + } + this.image = image; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainer", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder volumeMounts(@Nullable List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + public Builder volumeMounts(JobTemplateInitContainerVolumeMount... volumeMounts) { + return volumeMounts(List.of(volumeMounts)); + } + public JobTemplateInitContainer build() { + final var _resultValue = new JobTemplateInitContainer(); + _resultValue.args = args; + _resultValue.commands = commands; + _resultValue.cpu = cpu; + _resultValue.envs = envs; + _resultValue.ephemeralStorage = ephemeralStorage; + _resultValue.image = image; + _resultValue.memory = memory; + _resultValue.name = name; + _resultValue.volumeMounts = volumeMounts; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerEnv.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerEnv.java new file mode 100644 index 0000000000..a0c5c26759 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerEnv.java @@ -0,0 +1,102 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplateInitContainerEnv { + /** + * @return The name of the environment variable. + * + */ + private String name; + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + private @Nullable String secretName; + /** + * @return The value of the environment variable. + * + */ + private @Nullable String value; + + private JobTemplateInitContainerEnv() {} + /** + * @return The name of the environment variable. + * + */ + public String name() { + return this.name; + } + /** + * @return Name of the Container App secret from which to pull the environment variable value. + * + */ + public Optional secretName() { + return Optional.ofNullable(this.secretName); + } + /** + * @return The value of the environment variable. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateInitContainerEnv defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private @Nullable String secretName; + private @Nullable String value; + public Builder() {} + public Builder(JobTemplateInitContainerEnv defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.secretName = defaults.secretName; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerEnv", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder secretName(@Nullable String secretName) { + + this.secretName = secretName; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public JobTemplateInitContainerEnv build() { + final var _resultValue = new JobTemplateInitContainerEnv(); + _resultValue.name = name; + _resultValue.secretName = secretName; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerVolumeMount.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerVolumeMount.java new file mode 100644 index 0000000000..1cc781af2d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateInitContainerVolumeMount.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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobTemplateInitContainerVolumeMount { + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + private String name; + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + private String path; + + private JobTemplateInitContainerVolumeMount() {} + /** + * @return The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + * + */ + public String name() { + return this.name; + } + /** + * @return The path within the container at which the volume should be mounted. Must not contain `:`. + * + */ + public String path() { + return this.path; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateInitContainerVolumeMount defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String path; + public Builder() {} + public Builder(JobTemplateInitContainerVolumeMount defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerVolumeMount", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("JobTemplateInitContainerVolumeMount", "path"); + } + this.path = path; + return this; + } + public JobTemplateInitContainerVolumeMount build() { + final var _resultValue = new JobTemplateInitContainerVolumeMount(); + _resultValue.name = name; + _resultValue.path = path; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateVolume.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateVolume.java new file mode 100644 index 0000000000..47dc01bca6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/JobTemplateVolume.java @@ -0,0 +1,102 @@ +// *** 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.azure.containerapp.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobTemplateVolume { + /** + * @return The name of the volume. + * + */ + private String name; + /** + * @return The name of the storage to use for the volume. + * + */ + private @Nullable String storageName; + /** + * @return The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + */ + private @Nullable String storageType; + + private JobTemplateVolume() {} + /** + * @return The name of the volume. + * + */ + public String name() { + return this.name; + } + /** + * @return The name of the storage to use for the volume. + * + */ + public Optional storageName() { + return Optional.ofNullable(this.storageName); + } + /** + * @return The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + * + */ + public Optional storageType() { + return Optional.ofNullable(this.storageType); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobTemplateVolume defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private @Nullable String storageName; + private @Nullable String storageType; + public Builder() {} + public Builder(JobTemplateVolume defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.storageName = defaults.storageName; + this.storageType = defaults.storageType; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobTemplateVolume", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder storageName(@Nullable String storageName) { + + this.storageName = storageName; + return this; + } + @CustomType.Setter + public Builder storageType(@Nullable String storageType) { + + this.storageType = storageType; + return this; + } + public JobTemplateVolume build() { + final var _resultValue = new JobTemplateVolume(); + _resultValue.name = name; + _resultValue.storageName = storageName; + _resultValue.storageType = storageType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipal.java b/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipal.java new file mode 100644 index 0000000000..c690eea8a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipal.java @@ -0,0 +1,287 @@ +// *** 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.azure.datafactory; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.datafactory.CredentialServicePrincipalArgs; +import com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalState; +import com.pulumi.azure.datafactory.outputs.CredentialServicePrincipalServicePrincipalKey; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.CoreFunctions;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.datafactory.Factory;
+ * import com.pulumi.azure.datafactory.FactoryArgs;
+ * import com.pulumi.azure.keyvault.KeyVault;
+ * import com.pulumi.azure.keyvault.KeyVaultArgs;
+ * import com.pulumi.azure.keyvault.inputs.KeyVaultAccessPolicyArgs;
+ * import com.pulumi.azure.keyvault.Secret;
+ * import com.pulumi.azure.keyvault.SecretArgs;
+ * import com.pulumi.azure.datafactory.LinkedServiceKeyVault;
+ * import com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;
+ * import com.pulumi.azure.datafactory.CredentialServicePrincipal;
+ * import com.pulumi.azure.datafactory.CredentialServicePrincipalArgs;
+ * import com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalServicePrincipalKeyArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var current = CoreFunctions.getClientConfig();
+ * 
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
+ *             .name("example-resources")
+ *             .location("westeurope")
+ *             .build());
+ * 
+ *         var exampleFactory = new Factory("exampleFactory", FactoryArgs.builder()        
+ *             .name("example")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .build());
+ * 
+ *         var exampleKeyVault = new KeyVault("exampleKeyVault", KeyVaultArgs.builder()        
+ *             .name("example")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
+ *             .skuName("premium")
+ *             .softDeleteRetentionDays(7)
+ *             .accessPolicies(KeyVaultAccessPolicyArgs.builder()
+ *                 .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
+ *                 .objectId(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
+ *                 .keyPermissions(                
+ *                     "Create",
+ *                     "Get")
+ *                 .secretPermissions(                
+ *                     "Set",
+ *                     "Get",
+ *                     "Delete",
+ *                     "Purge",
+ *                     "Recover")
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleSecret = new Secret("exampleSecret", SecretArgs.builder()        
+ *             .name("example")
+ *             .value("example-secret")
+ *             .keyVaultId(exampleKeyVault.id())
+ *             .build());
+ * 
+ *         var exampleLinkedServiceKeyVault = new LinkedServiceKeyVault("exampleLinkedServiceKeyVault", LinkedServiceKeyVaultArgs.builder()        
+ *             .name("example")
+ *             .dataFactoryId(exampleFactory.id())
+ *             .keyVaultId(exampleKeyVault.id())
+ *             .build());
+ * 
+ *         var exampleCredentialServicePrincipal = new CredentialServicePrincipal("exampleCredentialServicePrincipal", CredentialServicePrincipalArgs.builder()        
+ *             .name("example")
+ *             .description("example description")
+ *             .dataFactoryId(exampleFactory.id())
+ *             .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
+ *             .servicePrincipalId(current.applyValue(getClientConfigResult -> getClientConfigResult.clientId()))
+ *             .servicePrincipalKey(CredentialServicePrincipalServicePrincipalKeyArgs.builder()
+ *                 .linkedServiceName(exampleLinkedServiceKeyVault.name())
+ *                 .secretName(exampleSecret.name())
+ *                 .secretVersion(exampleSecret.version())
+ *                 .build())
+ *             .annotations(            
+ *                 "1",
+ *                 "2")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Data Factory Credentials can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 + * ``` + * + */ +@ResourceType(type="azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal") +public class CredentialServicePrincipal extends com.pulumi.resources.CustomResource { + /** + * List of tags that can be used for describing the Data Factory Credential. + * + */ + @Export(name="annotations", refs={List.class,String.class}, tree="[0,1]") + private Output> annotations; + + /** + * @return List of tags that can be used for describing the Data Factory Credential. + * + */ + public Output>> annotations() { + return Codegen.optional(this.annotations); + } + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + @Export(name="dataFactoryId", refs={String.class}, tree="[0]") + private Output dataFactoryId; + + /** + * @return The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + public Output dataFactoryId() { + return this.dataFactoryId; + } + /** + * The description for the Data Factory Credential. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return The description for the Data Factory Credential. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.name; + } + /** + * The Client ID of the Service Principal. + * + */ + @Export(name="servicePrincipalId", refs={String.class}, tree="[0]") + private Output servicePrincipalId; + + /** + * @return The Client ID of the Service Principal. + * + */ + public Output servicePrincipalId() { + return this.servicePrincipalId; + } + /** + * A `service_principal_key` block as defined below. + * + */ + @Export(name="servicePrincipalKey", refs={CredentialServicePrincipalServicePrincipalKey.class}, tree="[0]") + private Output servicePrincipalKey; + + /** + * @return A `service_principal_key` block as defined below. + * + */ + public Output> servicePrincipalKey() { + return Codegen.optional(this.servicePrincipalKey); + } + /** + * The Tenant ID of the Service Principal. + * + */ + @Export(name="tenantId", refs={String.class}, tree="[0]") + private Output tenantId; + + /** + * @return The Tenant ID of the Service Principal. + * + */ + public Output tenantId() { + return this.tenantId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CredentialServicePrincipal(String name) { + this(name, CredentialServicePrincipalArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CredentialServicePrincipal(String name, CredentialServicePrincipalArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public CredentialServicePrincipal(String name, CredentialServicePrincipalArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, args == null ? CredentialServicePrincipalArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CredentialServicePrincipal(String name, Output id, @Nullable CredentialServicePrincipalState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CredentialServicePrincipal get(String name, Output id, @Nullable CredentialServicePrincipalState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CredentialServicePrincipal(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipalArgs.java b/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipalArgs.java new file mode 100644 index 0000000000..5738098c50 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/datafactory/CredentialServicePrincipalArgs.java @@ -0,0 +1,327 @@ +// *** 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.azure.datafactory; + +import com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalServicePrincipalKeyArgs; +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 CredentialServicePrincipalArgs extends com.pulumi.resources.ResourceArgs { + + public static final CredentialServicePrincipalArgs Empty = new CredentialServicePrincipalArgs(); + + /** + * List of tags that can be used for describing the Data Factory Credential. + * + */ + @Import(name="annotations") + private @Nullable Output> annotations; + + /** + * @return List of tags that can be used for describing the Data Factory Credential. + * + */ + public Optional>> annotations() { + return Optional.ofNullable(this.annotations); + } + + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + @Import(name="dataFactoryId", required=true) + private Output dataFactoryId; + + /** + * @return The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + public Output dataFactoryId() { + return this.dataFactoryId; + } + + /** + * The description for the Data Factory Credential. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description for the Data Factory Credential. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The Client ID of the Service Principal. + * + */ + @Import(name="servicePrincipalId", required=true) + private Output servicePrincipalId; + + /** + * @return The Client ID of the Service Principal. + * + */ + public Output servicePrincipalId() { + return this.servicePrincipalId; + } + + /** + * A `service_principal_key` block as defined below. + * + */ + @Import(name="servicePrincipalKey") + private @Nullable Output servicePrincipalKey; + + /** + * @return A `service_principal_key` block as defined below. + * + */ + public Optional> servicePrincipalKey() { + return Optional.ofNullable(this.servicePrincipalKey); + } + + /** + * The Tenant ID of the Service Principal. + * + */ + @Import(name="tenantId", required=true) + private Output tenantId; + + /** + * @return The Tenant ID of the Service Principal. + * + */ + public Output tenantId() { + return this.tenantId; + } + + private CredentialServicePrincipalArgs() {} + + private CredentialServicePrincipalArgs(CredentialServicePrincipalArgs $) { + this.annotations = $.annotations; + this.dataFactoryId = $.dataFactoryId; + this.description = $.description; + this.name = $.name; + this.servicePrincipalId = $.servicePrincipalId; + this.servicePrincipalKey = $.servicePrincipalKey; + this.tenantId = $.tenantId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CredentialServicePrincipalArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CredentialServicePrincipalArgs $; + + public Builder() { + $ = new CredentialServicePrincipalArgs(); + } + + public Builder(CredentialServicePrincipalArgs defaults) { + $ = new CredentialServicePrincipalArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(@Nullable Output> annotations) { + $.annotations = annotations; + return this; + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(List annotations) { + return annotations(Output.of(annotations)); + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(String... annotations) { + return annotations(List.of(annotations)); + } + + /** + * @param dataFactoryId The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + * @return builder + * + */ + public Builder dataFactoryId(Output dataFactoryId) { + $.dataFactoryId = dataFactoryId; + return this; + } + + /** + * @param dataFactoryId The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + * @return builder + * + */ + public Builder dataFactoryId(String dataFactoryId) { + return dataFactoryId(Output.of(dataFactoryId)); + } + + /** + * @param description The description for the Data Factory Credential. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description for the Data Factory Credential. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Specifies the name of the Credential. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Credential. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param servicePrincipalId The Client ID of the Service Principal. + * + * @return builder + * + */ + public Builder servicePrincipalId(Output servicePrincipalId) { + $.servicePrincipalId = servicePrincipalId; + return this; + } + + /** + * @param servicePrincipalId The Client ID of the Service Principal. + * + * @return builder + * + */ + public Builder servicePrincipalId(String servicePrincipalId) { + return servicePrincipalId(Output.of(servicePrincipalId)); + } + + /** + * @param servicePrincipalKey A `service_principal_key` block as defined below. + * + * @return builder + * + */ + public Builder servicePrincipalKey(@Nullable Output servicePrincipalKey) { + $.servicePrincipalKey = servicePrincipalKey; + return this; + } + + /** + * @param servicePrincipalKey A `service_principal_key` block as defined below. + * + * @return builder + * + */ + public Builder servicePrincipalKey(CredentialServicePrincipalServicePrincipalKeyArgs servicePrincipalKey) { + return servicePrincipalKey(Output.of(servicePrincipalKey)); + } + + /** + * @param tenantId The Tenant ID of the Service Principal. + * + * @return builder + * + */ + public Builder tenantId(Output tenantId) { + $.tenantId = tenantId; + return this; + } + + /** + * @param tenantId The Tenant ID of the Service Principal. + * + * @return builder + * + */ + public Builder tenantId(String tenantId) { + return tenantId(Output.of(tenantId)); + } + + public CredentialServicePrincipalArgs build() { + if ($.dataFactoryId == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalArgs", "dataFactoryId"); + } + if ($.servicePrincipalId == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalArgs", "servicePrincipalId"); + } + if ($.tenantId == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalArgs", "tenantId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalServicePrincipalKeyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalServicePrincipalKeyArgs.java new file mode 100644 index 0000000000..f7a054d851 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalServicePrincipalKeyArgs.java @@ -0,0 +1,164 @@ +// *** 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.azure.datafactory.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CredentialServicePrincipalServicePrincipalKeyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CredentialServicePrincipalServicePrincipalKeyArgs Empty = new CredentialServicePrincipalServicePrincipalKeyArgs(); + + /** + * The name of the Linked Service to use for the Service Principal Key. + * + */ + @Import(name="linkedServiceName", required=true) + private Output linkedServiceName; + + /** + * @return The name of the Linked Service to use for the Service Principal Key. + * + */ + public Output linkedServiceName() { + return this.linkedServiceName; + } + + /** + * The name of the Secret in the Key Vault. + * + */ + @Import(name="secretName", required=true) + private Output secretName; + + /** + * @return The name of the Secret in the Key Vault. + * + */ + public Output secretName() { + return this.secretName; + } + + /** + * The version of the Secret in the Key Vault. + * + */ + @Import(name="secretVersion") + private @Nullable Output secretVersion; + + /** + * @return The version of the Secret in the Key Vault. + * + */ + public Optional> secretVersion() { + return Optional.ofNullable(this.secretVersion); + } + + private CredentialServicePrincipalServicePrincipalKeyArgs() {} + + private CredentialServicePrincipalServicePrincipalKeyArgs(CredentialServicePrincipalServicePrincipalKeyArgs $) { + this.linkedServiceName = $.linkedServiceName; + this.secretName = $.secretName; + this.secretVersion = $.secretVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CredentialServicePrincipalServicePrincipalKeyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CredentialServicePrincipalServicePrincipalKeyArgs $; + + public Builder() { + $ = new CredentialServicePrincipalServicePrincipalKeyArgs(); + } + + public Builder(CredentialServicePrincipalServicePrincipalKeyArgs defaults) { + $ = new CredentialServicePrincipalServicePrincipalKeyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param linkedServiceName The name of the Linked Service to use for the Service Principal Key. + * + * @return builder + * + */ + public Builder linkedServiceName(Output linkedServiceName) { + $.linkedServiceName = linkedServiceName; + return this; + } + + /** + * @param linkedServiceName The name of the Linked Service to use for the Service Principal Key. + * + * @return builder + * + */ + public Builder linkedServiceName(String linkedServiceName) { + return linkedServiceName(Output.of(linkedServiceName)); + } + + /** + * @param secretName The name of the Secret in the Key Vault. + * + * @return builder + * + */ + public Builder secretName(Output secretName) { + $.secretName = secretName; + return this; + } + + /** + * @param secretName The name of the Secret in the Key Vault. + * + * @return builder + * + */ + public Builder secretName(String secretName) { + return secretName(Output.of(secretName)); + } + + /** + * @param secretVersion The version of the Secret in the Key Vault. + * + * @return builder + * + */ + public Builder secretVersion(@Nullable Output secretVersion) { + $.secretVersion = secretVersion; + return this; + } + + /** + * @param secretVersion The version of the Secret in the Key Vault. + * + * @return builder + * + */ + public Builder secretVersion(String secretVersion) { + return secretVersion(Output.of(secretVersion)); + } + + public CredentialServicePrincipalServicePrincipalKeyArgs build() { + if ($.linkedServiceName == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalServicePrincipalKeyArgs", "linkedServiceName"); + } + if ($.secretName == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalServicePrincipalKeyArgs", "secretName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalState.java b/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalState.java new file mode 100644 index 0000000000..7084e64177 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/datafactory/inputs/CredentialServicePrincipalState.java @@ -0,0 +1,317 @@ +// *** 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.azure.datafactory.inputs; + +import com.pulumi.azure.datafactory.inputs.CredentialServicePrincipalServicePrincipalKeyArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CredentialServicePrincipalState extends com.pulumi.resources.ResourceArgs { + + public static final CredentialServicePrincipalState Empty = new CredentialServicePrincipalState(); + + /** + * List of tags that can be used for describing the Data Factory Credential. + * + */ + @Import(name="annotations") + private @Nullable Output> annotations; + + /** + * @return List of tags that can be used for describing the Data Factory Credential. + * + */ + public Optional>> annotations() { + return Optional.ofNullable(this.annotations); + } + + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + @Import(name="dataFactoryId") + private @Nullable Output dataFactoryId; + + /** + * @return The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + */ + public Optional> dataFactoryId() { + return Optional.ofNullable(this.dataFactoryId); + } + + /** + * The description for the Data Factory Credential. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description for the Data Factory Credential. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Credential. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The Client ID of the Service Principal. + * + */ + @Import(name="servicePrincipalId") + private @Nullable Output servicePrincipalId; + + /** + * @return The Client ID of the Service Principal. + * + */ + public Optional> servicePrincipalId() { + return Optional.ofNullable(this.servicePrincipalId); + } + + /** + * A `service_principal_key` block as defined below. + * + */ + @Import(name="servicePrincipalKey") + private @Nullable Output servicePrincipalKey; + + /** + * @return A `service_principal_key` block as defined below. + * + */ + public Optional> servicePrincipalKey() { + return Optional.ofNullable(this.servicePrincipalKey); + } + + /** + * The Tenant ID of the Service Principal. + * + */ + @Import(name="tenantId") + private @Nullable Output tenantId; + + /** + * @return The Tenant ID of the Service Principal. + * + */ + public Optional> tenantId() { + return Optional.ofNullable(this.tenantId); + } + + private CredentialServicePrincipalState() {} + + private CredentialServicePrincipalState(CredentialServicePrincipalState $) { + this.annotations = $.annotations; + this.dataFactoryId = $.dataFactoryId; + this.description = $.description; + this.name = $.name; + this.servicePrincipalId = $.servicePrincipalId; + this.servicePrincipalKey = $.servicePrincipalKey; + this.tenantId = $.tenantId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CredentialServicePrincipalState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CredentialServicePrincipalState $; + + public Builder() { + $ = new CredentialServicePrincipalState(); + } + + public Builder(CredentialServicePrincipalState defaults) { + $ = new CredentialServicePrincipalState(Objects.requireNonNull(defaults)); + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(@Nullable Output> annotations) { + $.annotations = annotations; + return this; + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(List annotations) { + return annotations(Output.of(annotations)); + } + + /** + * @param annotations List of tags that can be used for describing the Data Factory Credential. + * + * @return builder + * + */ + public Builder annotations(String... annotations) { + return annotations(List.of(annotations)); + } + + /** + * @param dataFactoryId The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + * @return builder + * + */ + public Builder dataFactoryId(@Nullable Output dataFactoryId) { + $.dataFactoryId = dataFactoryId; + return this; + } + + /** + * @param dataFactoryId The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + * + * @return builder + * + */ + public Builder dataFactoryId(String dataFactoryId) { + return dataFactoryId(Output.of(dataFactoryId)); + } + + /** + * @param description The description for the Data Factory Credential. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description for the Data Factory Credential. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Specifies the name of the Credential. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Credential. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param servicePrincipalId The Client ID of the Service Principal. + * + * @return builder + * + */ + public Builder servicePrincipalId(@Nullable Output servicePrincipalId) { + $.servicePrincipalId = servicePrincipalId; + return this; + } + + /** + * @param servicePrincipalId The Client ID of the Service Principal. + * + * @return builder + * + */ + public Builder servicePrincipalId(String servicePrincipalId) { + return servicePrincipalId(Output.of(servicePrincipalId)); + } + + /** + * @param servicePrincipalKey A `service_principal_key` block as defined below. + * + * @return builder + * + */ + public Builder servicePrincipalKey(@Nullable Output servicePrincipalKey) { + $.servicePrincipalKey = servicePrincipalKey; + return this; + } + + /** + * @param servicePrincipalKey A `service_principal_key` block as defined below. + * + * @return builder + * + */ + public Builder servicePrincipalKey(CredentialServicePrincipalServicePrincipalKeyArgs servicePrincipalKey) { + return servicePrincipalKey(Output.of(servicePrincipalKey)); + } + + /** + * @param tenantId The Tenant ID of the Service Principal. + * + * @return builder + * + */ + public Builder tenantId(@Nullable Output tenantId) { + $.tenantId = tenantId; + return this; + } + + /** + * @param tenantId The Tenant ID of the Service Principal. + * + * @return builder + * + */ + public Builder tenantId(String tenantId) { + return tenantId(Output.of(tenantId)); + } + + public CredentialServicePrincipalState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/datafactory/outputs/CredentialServicePrincipalServicePrincipalKey.java b/sdk/java/src/main/java/com/pulumi/azure/datafactory/outputs/CredentialServicePrincipalServicePrincipalKey.java new file mode 100644 index 0000000000..b73a919c40 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/datafactory/outputs/CredentialServicePrincipalServicePrincipalKey.java @@ -0,0 +1,104 @@ +// *** 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.azure.datafactory.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CredentialServicePrincipalServicePrincipalKey { + /** + * @return The name of the Linked Service to use for the Service Principal Key. + * + */ + private String linkedServiceName; + /** + * @return The name of the Secret in the Key Vault. + * + */ + private String secretName; + /** + * @return The version of the Secret in the Key Vault. + * + */ + private @Nullable String secretVersion; + + private CredentialServicePrincipalServicePrincipalKey() {} + /** + * @return The name of the Linked Service to use for the Service Principal Key. + * + */ + public String linkedServiceName() { + return this.linkedServiceName; + } + /** + * @return The name of the Secret in the Key Vault. + * + */ + public String secretName() { + return this.secretName; + } + /** + * @return The version of the Secret in the Key Vault. + * + */ + public Optional secretVersion() { + return Optional.ofNullable(this.secretVersion); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CredentialServicePrincipalServicePrincipalKey defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String linkedServiceName; + private String secretName; + private @Nullable String secretVersion; + public Builder() {} + public Builder(CredentialServicePrincipalServicePrincipalKey defaults) { + Objects.requireNonNull(defaults); + this.linkedServiceName = defaults.linkedServiceName; + this.secretName = defaults.secretName; + this.secretVersion = defaults.secretVersion; + } + + @CustomType.Setter + public Builder linkedServiceName(String linkedServiceName) { + if (linkedServiceName == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalServicePrincipalKey", "linkedServiceName"); + } + this.linkedServiceName = linkedServiceName; + return this; + } + @CustomType.Setter + public Builder secretName(String secretName) { + if (secretName == null) { + throw new MissingRequiredPropertyException("CredentialServicePrincipalServicePrincipalKey", "secretName"); + } + this.secretName = secretName; + return this; + } + @CustomType.Setter + public Builder secretVersion(@Nullable String secretVersion) { + + this.secretVersion = secretVersion; + return this; + } + public CredentialServicePrincipalServicePrincipalKey build() { + final var _resultValue = new CredentialServicePrincipalServicePrincipalKey(); + _resultValue.linkedServiceName = linkedServiceName; + _resultValue.secretName = secretName; + _resultValue.secretVersion = secretVersion; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesArgs.java b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesArgs.java index 87ae52fd00..1a54e171c6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesArgs.java @@ -13,6 +13,7 @@ import com.pulumi.azure.inputs.ProviderFeaturesManagedDiskArgs; import com.pulumi.azure.inputs.ProviderFeaturesPostgresqlFlexibleServerArgs; import com.pulumi.azure.inputs.ProviderFeaturesRecoveryServiceArgs; +import com.pulumi.azure.inputs.ProviderFeaturesRecoveryServicesVaultsArgs; import com.pulumi.azure.inputs.ProviderFeaturesResourceGroupArgs; import com.pulumi.azure.inputs.ProviderFeaturesSubscriptionArgs; import com.pulumi.azure.inputs.ProviderFeaturesTemplateDeploymentArgs; @@ -99,6 +100,13 @@ public Optional> recoveryService() { return Optional.ofNullable(this.recoveryService); } + @Import(name="recoveryServicesVaults") + private @Nullable Output recoveryServicesVaults; + + public Optional> recoveryServicesVaults() { + return Optional.ofNullable(this.recoveryServicesVaults); + } + @Import(name="resourceGroup") private @Nullable Output resourceGroup; @@ -147,6 +155,7 @@ private ProviderFeaturesArgs(ProviderFeaturesArgs $) { this.managedDisk = $.managedDisk; this.postgresqlFlexibleServer = $.postgresqlFlexibleServer; this.recoveryService = $.recoveryService; + this.recoveryServicesVaults = $.recoveryServicesVaults; this.resourceGroup = $.resourceGroup; this.subscription = $.subscription; this.templateDeployment = $.templateDeployment; @@ -262,6 +271,15 @@ public Builder recoveryService(ProviderFeaturesRecoveryServiceArgs recoveryServi return recoveryService(Output.of(recoveryService)); } + public Builder recoveryServicesVaults(@Nullable Output recoveryServicesVaults) { + $.recoveryServicesVaults = recoveryServicesVaults; + return this; + } + + public Builder recoveryServicesVaults(ProviderFeaturesRecoveryServicesVaultsArgs recoveryServicesVaults) { + return recoveryServicesVaults(Output.of(recoveryServicesVaults)); + } + public Builder resourceGroup(@Nullable Output resourceGroup) { $.resourceGroup = resourceGroup; return this; diff --git a/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesRecoveryServicesVaultsArgs.java b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesRecoveryServicesVaultsArgs.java new file mode 100644 index 0000000000..b53532ec11 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesRecoveryServicesVaultsArgs.java @@ -0,0 +1,63 @@ +// *** 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.azure.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProviderFeaturesRecoveryServicesVaultsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProviderFeaturesRecoveryServicesVaultsArgs Empty = new ProviderFeaturesRecoveryServicesVaultsArgs(); + + @Import(name="recoverSoftDeletedBackupProtectedVm") + private @Nullable Output recoverSoftDeletedBackupProtectedVm; + + public Optional> recoverSoftDeletedBackupProtectedVm() { + return Optional.ofNullable(this.recoverSoftDeletedBackupProtectedVm); + } + + private ProviderFeaturesRecoveryServicesVaultsArgs() {} + + private ProviderFeaturesRecoveryServicesVaultsArgs(ProviderFeaturesRecoveryServicesVaultsArgs $) { + this.recoverSoftDeletedBackupProtectedVm = $.recoverSoftDeletedBackupProtectedVm; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProviderFeaturesRecoveryServicesVaultsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProviderFeaturesRecoveryServicesVaultsArgs $; + + public Builder() { + $ = new ProviderFeaturesRecoveryServicesVaultsArgs(); + } + + public Builder(ProviderFeaturesRecoveryServicesVaultsArgs defaults) { + $ = new ProviderFeaturesRecoveryServicesVaultsArgs(Objects.requireNonNull(defaults)); + } + + public Builder recoverSoftDeletedBackupProtectedVm(@Nullable Output recoverSoftDeletedBackupProtectedVm) { + $.recoverSoftDeletedBackupProtectedVm = recoverSoftDeletedBackupProtectedVm; + return this; + } + + public Builder recoverSoftDeletedBackupProtectedVm(Boolean recoverSoftDeletedBackupProtectedVm) { + return recoverSoftDeletedBackupProtectedVm(Output.of(recoverSoftDeletedBackupProtectedVm)); + } + + public ProviderFeaturesRecoveryServicesVaultsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/kusto/Cluster.java b/sdk/java/src/main/java/com/pulumi/azure/kusto/Cluster.java index 07456eefbc..42434e1149 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/kusto/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/azure/kusto/Cluster.java @@ -374,7 +374,7 @@ public Output>> tags() { * */ @Export(name="trustedExternalTenants", refs={List.class,String.class}, tree="[0,1]") - private Output> trustedExternalTenants; + private Output> trustedExternalTenants; /** * @return Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trusted_external_tenants = ["*"]` to explicitly allow all other tenants, `trusted_external_tenants = ["MyTenantOnly"]` for only your tenant or `trusted_external_tenants = ["<tenantId1>", "<tenantIdx>"]` to allow specific other tenants. @@ -382,8 +382,8 @@ public Output>> tags() { * > **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trusted_external_tenants = ["MyTenantOnly"]` to `trusted_external_tenants = []`. * */ - public Output> trustedExternalTenants() { - return this.trustedExternalTenants; + public Output>> trustedExternalTenants() { + return Codegen.optional(this.trustedExternalTenants); } /** * The FQDN of the Azure Kusto Cluster. diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScope.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScope.java new file mode 100644 index 0000000000..84ec55072d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScope.java @@ -0,0 +1,128 @@ +// *** 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.azure.maintenance; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.maintenance.AssignmentDynamicScopeArgs; +import com.pulumi.azure.maintenance.inputs.AssignmentDynamicScopeState; +import com.pulumi.azure.maintenance.outputs.AssignmentDynamicScopeFilter; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Manages a Dynamic Maintenance Assignment. + * + * > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. + * + * ## Import + * + * Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName + * ``` + * + */ +@ResourceType(type="azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope") +public class AssignmentDynamicScope extends com.pulumi.resources.CustomResource { + /** + * A `filter` block as defined below. + * + */ + @Export(name="filter", refs={AssignmentDynamicScopeFilter.class}, tree="[0]") + private Output filter; + + /** + * @return A `filter` block as defined below. + * + */ + public Output filter() { + return this.filter; + } + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + @Export(name="maintenanceConfigurationId", refs={String.class}, tree="[0]") + private Output maintenanceConfigurationId; + + /** + * @return The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + public Output maintenanceConfigurationId() { + return this.maintenanceConfigurationId; + } + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + public Output name() { + return this.name; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AssignmentDynamicScope(String name) { + this(name, AssignmentDynamicScopeArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AssignmentDynamicScope(String name, AssignmentDynamicScopeArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public AssignmentDynamicScope(String name, AssignmentDynamicScopeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, args == null ? AssignmentDynamicScopeArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AssignmentDynamicScope(String name, Output id, @Nullable AssignmentDynamicScopeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AssignmentDynamicScope get(String name, Output id, @Nullable AssignmentDynamicScopeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AssignmentDynamicScope(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScopeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScopeArgs.java new file mode 100644 index 0000000000..7d6eec079b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/AssignmentDynamicScopeArgs.java @@ -0,0 +1,173 @@ +// *** 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.azure.maintenance; + +import com.pulumi.azure.maintenance.inputs.AssignmentDynamicScopeFilterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AssignmentDynamicScopeArgs extends com.pulumi.resources.ResourceArgs { + + public static final AssignmentDynamicScopeArgs Empty = new AssignmentDynamicScopeArgs(); + + /** + * A `filter` block as defined below. + * + */ + @Import(name="filter", required=true) + private Output filter; + + /** + * @return A `filter` block as defined below. + * + */ + public Output filter() { + return this.filter; + } + + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + @Import(name="maintenanceConfigurationId", required=true) + private Output maintenanceConfigurationId; + + /** + * @return The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + public Output maintenanceConfigurationId() { + return this.maintenanceConfigurationId; + } + + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private AssignmentDynamicScopeArgs() {} + + private AssignmentDynamicScopeArgs(AssignmentDynamicScopeArgs $) { + this.filter = $.filter; + this.maintenanceConfigurationId = $.maintenanceConfigurationId; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AssignmentDynamicScopeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AssignmentDynamicScopeArgs $; + + public Builder() { + $ = new AssignmentDynamicScopeArgs(); + } + + public Builder(AssignmentDynamicScopeArgs defaults) { + $ = new AssignmentDynamicScopeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter A `filter` block as defined below. + * + * @return builder + * + */ + public Builder filter(Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter A `filter` block as defined below. + * + * @return builder + * + */ + public Builder filter(AssignmentDynamicScopeFilterArgs filter) { + return filter(Output.of(filter)); + } + + /** + * @param maintenanceConfigurationId The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * @return builder + * + */ + public Builder maintenanceConfigurationId(Output maintenanceConfigurationId) { + $.maintenanceConfigurationId = maintenanceConfigurationId; + return this; + } + + /** + * @param maintenanceConfigurationId The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * @return builder + * + */ + public Builder maintenanceConfigurationId(String maintenanceConfigurationId) { + return maintenanceConfigurationId(Output.of(maintenanceConfigurationId)); + } + + /** + * @param name The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public AssignmentDynamicScopeArgs build() { + if ($.filter == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeArgs", "filter"); + } + if ($.maintenanceConfigurationId == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeArgs", "maintenanceConfigurationId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterArgs.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterArgs.java new file mode 100644 index 0000000000..0cdb57e8f5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterArgs.java @@ -0,0 +1,320 @@ +// *** 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.azure.maintenance.inputs; + +import com.pulumi.azure.maintenance.inputs.AssignmentDynamicScopeFilterTagArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AssignmentDynamicScopeFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final AssignmentDynamicScopeFilterArgs Empty = new AssignmentDynamicScopeFilterArgs(); + + /** + * Specifies a list of locations to scope the query to. + * + */ + @Import(name="locations") + private @Nullable Output> locations; + + /** + * @return Specifies a list of locations to scope the query to. + * + */ + public Optional>> locations() { + return Optional.ofNullable(this.locations); + } + + /** + * Specifies a list of allowed operating systems. + * + */ + @Import(name="osTypes") + private @Nullable Output> osTypes; + + /** + * @return Specifies a list of allowed operating systems. + * + */ + public Optional>> osTypes() { + return Optional.ofNullable(this.osTypes); + } + + /** + * Specifies a list of allowed resource groups. + * + */ + @Import(name="resourceGroups") + private @Nullable Output> resourceGroups; + + /** + * @return Specifies a list of allowed resource groups. + * + */ + public Optional>> resourceGroups() { + return Optional.ofNullable(this.resourceGroups); + } + + /** + * Specifies a list of allowed resources. + * + */ + @Import(name="resourceTypes") + private @Nullable Output> resourceTypes; + + /** + * @return Specifies a list of allowed resources. + * + */ + public Optional>> resourceTypes() { + return Optional.ofNullable(this.resourceTypes); + } + + /** + * Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + */ + @Import(name="tagFilter") + private @Nullable Output tagFilter; + + /** + * @return Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + */ + public Optional> tagFilter() { + return Optional.ofNullable(this.tagFilter); + } + + /** + * A mapping of tags for the VM + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags for the VM + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private AssignmentDynamicScopeFilterArgs() {} + + private AssignmentDynamicScopeFilterArgs(AssignmentDynamicScopeFilterArgs $) { + this.locations = $.locations; + this.osTypes = $.osTypes; + this.resourceGroups = $.resourceGroups; + this.resourceTypes = $.resourceTypes; + this.tagFilter = $.tagFilter; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AssignmentDynamicScopeFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AssignmentDynamicScopeFilterArgs $; + + public Builder() { + $ = new AssignmentDynamicScopeFilterArgs(); + } + + public Builder(AssignmentDynamicScopeFilterArgs defaults) { + $ = new AssignmentDynamicScopeFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param locations Specifies a list of locations to scope the query to. + * + * @return builder + * + */ + public Builder locations(@Nullable Output> locations) { + $.locations = locations; + return this; + } + + /** + * @param locations Specifies a list of locations to scope the query to. + * + * @return builder + * + */ + public Builder locations(List locations) { + return locations(Output.of(locations)); + } + + /** + * @param locations Specifies a list of locations to scope the query to. + * + * @return builder + * + */ + public Builder locations(String... locations) { + return locations(List.of(locations)); + } + + /** + * @param osTypes Specifies a list of allowed operating systems. + * + * @return builder + * + */ + public Builder osTypes(@Nullable Output> osTypes) { + $.osTypes = osTypes; + return this; + } + + /** + * @param osTypes Specifies a list of allowed operating systems. + * + * @return builder + * + */ + public Builder osTypes(List osTypes) { + return osTypes(Output.of(osTypes)); + } + + /** + * @param osTypes Specifies a list of allowed operating systems. + * + * @return builder + * + */ + public Builder osTypes(String... osTypes) { + return osTypes(List.of(osTypes)); + } + + /** + * @param resourceGroups Specifies a list of allowed resource groups. + * + * @return builder + * + */ + public Builder resourceGroups(@Nullable Output> resourceGroups) { + $.resourceGroups = resourceGroups; + return this; + } + + /** + * @param resourceGroups Specifies a list of allowed resource groups. + * + * @return builder + * + */ + public Builder resourceGroups(List resourceGroups) { + return resourceGroups(Output.of(resourceGroups)); + } + + /** + * @param resourceGroups Specifies a list of allowed resource groups. + * + * @return builder + * + */ + public Builder resourceGroups(String... resourceGroups) { + return resourceGroups(List.of(resourceGroups)); + } + + /** + * @param resourceTypes Specifies a list of allowed resources. + * + * @return builder + * + */ + public Builder resourceTypes(@Nullable Output> resourceTypes) { + $.resourceTypes = resourceTypes; + return this; + } + + /** + * @param resourceTypes Specifies a list of allowed resources. + * + * @return builder + * + */ + public Builder resourceTypes(List resourceTypes) { + return resourceTypes(Output.of(resourceTypes)); + } + + /** + * @param resourceTypes Specifies a list of allowed resources. + * + * @return builder + * + */ + public Builder resourceTypes(String... resourceTypes) { + return resourceTypes(List.of(resourceTypes)); + } + + /** + * @param tagFilter Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + * @return builder + * + */ + public Builder tagFilter(@Nullable Output tagFilter) { + $.tagFilter = tagFilter; + return this; + } + + /** + * @param tagFilter Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + * @return builder + * + */ + public Builder tagFilter(String tagFilter) { + return tagFilter(Output.of(tagFilter)); + } + + /** + * @param tags A mapping of tags for the VM + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags for the VM + * + * @return builder + * + */ + public Builder tags(List tags) { + return tags(Output.of(tags)); + } + + /** + * @param tags A mapping of tags for the VM + * + * @return builder + * + */ + public Builder tags(AssignmentDynamicScopeFilterTagArgs... tags) { + return tags(List.of(tags)); + } + + public AssignmentDynamicScopeFilterArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterTagArgs.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterTagArgs.java new file mode 100644 index 0000000000..734f9ac419 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeFilterTagArgs.java @@ -0,0 +1,136 @@ +// *** 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.azure.maintenance.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; + + +public final class AssignmentDynamicScopeFilterTagArgs extends com.pulumi.resources.ResourceArgs { + + public static final AssignmentDynamicScopeFilterTagArgs Empty = new AssignmentDynamicScopeFilterTagArgs(); + + /** + * Specifies the tag to filter by. + * + */ + @Import(name="tag", required=true) + private Output tag; + + /** + * @return Specifies the tag to filter by. + * + */ + public Output tag() { + return this.tag; + } + + /** + * Specifies a list of values the defined tag can have. + * + */ + @Import(name="values", required=true) + private Output> values; + + /** + * @return Specifies a list of values the defined tag can have. + * + */ + public Output> values() { + return this.values; + } + + private AssignmentDynamicScopeFilterTagArgs() {} + + private AssignmentDynamicScopeFilterTagArgs(AssignmentDynamicScopeFilterTagArgs $) { + this.tag = $.tag; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AssignmentDynamicScopeFilterTagArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AssignmentDynamicScopeFilterTagArgs $; + + public Builder() { + $ = new AssignmentDynamicScopeFilterTagArgs(); + } + + public Builder(AssignmentDynamicScopeFilterTagArgs defaults) { + $ = new AssignmentDynamicScopeFilterTagArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tag Specifies the tag to filter by. + * + * @return builder + * + */ + public Builder tag(Output tag) { + $.tag = tag; + return this; + } + + /** + * @param tag Specifies the tag to filter by. + * + * @return builder + * + */ + public Builder tag(String tag) { + return tag(Output.of(tag)); + } + + /** + * @param values Specifies a list of values the defined tag can have. + * + * @return builder + * + */ + public Builder values(Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specifies a list of values the defined tag can have. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specifies a list of values the defined tag can have. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public AssignmentDynamicScopeFilterTagArgs build() { + if ($.tag == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeFilterTagArgs", "tag"); + } + if ($.values == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeFilterTagArgs", "values"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeState.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeState.java new file mode 100644 index 0000000000..a2bb149754 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/inputs/AssignmentDynamicScopeState.java @@ -0,0 +1,166 @@ +// *** 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.azure.maintenance.inputs; + +import com.pulumi.azure.maintenance.inputs.AssignmentDynamicScopeFilterArgs; +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 AssignmentDynamicScopeState extends com.pulumi.resources.ResourceArgs { + + public static final AssignmentDynamicScopeState Empty = new AssignmentDynamicScopeState(); + + /** + * A `filter` block as defined below. + * + */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return A `filter` block as defined below. + * + */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + @Import(name="maintenanceConfigurationId") + private @Nullable Output maintenanceConfigurationId; + + /** + * @return The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + */ + public Optional> maintenanceConfigurationId() { + return Optional.ofNullable(this.maintenanceConfigurationId); + } + + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private AssignmentDynamicScopeState() {} + + private AssignmentDynamicScopeState(AssignmentDynamicScopeState $) { + this.filter = $.filter; + this.maintenanceConfigurationId = $.maintenanceConfigurationId; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AssignmentDynamicScopeState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AssignmentDynamicScopeState $; + + public Builder() { + $ = new AssignmentDynamicScopeState(); + } + + public Builder(AssignmentDynamicScopeState defaults) { + $ = new AssignmentDynamicScopeState(Objects.requireNonNull(defaults)); + } + + /** + * @param filter A `filter` block as defined below. + * + * @return builder + * + */ + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter A `filter` block as defined below. + * + * @return builder + * + */ + public Builder filter(AssignmentDynamicScopeFilterArgs filter) { + return filter(Output.of(filter)); + } + + /** + * @param maintenanceConfigurationId The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * @return builder + * + */ + public Builder maintenanceConfigurationId(@Nullable Output maintenanceConfigurationId) { + $.maintenanceConfigurationId = maintenanceConfigurationId; + return this; + } + + /** + * @param maintenanceConfigurationId The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * @return builder + * + */ + public Builder maintenanceConfigurationId(String maintenanceConfigurationId) { + return maintenanceConfigurationId(Output.of(maintenanceConfigurationId)); + } + + /** + * @param name The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public AssignmentDynamicScopeState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilter.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilter.java new file mode 100644 index 0000000000..4a696981b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilter.java @@ -0,0 +1,179 @@ +// *** 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.azure.maintenance.outputs; + +import com.pulumi.azure.maintenance.outputs.AssignmentDynamicScopeFilterTag; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AssignmentDynamicScopeFilter { + /** + * @return Specifies a list of locations to scope the query to. + * + */ + private @Nullable List locations; + /** + * @return Specifies a list of allowed operating systems. + * + */ + private @Nullable List osTypes; + /** + * @return Specifies a list of allowed resource groups. + * + */ + private @Nullable List resourceGroups; + /** + * @return Specifies a list of allowed resources. + * + */ + private @Nullable List resourceTypes; + /** + * @return Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + */ + private @Nullable String tagFilter; + /** + * @return A mapping of tags for the VM + * + */ + private @Nullable List tags; + + private AssignmentDynamicScopeFilter() {} + /** + * @return Specifies a list of locations to scope the query to. + * + */ + public List locations() { + return this.locations == null ? List.of() : this.locations; + } + /** + * @return Specifies a list of allowed operating systems. + * + */ + public List osTypes() { + return this.osTypes == null ? List.of() : this.osTypes; + } + /** + * @return Specifies a list of allowed resource groups. + * + */ + public List resourceGroups() { + return this.resourceGroups == null ? List.of() : this.resourceGroups; + } + /** + * @return Specifies a list of allowed resources. + * + */ + public List resourceTypes() { + return this.resourceTypes == null ? List.of() : this.resourceTypes; + } + /** + * @return Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + * + */ + public Optional tagFilter() { + return Optional.ofNullable(this.tagFilter); + } + /** + * @return A mapping of tags for the VM + * + */ + public List tags() { + return this.tags == null ? List.of() : this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AssignmentDynamicScopeFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List locations; + private @Nullable List osTypes; + private @Nullable List resourceGroups; + private @Nullable List resourceTypes; + private @Nullable String tagFilter; + private @Nullable List tags; + public Builder() {} + public Builder(AssignmentDynamicScopeFilter defaults) { + Objects.requireNonNull(defaults); + this.locations = defaults.locations; + this.osTypes = defaults.osTypes; + this.resourceGroups = defaults.resourceGroups; + this.resourceTypes = defaults.resourceTypes; + this.tagFilter = defaults.tagFilter; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder locations(@Nullable List locations) { + + this.locations = locations; + return this; + } + public Builder locations(String... locations) { + return locations(List.of(locations)); + } + @CustomType.Setter + public Builder osTypes(@Nullable List osTypes) { + + this.osTypes = osTypes; + return this; + } + public Builder osTypes(String... osTypes) { + return osTypes(List.of(osTypes)); + } + @CustomType.Setter + public Builder resourceGroups(@Nullable List resourceGroups) { + + this.resourceGroups = resourceGroups; + return this; + } + public Builder resourceGroups(String... resourceGroups) { + return resourceGroups(List.of(resourceGroups)); + } + @CustomType.Setter + public Builder resourceTypes(@Nullable List resourceTypes) { + + this.resourceTypes = resourceTypes; + return this; + } + public Builder resourceTypes(String... resourceTypes) { + return resourceTypes(List.of(resourceTypes)); + } + @CustomType.Setter + public Builder tagFilter(@Nullable String tagFilter) { + + this.tagFilter = tagFilter; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable List tags) { + + this.tags = tags; + return this; + } + public Builder tags(AssignmentDynamicScopeFilterTag... tags) { + return tags(List.of(tags)); + } + public AssignmentDynamicScopeFilter build() { + final var _resultValue = new AssignmentDynamicScopeFilter(); + _resultValue.locations = locations; + _resultValue.osTypes = osTypes; + _resultValue.resourceGroups = resourceGroups; + _resultValue.resourceTypes = resourceTypes; + _resultValue.tagFilter = tagFilter; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilterTag.java b/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilterTag.java new file mode 100644 index 0000000000..6c613a4b19 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/maintenance/outputs/AssignmentDynamicScopeFilterTag.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.azure.maintenance.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class AssignmentDynamicScopeFilterTag { + /** + * @return Specifies the tag to filter by. + * + */ + private String tag; + /** + * @return Specifies a list of values the defined tag can have. + * + */ + private List values; + + private AssignmentDynamicScopeFilterTag() {} + /** + * @return Specifies the tag to filter by. + * + */ + public String tag() { + return this.tag; + } + /** + * @return Specifies a list of values the defined tag can have. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AssignmentDynamicScopeFilterTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String tag; + private List values; + public Builder() {} + public Builder(AssignmentDynamicScopeFilterTag defaults) { + Objects.requireNonNull(defaults); + this.tag = defaults.tag; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder tag(String tag) { + if (tag == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeFilterTag", "tag"); + } + this.tag = tag; + return this; + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("AssignmentDynamicScopeFilterTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public AssignmentDynamicScopeFilterTag build() { + final var _resultValue = new AssignmentDynamicScopeFilterTag(); + _resultValue.tag = tag; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java index 4d81c2dbb1..d96a03bcad 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java @@ -732,6 +732,8 @@ public Output> transparentDataEncryptionEnabled() { /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ @Export(name="transparentDataEncryptionKeyAutomaticRotationEnabled", refs={Boolean.class}, tree="[0]") private Output transparentDataEncryptionKeyAutomaticRotationEnabled; @@ -739,6 +741,8 @@ public Output> transparentDataEncryptionEnabled() { /** * @return Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ public Output> transparentDataEncryptionKeyAutomaticRotationEnabled() { return Codegen.optional(this.transparentDataEncryptionKeyAutomaticRotationEnabled); diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java index 051d95a2f6..9cf7793178 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java @@ -548,6 +548,8 @@ public Optional> transparentDataEncryptionEnabled() { /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ @Import(name="transparentDataEncryptionKeyAutomaticRotationEnabled") private @Nullable Output transparentDataEncryptionKeyAutomaticRotationEnabled; @@ -555,6 +557,8 @@ public Optional> transparentDataEncryptionEnabled() { /** * @return Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ public Optional> transparentDataEncryptionKeyAutomaticRotationEnabled() { return Optional.ofNullable(this.transparentDataEncryptionKeyAutomaticRotationEnabled); @@ -1367,6 +1371,8 @@ public Builder transparentDataEncryptionEnabled(Boolean transparentDataEncryptio /** * @param transparentDataEncryptionKeyAutomaticRotationEnabled Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * * @return builder * */ @@ -1378,6 +1384,8 @@ public Builder transparentDataEncryptionKeyAutomaticRotationEnabled(@Nullable Ou /** * @param transparentDataEncryptionKeyAutomaticRotationEnabled Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java index f0224a61cb..1bec2ade70 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java @@ -547,6 +547,8 @@ public Optional> transparentDataEncryptionEnabled() { /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ @Import(name="transparentDataEncryptionKeyAutomaticRotationEnabled") private @Nullable Output transparentDataEncryptionKeyAutomaticRotationEnabled; @@ -554,6 +556,8 @@ public Optional> transparentDataEncryptionEnabled() { /** * @return Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * */ public Optional> transparentDataEncryptionKeyAutomaticRotationEnabled() { return Optional.ofNullable(this.transparentDataEncryptionKeyAutomaticRotationEnabled); @@ -1366,6 +1370,8 @@ public Builder transparentDataEncryptionEnabled(Boolean transparentDataEncryptio /** * @param transparentDataEncryptionKeyAutomaticRotationEnabled Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * * @return builder * */ @@ -1377,6 +1383,8 @@ public Builder transparentDataEncryptionKeyAutomaticRotationEnabled(@Nullable Ou /** * @param transparentDataEncryptionKeyAutomaticRotationEnabled Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. * + * > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java b/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java index e39327c671..3c64cf2f59 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java @@ -29,6 +29,8 @@ import com.pulumi.azure.network.inputs.GetNetworkInterfaceArgs; import com.pulumi.azure.network.inputs.GetNetworkInterfacePlainArgs; import com.pulumi.azure.network.inputs.GetNetworkManagerArgs; +import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs; +import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationPlainArgs; import com.pulumi.azure.network.inputs.GetNetworkManagerNetworkGroupArgs; import com.pulumi.azure.network.inputs.GetNetworkManagerNetworkGroupPlainArgs; import com.pulumi.azure.network.inputs.GetNetworkManagerPlainArgs; @@ -80,6 +82,7 @@ import com.pulumi.azure.network.outputs.GetNatGatewayResult; import com.pulumi.azure.network.outputs.GetNetworkDdosProtectionPlanResult; import com.pulumi.azure.network.outputs.GetNetworkInterfaceResult; +import com.pulumi.azure.network.outputs.GetNetworkManagerConnectivityConfigurationResult; import com.pulumi.azure.network.outputs.GetNetworkManagerNetworkGroupResult; import com.pulumi.azure.network.outputs.GetNetworkManagerResult; import com.pulumi.azure.network.outputs.GetNetworkSecurityGroupResult; @@ -2355,6 +2358,182 @@ public static Output getNetworkManager(GetNetworkManage public static CompletableFuture getNetworkManagerPlain(GetNetworkManagerPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("azure:network/getNetworkManager:getNetworkManager", TypeShape.of(GetNetworkManagerResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()
+     *             .name("existing")
+     *             .networkManagerId("TODO")
+     *             .build());
+     * 
+     *         ctx.export("id", example.applyValue(getNetworkManagerConnectivityConfigurationResult -> getNetworkManagerConnectivityConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs args) { + return getNetworkManagerConnectivityConfiguration(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()
+     *             .name("existing")
+     *             .networkManagerId("TODO")
+     *             .build());
+     * 
+     *         ctx.export("id", example.applyValue(getNetworkManagerConnectivityConfigurationResult -> getNetworkManagerConnectivityConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getNetworkManagerConnectivityConfigurationPlain(GetNetworkManagerConnectivityConfigurationPlainArgs args) { + return getNetworkManagerConnectivityConfigurationPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()
+     *             .name("existing")
+     *             .networkManagerId("TODO")
+     *             .build());
+     * 
+     *         ctx.export("id", example.applyValue(getNetworkManagerConnectivityConfigurationResult -> getNetworkManagerConnectivityConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", TypeShape.of(GetNetworkManagerConnectivityConfigurationResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetNetworkManagerConnectivityConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getNetworkManagerConnectivityConfiguration(GetNetworkManagerConnectivityConfigurationArgs.builder()
+     *             .name("existing")
+     *             .networkManagerId("TODO")
+     *             .build());
+     * 
+     *         ctx.export("id", example.applyValue(getNetworkManagerConnectivityConfigurationResult -> getNetworkManagerConnectivityConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getNetworkManagerConnectivityConfigurationPlain(GetNetworkManagerConnectivityConfigurationPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", TypeShape.of(GetNetworkManagerConnectivityConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to access information about a Network Manager Network Group. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/Profile.java b/sdk/java/src/main/java/com/pulumi/azure/network/Profile.java index 4024030736..ed052ff55e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/Profile.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/Profile.java @@ -181,14 +181,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return A mapping of tags assigned to the resource. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/ProfileArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/ProfileArgs.java index 717eac9142..0316db4a46 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/ProfileArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/ProfileArgs.java @@ -79,14 +79,14 @@ public Output resourceGroupName() { } /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return A mapping of tags assigned to the resource. * */ public Optional>> tags() { @@ -206,7 +206,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags A mapping of tags assigned to the resource. * * @return builder * @@ -217,7 +217,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags A mapping of tags assigned to the resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/Subnet.java b/sdk/java/src/main/java/com/pulumi/azure/network/Subnet.java index 6f0144a760..9896690289 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/Subnet.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/Subnet.java @@ -134,10 +134,10 @@ public Output>> delegations() { } /** * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ @Export(name="enforcePrivateLinkEndpointNetworkPolicies", refs={Boolean.class}, tree="[0]") private Output enforcePrivateLinkEndpointNetworkPolicies; @@ -171,20 +171,32 @@ public Output name() { return this.name; } /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. * */ - @Export(name="privateEndpointNetworkPoliciesEnabled", refs={Boolean.class}, tree="[0]") - private Output privateEndpointNetworkPoliciesEnabled; + @Export(name="privateEndpointNetworkPolicies", refs={String.class}, tree="[0]") + private Output privateEndpointNetworkPolicies; /** - * @return Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * @return Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. + * + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + */ + public Output privateEndpointNetworkPolicies() { + return this.privateEndpointNetworkPolicies; + } + /** + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ + @Export(name="privateEndpointNetworkPoliciesEnabled", refs={Boolean.class}, tree="[0]") + private Output privateEndpointNetworkPoliciesEnabled; + public Output privateEndpointNetworkPoliciesEnabled() { return this.privateEndpointNetworkPoliciesEnabled; } @@ -207,14 +219,14 @@ public Output privateLinkServiceNetworkPoliciesEnabled() { return this.privateLinkServiceNetworkPoliciesEnabled; } /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ @Export(name="resourceGroupName", refs={String.class}, tree="[0]") private Output resourceGroupName; /** - * @return The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @return The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ public Output resourceGroupName() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/SubnetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/SubnetArgs.java index 1eb2112da6..a98828e161 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/SubnetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/SubnetArgs.java @@ -55,19 +55,19 @@ public Optional>> delegations() { /** * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ @Import(name="enforcePrivateLinkEndpointNetworkPolicies") private @Nullable Output enforcePrivateLinkEndpointNetworkPolicies; /** * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Optional> enforcePrivateLinkEndpointNetworkPolicies() { return Optional.ofNullable(this.enforcePrivateLinkEndpointNetworkPolicies); } @@ -107,20 +107,39 @@ public Optional> name() { } /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. * */ + @Import(name="privateEndpointNetworkPolicies") + private @Nullable Output privateEndpointNetworkPolicies; + + /** + * @return Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. + * + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * + */ + public Optional> privateEndpointNetworkPolicies() { + return Optional.ofNullable(this.privateEndpointNetworkPolicies); + } + + /** + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider + * + */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ @Import(name="privateEndpointNetworkPoliciesEnabled") private @Nullable Output privateEndpointNetworkPoliciesEnabled; /** - * @return Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. - * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Optional> privateEndpointNetworkPoliciesEnabled() { return Optional.ofNullable(this.privateEndpointNetworkPoliciesEnabled); } @@ -145,14 +164,14 @@ public Optional> privateLinkServiceNetworkPoliciesEnabled() { } /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ @Import(name="resourceGroupName", required=true) private Output resourceGroupName; /** - * @return The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @return The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ public Output resourceGroupName() { @@ -216,6 +235,7 @@ private SubnetArgs(SubnetArgs $) { this.enforcePrivateLinkEndpointNetworkPolicies = $.enforcePrivateLinkEndpointNetworkPolicies; this.enforcePrivateLinkServiceNetworkPolicies = $.enforcePrivateLinkServiceNetworkPolicies; this.name = $.name; + this.privateEndpointNetworkPolicies = $.privateEndpointNetworkPolicies; this.privateEndpointNetworkPoliciesEnabled = $.privateEndpointNetworkPoliciesEnabled; this.privateLinkServiceNetworkPoliciesEnabled = $.privateLinkServiceNetworkPoliciesEnabled; this.resourceGroupName = $.resourceGroupName; @@ -314,10 +334,10 @@ public Builder delegations(SubnetDelegationArgs... delegations) { * @return builder * * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Builder enforcePrivateLinkEndpointNetworkPolicies(@Nullable Output enforcePrivateLinkEndpointNetworkPolicies) { $.enforcePrivateLinkEndpointNetworkPolicies = enforcePrivateLinkEndpointNetworkPolicies; return this; @@ -327,10 +347,10 @@ public Builder enforcePrivateLinkEndpointNetworkPolicies(@Nullable Output privateEndpointNetworkPoliciesEnabled) { - $.privateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; + public Builder privateEndpointNetworkPolicies(@Nullable Output privateEndpointNetworkPolicies) { + $.privateEndpointNetworkPolicies = privateEndpointNetworkPolicies; return this; } /** - * @param privateEndpointNetworkPoliciesEnabled Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * @param privateEndpointNetworkPolicies Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. + * + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * + * @return builder + * + */ + public Builder privateEndpointNetworkPolicies(String privateEndpointNetworkPolicies) { + return privateEndpointNetworkPolicies(Output.of(privateEndpointNetworkPolicies)); + } + + /** + * @return builder * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * + */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ + public Builder privateEndpointNetworkPoliciesEnabled(@Nullable Output privateEndpointNetworkPoliciesEnabled) { + $.privateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; + return this; + } + + /** * @return builder * + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider + * */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Builder privateEndpointNetworkPoliciesEnabled(Boolean privateEndpointNetworkPoliciesEnabled) { return privateEndpointNetworkPoliciesEnabled(Output.of(privateEndpointNetworkPoliciesEnabled)); } @@ -432,7 +477,7 @@ public Builder privateLinkServiceNetworkPoliciesEnabled(Boolean privateLinkServi } /** - * @param resourceGroupName The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @param resourceGroupName The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * * @return builder * @@ -443,7 +488,7 @@ public Builder resourceGroupName(Output resourceGroupName) { } /** - * @param resourceGroupName The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @param resourceGroupName The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationArgs.java new file mode 100644 index 0000000000..5e55d6c782 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationArgs.java @@ -0,0 +1,125 @@ +// *** 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.azure.network.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 GetNetworkManagerConnectivityConfigurationArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNetworkManagerConnectivityConfigurationArgs Empty = new GetNetworkManagerConnectivityConfigurationArgs(); + + /** + * The name of this Network Manager Connectivity Configuration. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of this Network Manager Connectivity Configuration. + * + */ + public Output name() { + return this.name; + } + + /** + * The ID of the Network Manager. + * + */ + @Import(name="networkManagerId", required=true) + private Output networkManagerId; + + /** + * @return The ID of the Network Manager. + * + */ + public Output networkManagerId() { + return this.networkManagerId; + } + + private GetNetworkManagerConnectivityConfigurationArgs() {} + + private GetNetworkManagerConnectivityConfigurationArgs(GetNetworkManagerConnectivityConfigurationArgs $) { + this.name = $.name; + this.networkManagerId = $.networkManagerId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNetworkManagerConnectivityConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNetworkManagerConnectivityConfigurationArgs $; + + public Builder() { + $ = new GetNetworkManagerConnectivityConfigurationArgs(); + } + + public Builder(GetNetworkManagerConnectivityConfigurationArgs defaults) { + $ = new GetNetworkManagerConnectivityConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of this Network Manager Connectivity Configuration. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of this Network Manager Connectivity Configuration. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkManagerId The ID of the Network Manager. + * + * @return builder + * + */ + public Builder networkManagerId(Output networkManagerId) { + $.networkManagerId = networkManagerId; + return this; + } + + /** + * @param networkManagerId The ID of the Network Manager. + * + * @return builder + * + */ + public Builder networkManagerId(String networkManagerId) { + return networkManagerId(Output.of(networkManagerId)); + } + + public GetNetworkManagerConnectivityConfigurationArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationArgs", "name"); + } + if ($.networkManagerId == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationArgs", "networkManagerId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationPlainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationPlainArgs.java new file mode 100644 index 0000000000..3ca3cc5499 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetNetworkManagerConnectivityConfigurationPlainArgs.java @@ -0,0 +1,104 @@ +// *** 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.azure.network.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetNetworkManagerConnectivityConfigurationPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNetworkManagerConnectivityConfigurationPlainArgs Empty = new GetNetworkManagerConnectivityConfigurationPlainArgs(); + + /** + * The name of this Network Manager Connectivity Configuration. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return The name of this Network Manager Connectivity Configuration. + * + */ + public String name() { + return this.name; + } + + /** + * The ID of the Network Manager. + * + */ + @Import(name="networkManagerId", required=true) + private String networkManagerId; + + /** + * @return The ID of the Network Manager. + * + */ + public String networkManagerId() { + return this.networkManagerId; + } + + private GetNetworkManagerConnectivityConfigurationPlainArgs() {} + + private GetNetworkManagerConnectivityConfigurationPlainArgs(GetNetworkManagerConnectivityConfigurationPlainArgs $) { + this.name = $.name; + this.networkManagerId = $.networkManagerId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNetworkManagerConnectivityConfigurationPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNetworkManagerConnectivityConfigurationPlainArgs $; + + public Builder() { + $ = new GetNetworkManagerConnectivityConfigurationPlainArgs(); + } + + public Builder(GetNetworkManagerConnectivityConfigurationPlainArgs defaults) { + $ = new GetNetworkManagerConnectivityConfigurationPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of this Network Manager Connectivity Configuration. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param networkManagerId The ID of the Network Manager. + * + * @return builder + * + */ + public Builder networkManagerId(String networkManagerId) { + $.networkManagerId = networkManagerId; + return this; + } + + public GetNetworkManagerConnectivityConfigurationPlainArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationPlainArgs", "name"); + } + if ($.networkManagerId == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationPlainArgs", "networkManagerId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ProfileState.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ProfileState.java index 9cd0b3aecc..99c2e03cd5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ProfileState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ProfileState.java @@ -94,14 +94,14 @@ public Optional> resourceGroupName() { } /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return A mapping of tags assigned to the resource. * */ public Optional>> tags() { @@ -253,7 +253,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags A mapping of tags assigned to the resource. * * @return builder * @@ -264,7 +264,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags A mapping of tags assigned to the resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/SubnetState.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/SubnetState.java index e99b5d80f4..fc8caf1bab 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/SubnetState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/SubnetState.java @@ -54,19 +54,19 @@ public Optional>> delegations() { /** * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ @Import(name="enforcePrivateLinkEndpointNetworkPolicies") private @Nullable Output enforcePrivateLinkEndpointNetworkPolicies; /** * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Optional> enforcePrivateLinkEndpointNetworkPolicies() { return Optional.ofNullable(this.enforcePrivateLinkEndpointNetworkPolicies); } @@ -106,20 +106,39 @@ public Optional> name() { } /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. * */ + @Import(name="privateEndpointNetworkPolicies") + private @Nullable Output privateEndpointNetworkPolicies; + + /** + * @return Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. + * + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * + */ + public Optional> privateEndpointNetworkPolicies() { + return Optional.ofNullable(this.privateEndpointNetworkPolicies); + } + + /** + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider + * + */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ @Import(name="privateEndpointNetworkPoliciesEnabled") private @Nullable Output privateEndpointNetworkPoliciesEnabled; /** - * @return Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. - * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Optional> privateEndpointNetworkPoliciesEnabled() { return Optional.ofNullable(this.privateEndpointNetworkPoliciesEnabled); } @@ -144,14 +163,14 @@ public Optional> privateLinkServiceNetworkPoliciesEnabled() { } /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ @Import(name="resourceGroupName") private @Nullable Output resourceGroupName; /** - * @return The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @return The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * */ public Optional> resourceGroupName() { @@ -215,6 +234,7 @@ private SubnetState(SubnetState $) { this.enforcePrivateLinkEndpointNetworkPolicies = $.enforcePrivateLinkEndpointNetworkPolicies; this.enforcePrivateLinkServiceNetworkPolicies = $.enforcePrivateLinkServiceNetworkPolicies; this.name = $.name; + this.privateEndpointNetworkPolicies = $.privateEndpointNetworkPolicies; this.privateEndpointNetworkPoliciesEnabled = $.privateEndpointNetworkPoliciesEnabled; this.privateLinkServiceNetworkPoliciesEnabled = $.privateLinkServiceNetworkPoliciesEnabled; this.resourceGroupName = $.resourceGroupName; @@ -313,10 +333,10 @@ public Builder delegations(SubnetDelegationArgs... delegations) { * @return builder * * @deprecated - * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider + * `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * */ - @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider */ + @Deprecated /* `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Builder enforcePrivateLinkEndpointNetworkPolicies(@Nullable Output enforcePrivateLinkEndpointNetworkPolicies) { $.enforcePrivateLinkEndpointNetworkPolicies = enforcePrivateLinkEndpointNetworkPolicies; return this; @@ -326,10 +346,10 @@ public Builder enforcePrivateLinkEndpointNetworkPolicies(@Nullable Output privateEndpointNetworkPoliciesEnabled) { - $.privateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; + public Builder privateEndpointNetworkPolicies(@Nullable Output privateEndpointNetworkPolicies) { + $.privateEndpointNetworkPolicies = privateEndpointNetworkPolicies; return this; } /** - * @param privateEndpointNetworkPoliciesEnabled Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * @param privateEndpointNetworkPolicies Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. + * + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * + * @return builder + * + */ + public Builder privateEndpointNetworkPolicies(String privateEndpointNetworkPolicies) { + return privateEndpointNetworkPolicies(Output.of(privateEndpointNetworkPolicies)); + } + + /** + * @return builder * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider * + */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ + public Builder privateEndpointNetworkPoliciesEnabled(@Nullable Output privateEndpointNetworkPoliciesEnabled) { + $.privateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; + return this; + } + + /** * @return builder * + * @deprecated + * `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider + * */ + @Deprecated /* `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider */ public Builder privateEndpointNetworkPoliciesEnabled(Boolean privateEndpointNetworkPoliciesEnabled) { return privateEndpointNetworkPoliciesEnabled(Output.of(privateEndpointNetworkPoliciesEnabled)); } @@ -431,7 +476,7 @@ public Builder privateLinkServiceNetworkPoliciesEnabled(Boolean privateLinkServi } /** - * @param resourceGroupName The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @param resourceGroupName The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * * @return builder * @@ -442,7 +487,7 @@ public Builder resourceGroupName(@Nullable Output resourceGroupName) { } /** - * @param resourceGroupName The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * @param resourceGroupName The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkEncryptionArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkEncryptionArgs.java index 84366ac305..a9cb936cc9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkEncryptionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkEncryptionArgs.java @@ -17,6 +17,8 @@ public final class VirtualNetworkEncryptionArgs extends com.pulumi.resources.Res /** * Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * */ @Import(name="enforcement", required=true) private Output enforcement; @@ -24,6 +26,8 @@ public final class VirtualNetworkEncryptionArgs extends com.pulumi.resources.Res /** * @return Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * */ public Output enforcement() { return this.enforcement; @@ -56,6 +60,8 @@ public Builder(VirtualNetworkEncryptionArgs defaults) { /** * @param enforcement Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * * @return builder * */ @@ -67,6 +73,8 @@ public Builder enforcement(Output enforcement) { /** * @param enforcement Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroup.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroup.java new file mode 100644 index 0000000000..5a91660192 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationAppliesToGroup.java @@ -0,0 +1,128 @@ +// *** 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.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetNetworkManagerConnectivityConfigurationAppliesToGroup { + /** + * @return Whether global mesh is supported. + * + */ + private Boolean globalMeshEnabled; + /** + * @return The group connectivity type. + * + */ + private String groupConnectivity; + /** + * @return The ID of the Network Manager Network Group. + * + */ + private String networkGroupId; + /** + * @return Whether hub gateway is used. + * + */ + private Boolean useHubGateway; + + private GetNetworkManagerConnectivityConfigurationAppliesToGroup() {} + /** + * @return Whether global mesh is supported. + * + */ + public Boolean globalMeshEnabled() { + return this.globalMeshEnabled; + } + /** + * @return The group connectivity type. + * + */ + public String groupConnectivity() { + return this.groupConnectivity; + } + /** + * @return The ID of the Network Manager Network Group. + * + */ + public String networkGroupId() { + return this.networkGroupId; + } + /** + * @return Whether hub gateway is used. + * + */ + public Boolean useHubGateway() { + return this.useHubGateway; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNetworkManagerConnectivityConfigurationAppliesToGroup defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean globalMeshEnabled; + private String groupConnectivity; + private String networkGroupId; + private Boolean useHubGateway; + public Builder() {} + public Builder(GetNetworkManagerConnectivityConfigurationAppliesToGroup defaults) { + Objects.requireNonNull(defaults); + this.globalMeshEnabled = defaults.globalMeshEnabled; + this.groupConnectivity = defaults.groupConnectivity; + this.networkGroupId = defaults.networkGroupId; + this.useHubGateway = defaults.useHubGateway; + } + + @CustomType.Setter + public Builder globalMeshEnabled(Boolean globalMeshEnabled) { + if (globalMeshEnabled == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationAppliesToGroup", "globalMeshEnabled"); + } + this.globalMeshEnabled = globalMeshEnabled; + return this; + } + @CustomType.Setter + public Builder groupConnectivity(String groupConnectivity) { + if (groupConnectivity == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationAppliesToGroup", "groupConnectivity"); + } + this.groupConnectivity = groupConnectivity; + return this; + } + @CustomType.Setter + public Builder networkGroupId(String networkGroupId) { + if (networkGroupId == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationAppliesToGroup", "networkGroupId"); + } + this.networkGroupId = networkGroupId; + return this; + } + @CustomType.Setter + public Builder useHubGateway(Boolean useHubGateway) { + if (useHubGateway == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationAppliesToGroup", "useHubGateway"); + } + this.useHubGateway = useHubGateway; + return this; + } + public GetNetworkManagerConnectivityConfigurationAppliesToGroup build() { + final var _resultValue = new GetNetworkManagerConnectivityConfigurationAppliesToGroup(); + _resultValue.globalMeshEnabled = globalMeshEnabled; + _resultValue.groupConnectivity = groupConnectivity; + _resultValue.networkGroupId = networkGroupId; + _resultValue.useHubGateway = useHubGateway; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationHub.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationHub.java new file mode 100644 index 0000000000..27998db9df --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationHub.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.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetNetworkManagerConnectivityConfigurationHub { + /** + * @return The resource ID used as hub in Hub and Spoke topology. + * + */ + private String resourceId; + /** + * @return The resource type used as hub in Hub and Spoke topology. + * + */ + private String resourceType; + + private GetNetworkManagerConnectivityConfigurationHub() {} + /** + * @return The resource ID used as hub in Hub and Spoke topology. + * + */ + public String resourceId() { + return this.resourceId; + } + /** + * @return The resource type used as hub in Hub and Spoke topology. + * + */ + public String resourceType() { + return this.resourceType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNetworkManagerConnectivityConfigurationHub defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String resourceId; + private String resourceType; + public Builder() {} + public Builder(GetNetworkManagerConnectivityConfigurationHub defaults) { + Objects.requireNonNull(defaults); + this.resourceId = defaults.resourceId; + this.resourceType = defaults.resourceType; + } + + @CustomType.Setter + public Builder resourceId(String resourceId) { + if (resourceId == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationHub", "resourceId"); + } + this.resourceId = resourceId; + return this; + } + @CustomType.Setter + public Builder resourceType(String resourceType) { + if (resourceType == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationHub", "resourceType"); + } + this.resourceType = resourceType; + return this; + } + public GetNetworkManagerConnectivityConfigurationHub build() { + final var _resultValue = new GetNetworkManagerConnectivityConfigurationHub(); + _resultValue.resourceId = resourceId; + _resultValue.resourceType = resourceType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationResult.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationResult.java new file mode 100644 index 0000000000..e9661b943f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetNetworkManagerConnectivityConfigurationResult.java @@ -0,0 +1,236 @@ +// *** 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.azure.network.outputs; + +import com.pulumi.azure.network.outputs.GetNetworkManagerConnectivityConfigurationAppliesToGroup; +import com.pulumi.azure.network.outputs.GetNetworkManagerConnectivityConfigurationHub; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetNetworkManagerConnectivityConfigurationResult { + /** + * @return An `applies_to_group` block as defined below. + * + */ + private List appliesToGroups; + /** + * @return The connectivity topology type. + * + */ + private String connectivityTopology; + /** + * @return Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + * + */ + private Boolean deleteExistingPeeringEnabled; + /** + * @return The description of the Connectivity Configuration. + * + */ + private String description; + /** + * @return Whether global mesh is supported. + * + */ + private Boolean globalMeshEnabled; + /** + * @return A `hub` block as defined below. + * + */ + private List hubs; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private String name; + private String networkManagerId; + + private GetNetworkManagerConnectivityConfigurationResult() {} + /** + * @return An `applies_to_group` block as defined below. + * + */ + public List appliesToGroups() { + return this.appliesToGroups; + } + /** + * @return The connectivity topology type. + * + */ + public String connectivityTopology() { + return this.connectivityTopology; + } + /** + * @return Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + * + */ + public Boolean deleteExistingPeeringEnabled() { + return this.deleteExistingPeeringEnabled; + } + /** + * @return The description of the Connectivity Configuration. + * + */ + public String description() { + return this.description; + } + /** + * @return Whether global mesh is supported. + * + */ + public Boolean globalMeshEnabled() { + return this.globalMeshEnabled; + } + /** + * @return A `hub` block as defined below. + * + */ + public List hubs() { + return this.hubs; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public String name() { + return this.name; + } + public String networkManagerId() { + return this.networkManagerId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNetworkManagerConnectivityConfigurationResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List appliesToGroups; + private String connectivityTopology; + private Boolean deleteExistingPeeringEnabled; + private String description; + private Boolean globalMeshEnabled; + private List hubs; + private String id; + private String name; + private String networkManagerId; + public Builder() {} + public Builder(GetNetworkManagerConnectivityConfigurationResult defaults) { + Objects.requireNonNull(defaults); + this.appliesToGroups = defaults.appliesToGroups; + this.connectivityTopology = defaults.connectivityTopology; + this.deleteExistingPeeringEnabled = defaults.deleteExistingPeeringEnabled; + this.description = defaults.description; + this.globalMeshEnabled = defaults.globalMeshEnabled; + this.hubs = defaults.hubs; + this.id = defaults.id; + this.name = defaults.name; + this.networkManagerId = defaults.networkManagerId; + } + + @CustomType.Setter + public Builder appliesToGroups(List appliesToGroups) { + if (appliesToGroups == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "appliesToGroups"); + } + this.appliesToGroups = appliesToGroups; + return this; + } + public Builder appliesToGroups(GetNetworkManagerConnectivityConfigurationAppliesToGroup... appliesToGroups) { + return appliesToGroups(List.of(appliesToGroups)); + } + @CustomType.Setter + public Builder connectivityTopology(String connectivityTopology) { + if (connectivityTopology == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "connectivityTopology"); + } + this.connectivityTopology = connectivityTopology; + return this; + } + @CustomType.Setter + public Builder deleteExistingPeeringEnabled(Boolean deleteExistingPeeringEnabled) { + if (deleteExistingPeeringEnabled == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "deleteExistingPeeringEnabled"); + } + this.deleteExistingPeeringEnabled = deleteExistingPeeringEnabled; + return this; + } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder globalMeshEnabled(Boolean globalMeshEnabled) { + if (globalMeshEnabled == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "globalMeshEnabled"); + } + this.globalMeshEnabled = globalMeshEnabled; + return this; + } + @CustomType.Setter + public Builder hubs(List hubs) { + if (hubs == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "hubs"); + } + this.hubs = hubs; + return this; + } + public Builder hubs(GetNetworkManagerConnectivityConfigurationHub... hubs) { + return hubs(List.of(hubs)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder networkManagerId(String networkManagerId) { + if (networkManagerId == null) { + throw new MissingRequiredPropertyException("GetNetworkManagerConnectivityConfigurationResult", "networkManagerId"); + } + this.networkManagerId = networkManagerId; + return this; + } + public GetNetworkManagerConnectivityConfigurationResult build() { + final var _resultValue = new GetNetworkManagerConnectivityConfigurationResult(); + _resultValue.appliesToGroups = appliesToGroups; + _resultValue.connectivityTopology = connectivityTopology; + _resultValue.deleteExistingPeeringEnabled = deleteExistingPeeringEnabled; + _resultValue.description = description; + _resultValue.globalMeshEnabled = globalMeshEnabled; + _resultValue.hubs = hubs; + _resultValue.id = id; + _resultValue.name = name; + _resultValue.networkManagerId = networkManagerId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetSubnetResult.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetSubnetResult.java index 75f3bb82c2..544518148c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetSubnetResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetSubnetResult.java @@ -35,6 +35,13 @@ public final class GetSubnetResult { * @return Enable or Disable network policies for the private endpoint on the subnet. * */ + private String privateEndpointNetworkPolicies; + /** + * @deprecated + * This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider. + * + */ + @Deprecated /* This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider. */ private Boolean privateEndpointNetworkPoliciesEnabled; /** * @return Enable or Disable network policies for the private link service on the subnet. @@ -92,6 +99,15 @@ public String networkSecurityGroupId() { * @return Enable or Disable network policies for the private endpoint on the subnet. * */ + public String privateEndpointNetworkPolicies() { + return this.privateEndpointNetworkPolicies; + } + /** + * @deprecated + * This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider. + * + */ + @Deprecated /* This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider. */ public Boolean privateEndpointNetworkPoliciesEnabled() { return this.privateEndpointNetworkPoliciesEnabled; } @@ -139,6 +155,7 @@ public static final class Builder { private String id; private String name; private String networkSecurityGroupId; + private String privateEndpointNetworkPolicies; private Boolean privateEndpointNetworkPoliciesEnabled; private Boolean privateLinkServiceNetworkPoliciesEnabled; private String resourceGroupName; @@ -155,6 +172,7 @@ public Builder(GetSubnetResult defaults) { this.id = defaults.id; this.name = defaults.name; this.networkSecurityGroupId = defaults.networkSecurityGroupId; + this.privateEndpointNetworkPolicies = defaults.privateEndpointNetworkPolicies; this.privateEndpointNetworkPoliciesEnabled = defaults.privateEndpointNetworkPoliciesEnabled; this.privateLinkServiceNetworkPoliciesEnabled = defaults.privateLinkServiceNetworkPoliciesEnabled; this.resourceGroupName = defaults.resourceGroupName; @@ -223,6 +241,14 @@ public Builder networkSecurityGroupId(String networkSecurityGroupId) { return this; } @CustomType.Setter + public Builder privateEndpointNetworkPolicies(String privateEndpointNetworkPolicies) { + if (privateEndpointNetworkPolicies == null) { + throw new MissingRequiredPropertyException("GetSubnetResult", "privateEndpointNetworkPolicies"); + } + this.privateEndpointNetworkPolicies = privateEndpointNetworkPolicies; + return this; + } + @CustomType.Setter public Builder privateEndpointNetworkPoliciesEnabled(Boolean privateEndpointNetworkPoliciesEnabled) { if (privateEndpointNetworkPoliciesEnabled == null) { throw new MissingRequiredPropertyException("GetSubnetResult", "privateEndpointNetworkPoliciesEnabled"); @@ -282,6 +308,7 @@ public GetSubnetResult build() { _resultValue.id = id; _resultValue.name = name; _resultValue.networkSecurityGroupId = networkSecurityGroupId; + _resultValue.privateEndpointNetworkPolicies = privateEndpointNetworkPolicies; _resultValue.privateEndpointNetworkPoliciesEnabled = privateEndpointNetworkPoliciesEnabled; _resultValue.privateLinkServiceNetworkPoliciesEnabled = privateLinkServiceNetworkPoliciesEnabled; _resultValue.resourceGroupName = resourceGroupName; diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkEncryption.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkEncryption.java index 6b6569f0f8..5f85522916 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkEncryption.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkEncryption.java @@ -13,6 +13,8 @@ public final class VirtualNetworkEncryption { /** * @return Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * */ private String enforcement; @@ -20,6 +22,8 @@ private VirtualNetworkEncryption() {} /** * @return Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. + * */ public String enforcement() { return this.enforcement; diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java index 9635bbf01e..820efce797 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java @@ -234,7 +234,9 @@ public Output backupRetentionDays() { return this.backupRetentionDays; } /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -243,7 +245,9 @@ public Output backupRetentionDays() { private Output createMode; /** - * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java index dc8cd8d3b8..90c57da658 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java @@ -108,7 +108,9 @@ public Optional> backupRetentionDays() { } /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -117,7 +119,9 @@ public Optional> backupRetentionDays() { private @Nullable Output createMode; /** - * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -593,7 +597,9 @@ public Builder backupRetentionDays(Integer backupRetentionDays) { } /** - * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -606,7 +612,9 @@ public Builder createMode(@Nullable Output createMode) { } /** - * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java index 7bb2d600bd..8a1aa5e1dc 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java @@ -107,7 +107,9 @@ public Optional> backupRetentionDays() { } /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -116,7 +118,9 @@ public Optional> backupRetentionDays() { private @Nullable Output createMode; /** - * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @return The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -624,7 +628,9 @@ public Builder backupRetentionDays(Integer backupRetentionDays) { } /** - * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * @@ -637,7 +643,9 @@ public Builder createMode(@Nullable Output createMode) { } /** - * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * @param createMode The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.java index adf54a26d8..6898f4682e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountBlobPropertiesDeleteRetentionPolicyArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Integer; import java.util.Objects; import java.util.Optional; @@ -30,10 +31,30 @@ public Optional> days() { return Optional.ofNullable(this.days); } + /** + * Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + */ + @Import(name="permanentDeleteEnabled") + private @Nullable Output permanentDeleteEnabled; + + /** + * @return Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + */ + public Optional> permanentDeleteEnabled() { + return Optional.ofNullable(this.permanentDeleteEnabled); + } + private AccountBlobPropertiesDeleteRetentionPolicyArgs() {} private AccountBlobPropertiesDeleteRetentionPolicyArgs(AccountBlobPropertiesDeleteRetentionPolicyArgs $) { this.days = $.days; + this.permanentDeleteEnabled = $.permanentDeleteEnabled; } public static Builder builder() { @@ -75,6 +96,31 @@ public Builder days(Integer days) { return days(Output.of(days)); } + /** + * @param permanentDeleteEnabled Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + * @return builder + * + */ + public Builder permanentDeleteEnabled(@Nullable Output permanentDeleteEnabled) { + $.permanentDeleteEnabled = permanentDeleteEnabled; + return this; + } + + /** + * @param permanentDeleteEnabled Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + * @return builder + * + */ + public Builder permanentDeleteEnabled(Boolean permanentDeleteEnabled) { + return permanentDeleteEnabled(Output.of(permanentDeleteEnabled)); + } + public AccountBlobPropertiesDeleteRetentionPolicyArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/AccountBlobPropertiesDeleteRetentionPolicy.java b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/AccountBlobPropertiesDeleteRetentionPolicy.java index ff1a6fa11b..c0ec92a93d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/AccountBlobPropertiesDeleteRetentionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/AccountBlobPropertiesDeleteRetentionPolicy.java @@ -4,6 +4,7 @@ package com.pulumi.azure.storage.outputs; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.Integer; import java.util.Objects; import java.util.Optional; @@ -16,6 +17,13 @@ public final class AccountBlobPropertiesDeleteRetentionPolicy { * */ private @Nullable Integer days; + /** + * @return Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + */ + private @Nullable Boolean permanentDeleteEnabled; private AccountBlobPropertiesDeleteRetentionPolicy() {} /** @@ -25,6 +33,15 @@ private AccountBlobPropertiesDeleteRetentionPolicy() {} public Optional days() { return Optional.ofNullable(this.days); } + /** + * @return Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + * + */ + public Optional permanentDeleteEnabled() { + return Optional.ofNullable(this.permanentDeleteEnabled); + } public static Builder builder() { return new Builder(); @@ -36,10 +53,12 @@ public static Builder builder(AccountBlobPropertiesDeleteRetentionPolicy default @CustomType.Builder public static final class Builder { private @Nullable Integer days; + private @Nullable Boolean permanentDeleteEnabled; public Builder() {} public Builder(AccountBlobPropertiesDeleteRetentionPolicy defaults) { Objects.requireNonNull(defaults); this.days = defaults.days; + this.permanentDeleteEnabled = defaults.permanentDeleteEnabled; } @CustomType.Setter @@ -48,9 +67,16 @@ public Builder days(@Nullable Integer days) { this.days = days; return this; } + @CustomType.Setter + public Builder permanentDeleteEnabled(@Nullable Boolean permanentDeleteEnabled) { + + this.permanentDeleteEnabled = permanentDeleteEnabled; + return this; + } public AccountBlobPropertiesDeleteRetentionPolicy build() { final var _resultValue = new AccountBlobPropertiesDeleteRetentionPolicy(); _resultValue.days = days; + _resultValue.permanentDeleteEnabled = permanentDeleteEnabled; return _resultValue; } } diff --git a/sdk/nodejs/compute/automanageConfigurationAssignment.ts b/sdk/nodejs/compute/automanageConfigurationAssignment.ts new file mode 100644 index 0000000000..c84bad7d11 --- /dev/null +++ b/sdk/nodejs/compute/automanageConfigurationAssignment.ts @@ -0,0 +1,175 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Manages a Virtual Machine Automanage Configuration Profile Assignment. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-rg", + * location: "westus", + * }); + * const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", { + * name: "examplevnet", + * addressSpaces: ["10.0.0.0/16"], + * location: example.location, + * resourceGroupName: example.name, + * }); + * const exampleSubnet = new azure.network.Subnet("example", { + * name: "internal", + * resourceGroupName: example.name, + * virtualNetworkName: exampleVirtualNetwork.name, + * addressPrefixes: ["10.0.2.0/24"], + * }); + * const exampleNetworkInterface = new azure.network.NetworkInterface("example", { + * name: "exampleni", + * location: example.location, + * resourceGroupName: example.name, + * ipConfigurations: [{ + * name: "internal", + * subnetId: exampleSubnet.id, + * privateIpAddressAllocation: "Dynamic", + * }], + * }); + * const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("example", { + * name: "examplevm", + * resourceGroupName: example.name, + * location: example.location, + * size: "Standard_F2", + * adminUsername: "adminuser", + * adminPassword: "P@$$w0rd1234!", + * disablePasswordAuthentication: false, + * networkInterfaceIds: [exampleNetworkInterface.id], + * osDisk: { + * caching: "ReadWrite", + * storageAccountType: "Standard_LRS", + * }, + * sourceImageReference: { + * publisher: "Canonical", + * offer: "0001-com-ubuntu-server-jammy", + * sku: "22_04-lts", + * version: "latest", + * }, + * }); + * const exampleConfiguration = new azure.automanage.Configuration("example", { + * name: "exampleconfig", + * resourceGroupName: example.name, + * location: example.location, + * }); + * const exampleAutomanageConfigurationAssignment = new azure.compute.AutomanageConfigurationAssignment("example", { + * virtualMachineId: exampleLinuxVirtualMachine.id, + * configurationId: exampleConfiguration.id, + * }); + * ``` + * + * ## Import + * + * Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default + * ``` + */ +export class AutomanageConfigurationAssignment extends pulumi.CustomResource { + /** + * Get an existing AutomanageConfigurationAssignment resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AutomanageConfigurationAssignmentState, opts?: pulumi.CustomResourceOptions): AutomanageConfigurationAssignment { + return new AutomanageConfigurationAssignment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment'; + + /** + * Returns true if the given object is an instance of AutomanageConfigurationAssignment. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AutomanageConfigurationAssignment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AutomanageConfigurationAssignment.__pulumiType; + } + + /** + * The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + */ + public readonly configurationId!: pulumi.Output; + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + */ + public readonly virtualMachineId!: pulumi.Output; + + /** + * Create a AutomanageConfigurationAssignment resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AutomanageConfigurationAssignmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AutomanageConfigurationAssignmentArgs | AutomanageConfigurationAssignmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AutomanageConfigurationAssignmentState | undefined; + resourceInputs["configurationId"] = state ? state.configurationId : undefined; + resourceInputs["virtualMachineId"] = state ? state.virtualMachineId : undefined; + } else { + const args = argsOrState as AutomanageConfigurationAssignmentArgs | undefined; + if ((!args || args.configurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'configurationId'"); + } + if ((!args || args.virtualMachineId === undefined) && !opts.urn) { + throw new Error("Missing required property 'virtualMachineId'"); + } + resourceInputs["configurationId"] = args ? args.configurationId : undefined; + resourceInputs["virtualMachineId"] = args ? args.virtualMachineId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AutomanageConfigurationAssignment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AutomanageConfigurationAssignment resources. + */ +export interface AutomanageConfigurationAssignmentState { + /** + * The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + */ + configurationId?: pulumi.Input; + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + */ + virtualMachineId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AutomanageConfigurationAssignment resource. + */ +export interface AutomanageConfigurationAssignmentArgs { + /** + * The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + */ + configurationId: pulumi.Input; + /** + * The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + */ + virtualMachineId: pulumi.Input; +} diff --git a/sdk/nodejs/compute/bastionHost.ts b/sdk/nodejs/compute/bastionHost.ts index 4c75a4a9f2..b3d8ca588a 100644 --- a/sdk/nodejs/compute/bastionHost.ts +++ b/sdk/nodejs/compute/bastionHost.ts @@ -112,6 +112,12 @@ export class BastionHost extends pulumi.CustomResource { * > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. */ public readonly ipConnectEnabled!: pulumi.Output; + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + */ + public readonly kerberosEnabled!: pulumi.Output; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. */ @@ -171,6 +177,7 @@ export class BastionHost extends pulumi.CustomResource { resourceInputs["fileCopyEnabled"] = state ? state.fileCopyEnabled : undefined; resourceInputs["ipConfiguration"] = state ? state.ipConfiguration : undefined; resourceInputs["ipConnectEnabled"] = state ? state.ipConnectEnabled : undefined; + resourceInputs["kerberosEnabled"] = state ? state.kerberosEnabled : undefined; resourceInputs["location"] = state ? state.location : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; @@ -191,6 +198,7 @@ export class BastionHost extends pulumi.CustomResource { resourceInputs["fileCopyEnabled"] = args ? args.fileCopyEnabled : undefined; resourceInputs["ipConfiguration"] = args ? args.ipConfiguration : undefined; resourceInputs["ipConnectEnabled"] = args ? args.ipConnectEnabled : undefined; + resourceInputs["kerberosEnabled"] = args ? args.kerberosEnabled : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; @@ -234,6 +242,12 @@ export interface BastionHostState { * > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. */ ipConnectEnabled?: pulumi.Input; + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + */ + kerberosEnabled?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. */ @@ -300,6 +314,12 @@ export interface BastionHostArgs { * > **Note:** `ipConnectEnabled` is only supported when `sku` is `Standard`. */ ipConnectEnabled?: pulumi.Input; + /** + * Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + * + * > **Note:** `kerberosEnabled` is only supported when `sku` is `Standard`. + */ + kerberosEnabled?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. */ diff --git a/sdk/nodejs/compute/galleryApplicationAssignment.ts b/sdk/nodejs/compute/galleryApplicationAssignment.ts new file mode 100644 index 0000000000..2de2de239f --- /dev/null +++ b/sdk/nodejs/compute/galleryApplicationAssignment.ts @@ -0,0 +1,221 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Manages a Virtual Machine Gallery Application Assignment. + * + * > **Note:** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignoreChanges` for the `galleryApplication` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.compute.getVirtualMachine({ + * name: "example-vm", + * resourceGroupName: "example-resources-vm", + * }); + * const exampleResourceGroup = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "West Europe", + * }); + * const exampleSharedImageGallery = new azure.compute.SharedImageGallery("example", { + * name: "examplegallery", + * resourceGroupName: exampleResourceGroup.name, + * location: exampleResourceGroup.location, + * }); + * const exampleGalleryApplication = new azure.compute.GalleryApplication("example", { + * name: "example-app", + * galleryId: exampleSharedImageGallery.id, + * location: exampleResourceGroup.location, + * supportedOsType: "Linux", + * }); + * const exampleAccount = new azure.storage.Account("example", { + * name: "examplestorage", + * resourceGroupName: exampleResourceGroup.name, + * location: exampleResourceGroup.location, + * accountTier: "Standard", + * accountReplicationType: "LRS", + * }); + * const exampleContainer = new azure.storage.Container("example", { + * name: "example-container", + * storageAccountName: exampleAccount.name, + * containerAccessType: "blob", + * }); + * const exampleBlob = new azure.storage.Blob("example", { + * name: "scripts", + * storageAccountName: exampleAccount.name, + * storageContainerName: exampleContainer.name, + * type: "Block", + * sourceContent: "[scripts file content]", + * }); + * const exampleGalleryApplicationVersion = new azure.compute.GalleryApplicationVersion("example", { + * name: "0.0.1", + * galleryApplicationId: exampleGalleryApplication.id, + * location: exampleGalleryApplication.location, + * manageAction: { + * install: "[install command]", + * remove: "[remove command]", + * }, + * source: { + * mediaLink: exampleBlob.id, + * }, + * targetRegions: [{ + * name: exampleGalleryApplication.location, + * regionalReplicaCount: 1, + * }], + * }); + * const exampleGalleryApplicationAssignment = new azure.compute.GalleryApplicationAssignment("example", { + * galleryApplicationVersionId: exampleGalleryApplicationVersion.id, + * virtualMachineId: example.then(example => example.id), + * }); + * ``` + * + * ## Import + * + * Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 + * ``` + */ +export class GalleryApplicationAssignment extends pulumi.CustomResource { + /** + * Get an existing GalleryApplicationAssignment resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: GalleryApplicationAssignmentState, opts?: pulumi.CustomResourceOptions): GalleryApplicationAssignment { + return new GalleryApplicationAssignment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment'; + + /** + * Returns true if the given object is an instance of GalleryApplicationAssignment. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is GalleryApplicationAssignment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GalleryApplicationAssignment.__pulumiType; + } + + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + */ + public readonly configurationBlobUri!: pulumi.Output; + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + */ + public readonly galleryApplicationVersionId!: pulumi.Output; + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + */ + public readonly order!: pulumi.Output; + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + */ + public readonly tag!: pulumi.Output; + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + */ + public readonly virtualMachineId!: pulumi.Output; + + /** + * Create a GalleryApplicationAssignment resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: GalleryApplicationAssignmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GalleryApplicationAssignmentArgs | GalleryApplicationAssignmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GalleryApplicationAssignmentState | undefined; + resourceInputs["configurationBlobUri"] = state ? state.configurationBlobUri : undefined; + resourceInputs["galleryApplicationVersionId"] = state ? state.galleryApplicationVersionId : undefined; + resourceInputs["order"] = state ? state.order : undefined; + resourceInputs["tag"] = state ? state.tag : undefined; + resourceInputs["virtualMachineId"] = state ? state.virtualMachineId : undefined; + } else { + const args = argsOrState as GalleryApplicationAssignmentArgs | undefined; + if ((!args || args.galleryApplicationVersionId === undefined) && !opts.urn) { + throw new Error("Missing required property 'galleryApplicationVersionId'"); + } + if ((!args || args.virtualMachineId === undefined) && !opts.urn) { + throw new Error("Missing required property 'virtualMachineId'"); + } + resourceInputs["configurationBlobUri"] = args ? args.configurationBlobUri : undefined; + resourceInputs["galleryApplicationVersionId"] = args ? args.galleryApplicationVersionId : undefined; + resourceInputs["order"] = args ? args.order : undefined; + resourceInputs["tag"] = args ? args.tag : undefined; + resourceInputs["virtualMachineId"] = args ? args.virtualMachineId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(GalleryApplicationAssignment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering GalleryApplicationAssignment resources. + */ +export interface GalleryApplicationAssignmentState { + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + */ + configurationBlobUri?: pulumi.Input; + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + */ + galleryApplicationVersionId?: pulumi.Input; + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + */ + order?: pulumi.Input; + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + */ + tag?: pulumi.Input; + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + */ + virtualMachineId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a GalleryApplicationAssignment resource. + */ +export interface GalleryApplicationAssignmentArgs { + /** + * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + */ + configurationBlobUri?: pulumi.Input; + /** + * The ID of the Gallery Application Version. Changing this forces a new resource to be created. + */ + galleryApplicationVersionId: pulumi.Input; + /** + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + */ + order?: pulumi.Input; + /** + * Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + */ + tag?: pulumi.Input; + /** + * The ID of the Virtual Machine. Changing this forces a new resource to be created. + */ + virtualMachineId: pulumi.Input; +} diff --git a/sdk/nodejs/compute/index.ts b/sdk/nodejs/compute/index.ts index e70bc2054f..b708efacf5 100644 --- a/sdk/nodejs/compute/index.ts +++ b/sdk/nodejs/compute/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AutomanageConfigurationAssignmentArgs, AutomanageConfigurationAssignmentState } from "./automanageConfigurationAssignment"; +export type AutomanageConfigurationAssignment = import("./automanageConfigurationAssignment").AutomanageConfigurationAssignment; +export const AutomanageConfigurationAssignment: typeof import("./automanageConfigurationAssignment").AutomanageConfigurationAssignment = null as any; +utilities.lazyLoad(exports, ["AutomanageConfigurationAssignment"], () => require("./automanageConfigurationAssignment")); + export { AvailabilitySetArgs, AvailabilitySetState } from "./availabilitySet"; export type AvailabilitySet = import("./availabilitySet").AvailabilitySet; export const AvailabilitySet: typeof import("./availabilitySet").AvailabilitySet = null as any; @@ -80,6 +85,11 @@ export type GalleryApplication = import("./galleryApplication").GalleryApplicati export const GalleryApplication: typeof import("./galleryApplication").GalleryApplication = null as any; utilities.lazyLoad(exports, ["GalleryApplication"], () => require("./galleryApplication")); +export { GalleryApplicationAssignmentArgs, GalleryApplicationAssignmentState } from "./galleryApplicationAssignment"; +export type GalleryApplicationAssignment = import("./galleryApplicationAssignment").GalleryApplicationAssignment; +export const GalleryApplicationAssignment: typeof import("./galleryApplicationAssignment").GalleryApplicationAssignment = null as any; +utilities.lazyLoad(exports, ["GalleryApplicationAssignment"], () => require("./galleryApplicationAssignment")); + export { GalleryApplicationVersionArgs, GalleryApplicationVersionState } from "./galleryApplicationVersion"; export type GalleryApplicationVersion = import("./galleryApplicationVersion").GalleryApplicationVersion; export const GalleryApplicationVersion: typeof import("./galleryApplicationVersion").GalleryApplicationVersion = null as any; @@ -290,6 +300,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment": + return new AutomanageConfigurationAssignment(name, undefined, { urn }) case "azure:compute/availabilitySet:AvailabilitySet": return new AvailabilitySet(name, undefined, { urn }) case "azure:compute/bastionHost:BastionHost": @@ -320,6 +332,8 @@ const _module = { return new Extension(name, undefined, { urn }) case "azure:compute/galleryApplication:GalleryApplication": return new GalleryApplication(name, undefined, { urn }) + case "azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment": + return new GalleryApplicationAssignment(name, undefined, { urn }) case "azure:compute/galleryApplicationVersion:GalleryApplicationVersion": return new GalleryApplicationVersion(name, undefined, { urn }) case "azure:compute/image:Image": @@ -365,6 +379,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("azure", "compute/automanageConfigurationAssignment", _module) pulumi.runtime.registerResourceModule("azure", "compute/availabilitySet", _module) pulumi.runtime.registerResourceModule("azure", "compute/bastionHost", _module) pulumi.runtime.registerResourceModule("azure", "compute/capacityReservation", _module) @@ -380,6 +395,7 @@ pulumi.runtime.registerResourceModule("azure", "compute/diskPoolIscsiTargetLun", pulumi.runtime.registerResourceModule("azure", "compute/diskPoolManagedDiskAttachment", _module) pulumi.runtime.registerResourceModule("azure", "compute/extension", _module) pulumi.runtime.registerResourceModule("azure", "compute/galleryApplication", _module) +pulumi.runtime.registerResourceModule("azure", "compute/galleryApplicationAssignment", _module) pulumi.runtime.registerResourceModule("azure", "compute/galleryApplicationVersion", _module) pulumi.runtime.registerResourceModule("azure", "compute/image", _module) pulumi.runtime.registerResourceModule("azure", "compute/linuxVirtualMachine", _module) diff --git a/sdk/nodejs/compute/linuxVirtualMachine.ts b/sdk/nodejs/compute/linuxVirtualMachine.ts index 8af54d58f8..034c3ecd19 100644 --- a/sdk/nodejs/compute/linuxVirtualMachine.ts +++ b/sdk/nodejs/compute/linuxVirtualMachine.ts @@ -211,6 +211,8 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { public readonly extensionsTimeBudget!: pulumi.Output; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. */ public readonly galleryApplications!: pulumi.Output; /** @@ -218,7 +220,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { */ public readonly identity!: pulumi.Output; /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. */ public readonly licenseType!: pulumi.Output; /** @@ -611,6 +613,8 @@ export interface LinuxVirtualMachineState { extensionsTimeBudget?: pulumi.Input; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. */ galleryApplications?: pulumi.Input[]>; /** @@ -618,7 +622,7 @@ export interface LinuxVirtualMachineState { */ identity?: pulumi.Input; /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. */ licenseType?: pulumi.Input; /** @@ -866,6 +870,8 @@ export interface LinuxVirtualMachineArgs { extensionsTimeBudget?: pulumi.Input; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.LinuxVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. */ galleryApplications?: pulumi.Input[]>; /** @@ -873,7 +879,7 @@ export interface LinuxVirtualMachineArgs { */ identity?: pulumi.Input; /** - * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + * Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. */ licenseType?: pulumi.Input; /** diff --git a/sdk/nodejs/compute/windowsVirtualMachine.ts b/sdk/nodejs/compute/windowsVirtualMachine.ts index a20e8bfd8a..882940bfd1 100644 --- a/sdk/nodejs/compute/windowsVirtualMachine.ts +++ b/sdk/nodejs/compute/windowsVirtualMachine.ts @@ -196,6 +196,8 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { public readonly extensionsTimeBudget!: pulumi.Output; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. */ public readonly galleryApplications!: pulumi.Output; /** @@ -610,6 +612,8 @@ export interface WindowsVirtualMachineState { extensionsTimeBudget?: pulumi.Input; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. */ galleryApplications?: pulumi.Input[]>; /** @@ -870,6 +874,8 @@ export interface WindowsVirtualMachineArgs { extensionsTimeBudget?: pulumi.Input; /** * One or more `galleryApplication` blocks as defined below. + * + * > **Note** Gallery Application Assignments can be defined either directly on `azure.compute.WindowsVirtualMachine` resource, or using the `azure.compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `azure.compute.GalleryApplicationAssignment` is used, it's recommended to use `ignoreChanges` for the `galleryApplication` block on the corresponding `azure.compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. */ galleryApplications?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/containerapp/environment.ts b/sdk/nodejs/containerapp/environment.ts index cdae29f19c..34d9f4bf08 100644 --- a/sdk/nodejs/containerapp/environment.ts +++ b/sdk/nodejs/containerapp/environment.ts @@ -70,6 +70,10 @@ export class Environment extends pulumi.CustomResource { return obj['__pulumiType'] === Environment.__pulumiType; } + /** + * The ID of the Custom Domain Verification for this Container App Environment. + */ + public /*out*/ readonly customDomainVerificationId!: pulumi.Output; /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. */ @@ -156,6 +160,7 @@ export class Environment extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as EnvironmentState | undefined; + resourceInputs["customDomainVerificationId"] = state ? state.customDomainVerificationId : undefined; resourceInputs["daprApplicationInsightsConnectionString"] = state ? state.daprApplicationInsightsConnectionString : undefined; resourceInputs["defaultDomain"] = state ? state.defaultDomain : undefined; resourceInputs["dockerBridgeCidr"] = state ? state.dockerBridgeCidr : undefined; @@ -188,6 +193,7 @@ export class Environment extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["workloadProfiles"] = args ? args.workloadProfiles : undefined; resourceInputs["zoneRedundancyEnabled"] = args ? args.zoneRedundancyEnabled : undefined; + resourceInputs["customDomainVerificationId"] = undefined /*out*/; resourceInputs["defaultDomain"] = undefined /*out*/; resourceInputs["dockerBridgeCidr"] = undefined /*out*/; resourceInputs["platformReservedCidr"] = undefined /*out*/; @@ -205,6 +211,10 @@ export class Environment extends pulumi.CustomResource { * Input properties used for looking up and filtering Environment resources. */ export interface EnvironmentState { + /** + * The ID of the Custom Domain Verification for this Container App Environment. + */ + customDomainVerificationId?: pulumi.Input; /** * Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/containerapp/environmentCustomDomain.ts b/sdk/nodejs/containerapp/environmentCustomDomain.ts new file mode 100644 index 0000000000..6048d18b64 --- /dev/null +++ b/sdk/nodejs/containerapp/environmentCustomDomain.ts @@ -0,0 +1,182 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Manages a Container App Environment Custom Domain Suffix. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * import * as std from "@pulumi/std"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "West Europe", + * }); + * const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", { + * name: "acctest-01", + * location: example.location, + * resourceGroupName: example.name, + * sku: "PerGB2018", + * retentionInDays: 30, + * }); + * const exampleEnvironment = new azure.containerapp.Environment("example", { + * name: "my-environment", + * location: example.location, + * resourceGroupName: example.name, + * logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id, + * }); + * const exampleEnvironmentCustomDomain = new azure.containerapp.EnvironmentCustomDomain("example", { + * containerAppEnvironmentId: exampleEnvironment.id, + * certificateBlobBase64: std.filebase64({ + * input: "testacc.pfx", + * }).then(invoke => invoke.result), + * certificatePassword: "TestAcc", + * dnsSuffix: "acceptancetest.contoso.com", + * }); + * ``` + * + * ## Import + * + * A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. + * + * ```sh + * $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" + * ``` + */ +export class EnvironmentCustomDomain extends pulumi.CustomResource { + /** + * Get an existing EnvironmentCustomDomain resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: EnvironmentCustomDomainState, opts?: pulumi.CustomResourceOptions): EnvironmentCustomDomain { + return new EnvironmentCustomDomain(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain'; + + /** + * Returns true if the given object is an instance of EnvironmentCustomDomain. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is EnvironmentCustomDomain { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EnvironmentCustomDomain.__pulumiType; + } + + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + */ + public readonly certificateBlobBase64!: pulumi.Output; + /** + * The password for the Certificate bundle. + */ + public readonly certificatePassword!: pulumi.Output; + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + */ + public readonly containerAppEnvironmentId!: pulumi.Output; + /** + * Custom DNS Suffix for the Container App Environment. + */ + public readonly dnsSuffix!: pulumi.Output; + + /** + * Create a EnvironmentCustomDomain resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: EnvironmentCustomDomainArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EnvironmentCustomDomainArgs | EnvironmentCustomDomainState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EnvironmentCustomDomainState | undefined; + resourceInputs["certificateBlobBase64"] = state ? state.certificateBlobBase64 : undefined; + resourceInputs["certificatePassword"] = state ? state.certificatePassword : undefined; + resourceInputs["containerAppEnvironmentId"] = state ? state.containerAppEnvironmentId : undefined; + resourceInputs["dnsSuffix"] = state ? state.dnsSuffix : undefined; + } else { + const args = argsOrState as EnvironmentCustomDomainArgs | undefined; + if ((!args || args.certificateBlobBase64 === undefined) && !opts.urn) { + throw new Error("Missing required property 'certificateBlobBase64'"); + } + if ((!args || args.certificatePassword === undefined) && !opts.urn) { + throw new Error("Missing required property 'certificatePassword'"); + } + if ((!args || args.containerAppEnvironmentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'containerAppEnvironmentId'"); + } + if ((!args || args.dnsSuffix === undefined) && !opts.urn) { + throw new Error("Missing required property 'dnsSuffix'"); + } + resourceInputs["certificateBlobBase64"] = args ? args.certificateBlobBase64 : undefined; + resourceInputs["certificatePassword"] = args?.certificatePassword ? pulumi.secret(args.certificatePassword) : undefined; + resourceInputs["containerAppEnvironmentId"] = args ? args.containerAppEnvironmentId : undefined; + resourceInputs["dnsSuffix"] = args ? args.dnsSuffix : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["certificatePassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(EnvironmentCustomDomain.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EnvironmentCustomDomain resources. + */ +export interface EnvironmentCustomDomainState { + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + */ + certificateBlobBase64?: pulumi.Input; + /** + * The password for the Certificate bundle. + */ + certificatePassword?: pulumi.Input; + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + */ + containerAppEnvironmentId?: pulumi.Input; + /** + * Custom DNS Suffix for the Container App Environment. + */ + dnsSuffix?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EnvironmentCustomDomain resource. + */ +export interface EnvironmentCustomDomainArgs { + /** + * The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + */ + certificateBlobBase64: pulumi.Input; + /** + * The password for the Certificate bundle. + */ + certificatePassword: pulumi.Input; + /** + * The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + */ + containerAppEnvironmentId: pulumi.Input; + /** + * Custom DNS Suffix for the Container App Environment. + */ + dnsSuffix: pulumi.Input; +} diff --git a/sdk/nodejs/containerapp/getEnvironment.ts b/sdk/nodejs/containerapp/getEnvironment.ts index 427e7de358..3709229c70 100644 --- a/sdk/nodejs/containerapp/getEnvironment.ts +++ b/sdk/nodejs/containerapp/getEnvironment.ts @@ -46,6 +46,10 @@ export interface GetEnvironmentArgs { * A collection of values returned by getEnvironment. */ export interface GetEnvironmentResult { + /** + * The ID of the Custom Domain Verification for this Container App Environment. + */ + readonly customDomainVerificationId: string; /** * The default publicly resolvable name of this Container App Environment. This is generated at creation time to be globally unique. */ diff --git a/sdk/nodejs/containerapp/index.ts b/sdk/nodejs/containerapp/index.ts index a0d81c24c3..d57efc105f 100644 --- a/sdk/nodejs/containerapp/index.ts +++ b/sdk/nodejs/containerapp/index.ts @@ -25,6 +25,11 @@ export type EnvironmentCertificate = import("./environmentCertificate").Environm export const EnvironmentCertificate: typeof import("./environmentCertificate").EnvironmentCertificate = null as any; utilities.lazyLoad(exports, ["EnvironmentCertificate"], () => require("./environmentCertificate")); +export { EnvironmentCustomDomainArgs, EnvironmentCustomDomainState } from "./environmentCustomDomain"; +export type EnvironmentCustomDomain = import("./environmentCustomDomain").EnvironmentCustomDomain; +export const EnvironmentCustomDomain: typeof import("./environmentCustomDomain").EnvironmentCustomDomain = null as any; +utilities.lazyLoad(exports, ["EnvironmentCustomDomain"], () => require("./environmentCustomDomain")); + export { EnvironmentDaprComponentArgs, EnvironmentDaprComponentState } from "./environmentDaprComponent"; export type EnvironmentDaprComponent = import("./environmentDaprComponent").EnvironmentDaprComponent; export const EnvironmentDaprComponent: typeof import("./environmentDaprComponent").EnvironmentDaprComponent = null as any; @@ -50,6 +55,11 @@ export const getEnvironmentCertificate: typeof import("./getEnvironmentCertifica export const getEnvironmentCertificateOutput: typeof import("./getEnvironmentCertificate").getEnvironmentCertificateOutput = null as any; utilities.lazyLoad(exports, ["getEnvironmentCertificate","getEnvironmentCertificateOutput"], () => require("./getEnvironmentCertificate")); +export { JobArgs, JobState } from "./job"; +export type Job = import("./job").Job; +export const Job: typeof import("./job").Job = null as any; +utilities.lazyLoad(exports, ["Job"], () => require("./job")); + const _module = { version: utilities.getVersion(), @@ -63,10 +73,14 @@ const _module = { return new Environment(name, undefined, { urn }) case "azure:containerapp/environmentCertificate:EnvironmentCertificate": return new EnvironmentCertificate(name, undefined, { urn }) + case "azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain": + return new EnvironmentCustomDomain(name, undefined, { urn }) case "azure:containerapp/environmentDaprComponent:EnvironmentDaprComponent": return new EnvironmentDaprComponent(name, undefined, { urn }) case "azure:containerapp/environmentStorage:EnvironmentStorage": return new EnvironmentStorage(name, undefined, { urn }) + case "azure:containerapp/job:Job": + return new Job(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -76,5 +90,7 @@ pulumi.runtime.registerResourceModule("azure", "containerapp/app", _module) pulumi.runtime.registerResourceModule("azure", "containerapp/customDomain", _module) pulumi.runtime.registerResourceModule("azure", "containerapp/environment", _module) pulumi.runtime.registerResourceModule("azure", "containerapp/environmentCertificate", _module) +pulumi.runtime.registerResourceModule("azure", "containerapp/environmentCustomDomain", _module) pulumi.runtime.registerResourceModule("azure", "containerapp/environmentDaprComponent", _module) pulumi.runtime.registerResourceModule("azure", "containerapp/environmentStorage", _module) +pulumi.runtime.registerResourceModule("azure", "containerapp/job", _module) diff --git a/sdk/nodejs/containerapp/job.ts b/sdk/nodejs/containerapp/job.ts new file mode 100644 index 0000000000..1f53b29f02 --- /dev/null +++ b/sdk/nodejs/containerapp/job.ts @@ -0,0 +1,396 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manages a Container App Job. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "West Europe", + * }); + * const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", { + * name: "example-log-analytics-workspace", + * location: example.location, + * resourceGroupName: example.name, + * sku: "PerGB2018", + * retentionInDays: 30, + * }); + * const exampleEnvironment = new azure.containerapp.Environment("example", { + * name: "example-container-app-environment", + * location: example.location, + * resourceGroupName: example.name, + * logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id, + * }); + * const exampleJob = new azure.containerapp.Job("example", { + * name: "example-container-app-job", + * location: example.location, + * resourceGroupName: example.name, + * containerAppEnvironmentId: exampleEnvironment.id, + * replicaTimeoutInSeconds: 10, + * replicaRetryLimit: 10, + * manualTriggerConfig: { + * parallelism: 4, + * replicaCompletionCount: 1, + * }, + * template: { + * containers: [{ + * image: "repo/testcontainerAppsJob0:v1", + * name: "testcontainerappsjob0", + * readinessProbes: [{ + * transport: "HTTP", + * port: 5000, + * }], + * livenessProbes: [{ + * transport: "HTTP", + * port: 5000, + * path: "/health", + * headers: [{ + * name: "Cache-Control", + * value: "no-cache", + * }], + * initialDelay: 5, + * intervalSeconds: 20, + * timeout: 2, + * failureCountThreshold: 1, + * }], + * startupProbes: [{ + * transport: "TCP", + * port: 5000, + * }], + * cpu: 0.5, + * memory: "1Gi", + * }], + * }, + * }); + * ``` + * + * ## Import + * + * A Container App Job can be imported using the resource id, e.g. + * + * ```sh + * $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" + * ``` + */ +export class Job extends pulumi.CustomResource { + /** + * Get an existing Job resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: JobState, opts?: pulumi.CustomResourceOptions): Job { + return new Job(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:containerapp/job:Job'; + + /** + * Returns true if the given object is an instance of Job. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Job { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Job.__pulumiType; + } + + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + */ + public readonly containerAppEnvironmentId!: pulumi.Output; + /** + * The endpoint for the Container App Job event stream. + */ + public /*out*/ readonly eventStreamEndpoint!: pulumi.Output; + /** + * A `eventTriggerConfig` block as defined below. + */ + public readonly eventTriggerConfig!: pulumi.Output; + /** + * A `identity` block as defined below. + */ + public readonly identity!: pulumi.Output; + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + */ + public readonly location!: pulumi.Output; + /** + * A `manualTriggerConfig` block as defined below. + */ + public readonly manualTriggerConfig!: pulumi.Output; + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * A list of the Public IP Addresses which the Container App uses for outbound network access. + */ + public /*out*/ readonly outboundIpAddresses!: pulumi.Output; + /** + * A `registries` block as defined below. + */ + public readonly registries!: pulumi.Output; + /** + * The maximum number of times a replica is allowed to retry. + */ + public readonly replicaRetryLimit!: pulumi.Output; + /** + * The maximum number of seconds a replica is allowed to run. + */ + public readonly replicaTimeoutInSeconds!: pulumi.Output; + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * A `scheduleTriggerConfig` block as defined below. + * + * > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + */ + public readonly scheduleTriggerConfig!: pulumi.Output; + /** + * A `secrets` block as defined below. + */ + public readonly secrets!: pulumi.Output; + /** + * A mapping of tags to assign to the resource. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A `template` block as defined below. + */ + public readonly template!: pulumi.Output; + /** + * The name of the workload profile to use for the Container App Job. + */ + public readonly workloadProfileName!: pulumi.Output; + + /** + * Create a Job resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: JobArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: JobArgs | JobState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as JobState | undefined; + resourceInputs["containerAppEnvironmentId"] = state ? state.containerAppEnvironmentId : undefined; + resourceInputs["eventStreamEndpoint"] = state ? state.eventStreamEndpoint : undefined; + resourceInputs["eventTriggerConfig"] = state ? state.eventTriggerConfig : undefined; + resourceInputs["identity"] = state ? state.identity : undefined; + resourceInputs["location"] = state ? state.location : undefined; + resourceInputs["manualTriggerConfig"] = state ? state.manualTriggerConfig : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["outboundIpAddresses"] = state ? state.outboundIpAddresses : undefined; + resourceInputs["registries"] = state ? state.registries : undefined; + resourceInputs["replicaRetryLimit"] = state ? state.replicaRetryLimit : undefined; + resourceInputs["replicaTimeoutInSeconds"] = state ? state.replicaTimeoutInSeconds : undefined; + resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + resourceInputs["scheduleTriggerConfig"] = state ? state.scheduleTriggerConfig : undefined; + resourceInputs["secrets"] = state ? state.secrets : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["template"] = state ? state.template : undefined; + resourceInputs["workloadProfileName"] = state ? state.workloadProfileName : undefined; + } else { + const args = argsOrState as JobArgs | undefined; + if ((!args || args.containerAppEnvironmentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'containerAppEnvironmentId'"); + } + if ((!args || args.replicaTimeoutInSeconds === undefined) && !opts.urn) { + throw new Error("Missing required property 'replicaTimeoutInSeconds'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.template === undefined) && !opts.urn) { + throw new Error("Missing required property 'template'"); + } + resourceInputs["containerAppEnvironmentId"] = args ? args.containerAppEnvironmentId : undefined; + resourceInputs["eventTriggerConfig"] = args ? args.eventTriggerConfig : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["manualTriggerConfig"] = args ? args.manualTriggerConfig : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["registries"] = args ? args.registries : undefined; + resourceInputs["replicaRetryLimit"] = args ? args.replicaRetryLimit : undefined; + resourceInputs["replicaTimeoutInSeconds"] = args ? args.replicaTimeoutInSeconds : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scheduleTriggerConfig"] = args ? args.scheduleTriggerConfig : undefined; + resourceInputs["secrets"] = args?.secrets ? pulumi.secret(args.secrets) : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["template"] = args ? args.template : undefined; + resourceInputs["workloadProfileName"] = args ? args.workloadProfileName : undefined; + resourceInputs["eventStreamEndpoint"] = undefined /*out*/; + resourceInputs["outboundIpAddresses"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["secrets"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Job.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Job resources. + */ +export interface JobState { + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + */ + containerAppEnvironmentId?: pulumi.Input; + /** + * The endpoint for the Container App Job event stream. + */ + eventStreamEndpoint?: pulumi.Input; + /** + * A `eventTriggerConfig` block as defined below. + */ + eventTriggerConfig?: pulumi.Input; + /** + * A `identity` block as defined below. + */ + identity?: pulumi.Input; + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * A `manualTriggerConfig` block as defined below. + */ + manualTriggerConfig?: pulumi.Input; + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * A list of the Public IP Addresses which the Container App uses for outbound network access. + */ + outboundIpAddresses?: pulumi.Input[]>; + /** + * A `registries` block as defined below. + */ + registries?: pulumi.Input[]>; + /** + * The maximum number of times a replica is allowed to retry. + */ + replicaRetryLimit?: pulumi.Input; + /** + * The maximum number of seconds a replica is allowed to run. + */ + replicaTimeoutInSeconds?: pulumi.Input; + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + */ + resourceGroupName?: pulumi.Input; + /** + * A `scheduleTriggerConfig` block as defined below. + * + * > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + */ + scheduleTriggerConfig?: pulumi.Input; + /** + * A `secrets` block as defined below. + */ + secrets?: pulumi.Input[]>; + /** + * A mapping of tags to assign to the resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A `template` block as defined below. + */ + template?: pulumi.Input; + /** + * The name of the workload profile to use for the Container App Job. + */ + workloadProfileName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Job resource. + */ +export interface JobArgs { + /** + * The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + */ + containerAppEnvironmentId: pulumi.Input; + /** + * A `eventTriggerConfig` block as defined below. + */ + eventTriggerConfig?: pulumi.Input; + /** + * A `identity` block as defined below. + */ + identity?: pulumi.Input; + /** + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * A `manualTriggerConfig` block as defined below. + */ + manualTriggerConfig?: pulumi.Input; + /** + * Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * A `registries` block as defined below. + */ + registries?: pulumi.Input[]>; + /** + * The maximum number of times a replica is allowed to retry. + */ + replicaRetryLimit?: pulumi.Input; + /** + * The maximum number of seconds a replica is allowed to run. + */ + replicaTimeoutInSeconds: pulumi.Input; + /** + * The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + */ + resourceGroupName: pulumi.Input; + /** + * A `scheduleTriggerConfig` block as defined below. + * + * > ** NOTE **: Only one of `manualTriggerConfig`, `eventTriggerConfig` or `scheduleTriggerConfig` can be specified. + */ + scheduleTriggerConfig?: pulumi.Input; + /** + * A `secrets` block as defined below. + */ + secrets?: pulumi.Input[]>; + /** + * A mapping of tags to assign to the resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A `template` block as defined below. + */ + template: pulumi.Input; + /** + * The name of the workload profile to use for the Container App Job. + */ + workloadProfileName?: pulumi.Input; +} diff --git a/sdk/nodejs/datafactory/credentialServicePrincipal.ts b/sdk/nodejs/datafactory/credentialServicePrincipal.ts new file mode 100644 index 0000000000..1bf537dc2b --- /dev/null +++ b/sdk/nodejs/datafactory/credentialServicePrincipal.ts @@ -0,0 +1,254 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const current = azure.core.getClientConfig({}); + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "westeurope", + * }); + * const exampleFactory = new azure.datafactory.Factory("example", { + * name: "example", + * location: example.location, + * resourceGroupName: example.name, + * }); + * const exampleKeyVault = new azure.keyvault.KeyVault("example", { + * name: "example", + * location: example.location, + * resourceGroupName: example.name, + * tenantId: current.then(current => current.tenantId), + * skuName: "premium", + * softDeleteRetentionDays: 7, + * accessPolicies: [{ + * tenantId: current.then(current => current.tenantId), + * objectId: current.then(current => current.objectId), + * keyPermissions: [ + * "Create", + * "Get", + * ], + * secretPermissions: [ + * "Set", + * "Get", + * "Delete", + * "Purge", + * "Recover", + * ], + * }], + * }); + * const exampleSecret = new azure.keyvault.Secret("example", { + * name: "example", + * value: "example-secret", + * keyVaultId: exampleKeyVault.id, + * }); + * const exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault("example", { + * name: "example", + * dataFactoryId: exampleFactory.id, + * keyVaultId: exampleKeyVault.id, + * }); + * const exampleCredentialServicePrincipal = new azure.datafactory.CredentialServicePrincipal("example", { + * name: "example", + * description: "example description", + * dataFactoryId: exampleFactory.id, + * tenantId: current.then(current => current.tenantId), + * servicePrincipalId: current.then(current => current.clientId), + * servicePrincipalKey: { + * linkedServiceName: exampleLinkedServiceKeyVault.name, + * secretName: exampleSecret.name, + * secretVersion: exampleSecret.version, + * }, + * annotations: [ + * "1", + * "2", + * ], + * }); + * ``` + * + * ## Import + * + * Data Factory Credentials can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 + * ``` + */ +export class CredentialServicePrincipal extends pulumi.CustomResource { + /** + * Get an existing CredentialServicePrincipal resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CredentialServicePrincipalState, opts?: pulumi.CustomResourceOptions): CredentialServicePrincipal { + return new CredentialServicePrincipal(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal'; + + /** + * Returns true if the given object is an instance of CredentialServicePrincipal. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CredentialServicePrincipal { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CredentialServicePrincipal.__pulumiType; + } + + /** + * List of tags that can be used for describing the Data Factory Credential. + */ + public readonly annotations!: pulumi.Output; + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + */ + public readonly dataFactoryId!: pulumi.Output; + /** + * The description for the Data Factory Credential. + */ + public readonly description!: pulumi.Output; + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The Client ID of the Service Principal. + */ + public readonly servicePrincipalId!: pulumi.Output; + /** + * A `servicePrincipalKey` block as defined below. + */ + public readonly servicePrincipalKey!: pulumi.Output; + /** + * The Tenant ID of the Service Principal. + */ + public readonly tenantId!: pulumi.Output; + + /** + * Create a CredentialServicePrincipal resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: CredentialServicePrincipalArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CredentialServicePrincipalArgs | CredentialServicePrincipalState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CredentialServicePrincipalState | undefined; + resourceInputs["annotations"] = state ? state.annotations : undefined; + resourceInputs["dataFactoryId"] = state ? state.dataFactoryId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["servicePrincipalId"] = state ? state.servicePrincipalId : undefined; + resourceInputs["servicePrincipalKey"] = state ? state.servicePrincipalKey : undefined; + resourceInputs["tenantId"] = state ? state.tenantId : undefined; + } else { + const args = argsOrState as CredentialServicePrincipalArgs | undefined; + if ((!args || args.dataFactoryId === undefined) && !opts.urn) { + throw new Error("Missing required property 'dataFactoryId'"); + } + if ((!args || args.servicePrincipalId === undefined) && !opts.urn) { + throw new Error("Missing required property 'servicePrincipalId'"); + } + if ((!args || args.tenantId === undefined) && !opts.urn) { + throw new Error("Missing required property 'tenantId'"); + } + resourceInputs["annotations"] = args ? args.annotations : undefined; + resourceInputs["dataFactoryId"] = args ? args.dataFactoryId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["servicePrincipalId"] = args ? args.servicePrincipalId : undefined; + resourceInputs["servicePrincipalKey"] = args ? args.servicePrincipalKey : undefined; + resourceInputs["tenantId"] = args ? args.tenantId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CredentialServicePrincipal.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CredentialServicePrincipal resources. + */ +export interface CredentialServicePrincipalState { + /** + * List of tags that can be used for describing the Data Factory Credential. + */ + annotations?: pulumi.Input[]>; + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + */ + dataFactoryId?: pulumi.Input; + /** + * The description for the Data Factory Credential. + */ + description?: pulumi.Input; + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The Client ID of the Service Principal. + */ + servicePrincipalId?: pulumi.Input; + /** + * A `servicePrincipalKey` block as defined below. + */ + servicePrincipalKey?: pulumi.Input; + /** + * The Tenant ID of the Service Principal. + */ + tenantId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CredentialServicePrincipal resource. + */ +export interface CredentialServicePrincipalArgs { + /** + * List of tags that can be used for describing the Data Factory Credential. + */ + annotations?: pulumi.Input[]>; + /** + * The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + */ + dataFactoryId: pulumi.Input; + /** + * The description for the Data Factory Credential. + */ + description?: pulumi.Input; + /** + * Specifies the name of the Credential. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The Client ID of the Service Principal. + */ + servicePrincipalId: pulumi.Input; + /** + * A `servicePrincipalKey` block as defined below. + */ + servicePrincipalKey?: pulumi.Input; + /** + * The Tenant ID of the Service Principal. + */ + tenantId: pulumi.Input; +} diff --git a/sdk/nodejs/datafactory/index.ts b/sdk/nodejs/datafactory/index.ts index 3e0b9b8a3c..175e35c3c2 100644 --- a/sdk/nodejs/datafactory/index.ts +++ b/sdk/nodejs/datafactory/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { CredentialServicePrincipalArgs, CredentialServicePrincipalState } from "./credentialServicePrincipal"; +export type CredentialServicePrincipal = import("./credentialServicePrincipal").CredentialServicePrincipal; +export const CredentialServicePrincipal: typeof import("./credentialServicePrincipal").CredentialServicePrincipal = null as any; +utilities.lazyLoad(exports, ["CredentialServicePrincipal"], () => require("./credentialServicePrincipal")); + export { CredentialUserManagedIdentityArgs, CredentialUserManagedIdentityState } from "./credentialUserManagedIdentity"; export type CredentialUserManagedIdentity = import("./credentialUserManagedIdentity").CredentialUserManagedIdentity; export const CredentialUserManagedIdentity: typeof import("./credentialUserManagedIdentity").CredentialUserManagedIdentity = null as any; @@ -270,6 +275,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal": + return new CredentialServicePrincipal(name, undefined, { urn }) case "azure:datafactory/credentialUserManagedIdentity:CredentialUserManagedIdentity": return new CredentialUserManagedIdentity(name, undefined, { urn }) case "azure:datafactory/customDataset:CustomDataset": @@ -373,6 +380,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("azure", "datafactory/credentialServicePrincipal", _module) pulumi.runtime.registerResourceModule("azure", "datafactory/credentialUserManagedIdentity", _module) pulumi.runtime.registerResourceModule("azure", "datafactory/customDataset", _module) pulumi.runtime.registerResourceModule("azure", "datafactory/dataFlow", _module) diff --git a/sdk/nodejs/kusto/cluster.ts b/sdk/nodejs/kusto/cluster.ts index 18f79aed38..e6466ea829 100644 --- a/sdk/nodejs/kusto/cluster.ts +++ b/sdk/nodejs/kusto/cluster.ts @@ -156,7 +156,7 @@ export class Cluster extends pulumi.CustomResource { * * > **NOTE:** In v3.0 of `azurerm` a new or updated Kusto Cluster will only allow your own tenant by default. Explicit configuration of this setting will change from `trustedExternalTenants = ["MyTenantOnly"]` to `trustedExternalTenants = []`. */ - public readonly trustedExternalTenants!: pulumi.Output; + public readonly trustedExternalTenants!: pulumi.Output; /** * The FQDN of the Azure Kusto Cluster. */ diff --git a/sdk/nodejs/maintenance/assignmentDynamicScope.ts b/sdk/nodejs/maintenance/assignmentDynamicScope.ts new file mode 100644 index 0000000000..9340fe79d9 --- /dev/null +++ b/sdk/nodejs/maintenance/assignmentDynamicScope.ts @@ -0,0 +1,136 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manages a Dynamic Maintenance Assignment. + * + * > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. + * + * ## Import + * + * Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName + * ``` + */ +export class AssignmentDynamicScope extends pulumi.CustomResource { + /** + * Get an existing AssignmentDynamicScope resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AssignmentDynamicScopeState, opts?: pulumi.CustomResourceOptions): AssignmentDynamicScope { + return new AssignmentDynamicScope(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope'; + + /** + * Returns true if the given object is an instance of AssignmentDynamicScope. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AssignmentDynamicScope { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AssignmentDynamicScope.__pulumiType; + } + + /** + * A `filter` block as defined below. + */ + public readonly filter!: pulumi.Output; + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + */ + public readonly maintenanceConfigurationId!: pulumi.Output; + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + */ + public readonly name!: pulumi.Output; + + /** + * Create a AssignmentDynamicScope resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AssignmentDynamicScopeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AssignmentDynamicScopeArgs | AssignmentDynamicScopeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AssignmentDynamicScopeState | undefined; + resourceInputs["filter"] = state ? state.filter : undefined; + resourceInputs["maintenanceConfigurationId"] = state ? state.maintenanceConfigurationId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as AssignmentDynamicScopeArgs | undefined; + if ((!args || args.filter === undefined) && !opts.urn) { + throw new Error("Missing required property 'filter'"); + } + if ((!args || args.maintenanceConfigurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'maintenanceConfigurationId'"); + } + resourceInputs["filter"] = args ? args.filter : undefined; + resourceInputs["maintenanceConfigurationId"] = args ? args.maintenanceConfigurationId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AssignmentDynamicScope.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AssignmentDynamicScope resources. + */ +export interface AssignmentDynamicScopeState { + /** + * A `filter` block as defined below. + */ + filter?: pulumi.Input; + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + */ + maintenanceConfigurationId?: pulumi.Input; + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AssignmentDynamicScope resource. + */ +export interface AssignmentDynamicScopeArgs { + /** + * A `filter` block as defined below. + */ + filter: pulumi.Input; + /** + * The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + */ + maintenanceConfigurationId: pulumi.Input; + /** + * The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + * + * > **Note:** The `name` must be unique per subscription. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/maintenance/index.ts b/sdk/nodejs/maintenance/index.ts index 7beaf2eaac..6224a0be3a 100644 --- a/sdk/nodejs/maintenance/index.ts +++ b/sdk/nodejs/maintenance/index.ts @@ -10,6 +10,11 @@ export type AssignmentDedicatedHost = import("./assignmentDedicatedHost").Assign export const AssignmentDedicatedHost: typeof import("./assignmentDedicatedHost").AssignmentDedicatedHost = null as any; utilities.lazyLoad(exports, ["AssignmentDedicatedHost"], () => require("./assignmentDedicatedHost")); +export { AssignmentDynamicScopeArgs, AssignmentDynamicScopeState } from "./assignmentDynamicScope"; +export type AssignmentDynamicScope = import("./assignmentDynamicScope").AssignmentDynamicScope; +export const AssignmentDynamicScope: typeof import("./assignmentDynamicScope").AssignmentDynamicScope = null as any; +utilities.lazyLoad(exports, ["AssignmentDynamicScope"], () => require("./assignmentDynamicScope")); + export { AssignmentVirtualMachineArgs, AssignmentVirtualMachineState } from "./assignmentVirtualMachine"; export type AssignmentVirtualMachine = import("./assignmentVirtualMachine").AssignmentVirtualMachine; export const AssignmentVirtualMachine: typeof import("./assignmentVirtualMachine").AssignmentVirtualMachine = null as any; @@ -42,6 +47,8 @@ const _module = { switch (type) { case "azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost": return new AssignmentDedicatedHost(name, undefined, { urn }) + case "azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope": + return new AssignmentDynamicScope(name, undefined, { urn }) case "azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine": return new AssignmentVirtualMachine(name, undefined, { urn }) case "azure:maintenance/assignmentVirtualMachineScaleSet:AssignmentVirtualMachineScaleSet": @@ -54,6 +61,7 @@ const _module = { }, }; pulumi.runtime.registerResourceModule("azure", "maintenance/assignmentDedicatedHost", _module) +pulumi.runtime.registerResourceModule("azure", "maintenance/assignmentDynamicScope", _module) pulumi.runtime.registerResourceModule("azure", "maintenance/assignmentVirtualMachine", _module) pulumi.runtime.registerResourceModule("azure", "maintenance/assignmentVirtualMachineScaleSet", _module) pulumi.runtime.registerResourceModule("azure", "maintenance/configuration", _module) diff --git a/sdk/nodejs/mssql/database.ts b/sdk/nodejs/mssql/database.ts index 116f2c707a..919b9fe1af 100644 --- a/sdk/nodejs/mssql/database.ts +++ b/sdk/nodejs/mssql/database.ts @@ -330,6 +330,8 @@ export class Database extends pulumi.CustomResource { public readonly transparentDataEncryptionEnabled!: pulumi.Output; /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + * + * > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. */ public readonly transparentDataEncryptionKeyAutomaticRotationEnabled!: pulumi.Output; /** @@ -591,6 +593,8 @@ export interface DatabaseState { transparentDataEncryptionEnabled?: pulumi.Input; /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + * + * > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. */ transparentDataEncryptionKeyAutomaticRotationEnabled?: pulumi.Input; /** @@ -759,6 +763,8 @@ export interface DatabaseArgs { transparentDataEncryptionEnabled?: pulumi.Input; /** * Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + * + * > **NOTE:** When the `skuName` is `DW100c`, the `transparentDataEncryptionKeyAutomaticRotationEnabled` and the `transparentDataEncryptionKeyVaultKeyId` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. */ transparentDataEncryptionKeyAutomaticRotationEnabled?: pulumi.Input; /** diff --git a/sdk/nodejs/network/getNetworkManagerConnectivityConfiguration.ts b/sdk/nodejs/network/getNetworkManagerConnectivityConfiguration.ts new file mode 100644 index 0000000000..15e864192c --- /dev/null +++ b/sdk/nodejs/network/getNetworkManagerConnectivityConfiguration.ts @@ -0,0 +1,115 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.network.getNetworkManagerConnectivityConfiguration({ + * name: "existing", + * networkManagerId: "TODO", + * }); + * export const id = example.then(example => example.id); + * ``` + */ +export function getNetworkManagerConnectivityConfiguration(args: GetNetworkManagerConnectivityConfigurationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration", { + "name": args.name, + "networkManagerId": args.networkManagerId, + }, opts); +} + +/** + * A collection of arguments for invoking getNetworkManagerConnectivityConfiguration. + */ +export interface GetNetworkManagerConnectivityConfigurationArgs { + /** + * The name of this Network Manager Connectivity Configuration. + */ + name: string; + /** + * The ID of the Network Manager. + */ + networkManagerId: string; +} + +/** + * A collection of values returned by getNetworkManagerConnectivityConfiguration. + */ +export interface GetNetworkManagerConnectivityConfigurationResult { + /** + * An `appliesToGroup` block as defined below. + */ + readonly appliesToGroups: outputs.network.GetNetworkManagerConnectivityConfigurationAppliesToGroup[]; + /** + * The connectivity topology type. + */ + readonly connectivityTopology: string; + /** + * Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + */ + readonly deleteExistingPeeringEnabled: boolean; + /** + * The description of the Connectivity Configuration. + */ + readonly description: string; + /** + * Whether global mesh is supported. + */ + readonly globalMeshEnabled: boolean; + /** + * A `hub` block as defined below. + */ + readonly hubs: outputs.network.GetNetworkManagerConnectivityConfigurationHub[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly name: string; + readonly networkManagerId: string; +} +/** + * Use this data source to access information about an existing Network Manager Connectivity Configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.network.getNetworkManagerConnectivityConfiguration({ + * name: "existing", + * networkManagerId: "TODO", + * }); + * export const id = example.then(example => example.id); + * ``` + */ +export function getNetworkManagerConnectivityConfigurationOutput(args: GetNetworkManagerConnectivityConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNetworkManagerConnectivityConfiguration(a, opts)) +} + +/** + * A collection of arguments for invoking getNetworkManagerConnectivityConfiguration. + */ +export interface GetNetworkManagerConnectivityConfigurationOutputArgs { + /** + * The name of this Network Manager Connectivity Configuration. + */ + name: pulumi.Input; + /** + * The ID of the Network Manager. + */ + networkManagerId: pulumi.Input; +} diff --git a/sdk/nodejs/network/getSubnet.ts b/sdk/nodejs/network/getSubnet.ts index d9e0d2714a..19cc643f34 100644 --- a/sdk/nodejs/network/getSubnet.ts +++ b/sdk/nodejs/network/getSubnet.ts @@ -72,6 +72,10 @@ export interface GetSubnetResult { /** * Enable or Disable network policies for the private endpoint on the subnet. */ + readonly privateEndpointNetworkPolicies: string; + /** + * @deprecated This property has been superseded by `privateEndpointNetworkPolicies` and will be removed in v4.0 of the AzureRM Provider. + */ readonly privateEndpointNetworkPoliciesEnabled: boolean; /** * Enable or Disable network policies for the private link service on the subnet. diff --git a/sdk/nodejs/network/index.ts b/sdk/nodejs/network/index.ts index de8012dd2a..dfa779e163 100644 --- a/sdk/nodejs/network/index.ts +++ b/sdk/nodejs/network/index.ts @@ -160,6 +160,11 @@ export const getNetworkManager: typeof import("./getNetworkManager").getNetworkM export const getNetworkManagerOutput: typeof import("./getNetworkManager").getNetworkManagerOutput = null as any; utilities.lazyLoad(exports, ["getNetworkManager","getNetworkManagerOutput"], () => require("./getNetworkManager")); +export { GetNetworkManagerConnectivityConfigurationArgs, GetNetworkManagerConnectivityConfigurationResult, GetNetworkManagerConnectivityConfigurationOutputArgs } from "./getNetworkManagerConnectivityConfiguration"; +export const getNetworkManagerConnectivityConfiguration: typeof import("./getNetworkManagerConnectivityConfiguration").getNetworkManagerConnectivityConfiguration = null as any; +export const getNetworkManagerConnectivityConfigurationOutput: typeof import("./getNetworkManagerConnectivityConfiguration").getNetworkManagerConnectivityConfigurationOutput = null as any; +utilities.lazyLoad(exports, ["getNetworkManagerConnectivityConfiguration","getNetworkManagerConnectivityConfigurationOutput"], () => require("./getNetworkManagerConnectivityConfiguration")); + export { GetNetworkManagerNetworkGroupArgs, GetNetworkManagerNetworkGroupResult, GetNetworkManagerNetworkGroupOutputArgs } from "./getNetworkManagerNetworkGroup"; export const getNetworkManagerNetworkGroup: typeof import("./getNetworkManagerNetworkGroup").getNetworkManagerNetworkGroup = null as any; export const getNetworkManagerNetworkGroupOutput: typeof import("./getNetworkManagerNetworkGroup").getNetworkManagerNetworkGroupOutput = null as any; diff --git a/sdk/nodejs/network/profile.ts b/sdk/nodejs/network/profile.ts index f7b0963ad3..d9eb7ff0f9 100644 --- a/sdk/nodejs/network/profile.ts +++ b/sdk/nodejs/network/profile.ts @@ -109,7 +109,7 @@ export class Profile extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; @@ -177,7 +177,7 @@ export interface ProfileState { */ resourceGroupName?: pulumi.Input; /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } @@ -203,7 +203,7 @@ export interface ProfileArgs { */ resourceGroupName: pulumi.Input; /** - * A mapping of tags to assign to the resource. + * A mapping of tags assigned to the resource. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/network/subnet.ts b/sdk/nodejs/network/subnet.ts index 697446b2fa..7748ceabe7 100644 --- a/sdk/nodejs/network/subnet.ts +++ b/sdk/nodejs/network/subnet.ts @@ -94,7 +94,7 @@ export class Subnet extends pulumi.CustomResource { */ public readonly delegations!: pulumi.Output; /** - * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ public readonly enforcePrivateLinkEndpointNetworkPolicies!: pulumi.Output; /** @@ -106,9 +106,13 @@ export class Subnet extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + */ + public readonly privateEndpointNetworkPolicies!: pulumi.Output; + /** + * @deprecated `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ public readonly privateEndpointNetworkPoliciesEnabled!: pulumi.Output; /** @@ -118,7 +122,7 @@ export class Subnet extends pulumi.CustomResource { */ public readonly privateLinkServiceNetworkPoliciesEnabled!: pulumi.Output; /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. */ public readonly resourceGroupName!: pulumi.Output; /** @@ -154,6 +158,7 @@ export class Subnet extends pulumi.CustomResource { resourceInputs["enforcePrivateLinkEndpointNetworkPolicies"] = state ? state.enforcePrivateLinkEndpointNetworkPolicies : undefined; resourceInputs["enforcePrivateLinkServiceNetworkPolicies"] = state ? state.enforcePrivateLinkServiceNetworkPolicies : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["privateEndpointNetworkPolicies"] = state ? state.privateEndpointNetworkPolicies : undefined; resourceInputs["privateEndpointNetworkPoliciesEnabled"] = state ? state.privateEndpointNetworkPoliciesEnabled : undefined; resourceInputs["privateLinkServiceNetworkPoliciesEnabled"] = state ? state.privateLinkServiceNetworkPoliciesEnabled : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; @@ -176,6 +181,7 @@ export class Subnet extends pulumi.CustomResource { resourceInputs["enforcePrivateLinkEndpointNetworkPolicies"] = args ? args.enforcePrivateLinkEndpointNetworkPolicies : undefined; resourceInputs["enforcePrivateLinkServiceNetworkPolicies"] = args ? args.enforcePrivateLinkServiceNetworkPolicies : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["privateEndpointNetworkPolicies"] = args ? args.privateEndpointNetworkPolicies : undefined; resourceInputs["privateEndpointNetworkPoliciesEnabled"] = args ? args.privateEndpointNetworkPoliciesEnabled : undefined; resourceInputs["privateLinkServiceNetworkPoliciesEnabled"] = args ? args.privateLinkServiceNetworkPoliciesEnabled : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; @@ -203,7 +209,7 @@ export interface SubnetState { */ delegations?: pulumi.Input[]>; /** - * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ enforcePrivateLinkEndpointNetworkPolicies?: pulumi.Input; /** @@ -215,9 +221,13 @@ export interface SubnetState { */ name?: pulumi.Input; /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + */ + privateEndpointNetworkPolicies?: pulumi.Input; + /** + * @deprecated `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ privateEndpointNetworkPoliciesEnabled?: pulumi.Input; /** @@ -227,7 +237,7 @@ export interface SubnetState { */ privateLinkServiceNetworkPoliciesEnabled?: pulumi.Input; /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** @@ -261,7 +271,7 @@ export interface SubnetArgs { */ delegations?: pulumi.Input[]>; /** - * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPoliciesEnabled` in version 4.0 of the AzureRM Provider + * @deprecated `enforcePrivateLinkEndpointNetworkPolicies` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ enforcePrivateLinkEndpointNetworkPolicies?: pulumi.Input; /** @@ -273,9 +283,13 @@ export interface SubnetArgs { */ name?: pulumi.Input; /** - * Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + * Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. * - * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPoliciesEnabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + * > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `privateEndpointNetworkPolicies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `azure.network.SubnetNetworkSecurityGroupAssociation` resource. + */ + privateEndpointNetworkPolicies?: pulumi.Input; + /** + * @deprecated `privateEndpointNetworkPoliciesEnabled` will be removed in favour of the property `privateEndpointNetworkPolicies` in version 4.0 of the AzureRM Provider */ privateEndpointNetworkPoliciesEnabled?: pulumi.Input; /** @@ -285,7 +299,7 @@ export interface SubnetArgs { */ privateLinkServiceNetworkPoliciesEnabled?: pulumi.Input; /** - * The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + * The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** diff --git a/sdk/nodejs/postgresql/flexibleServer.ts b/sdk/nodejs/postgresql/flexibleServer.ts index 38b804c510..bd373b0dae 100644 --- a/sdk/nodejs/postgresql/flexibleServer.ts +++ b/sdk/nodejs/postgresql/flexibleServer.ts @@ -147,7 +147,9 @@ export class FlexibleServer extends pulumi.CustomResource { */ public readonly backupRetentionDays!: pulumi.Output; /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `createMode` cannot be set to `Update`. */ @@ -357,7 +359,9 @@ export interface FlexibleServerState { */ backupRetentionDays?: pulumi.Input; /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `createMode` cannot be set to `Update`. */ @@ -488,7 +492,9 @@ export interface FlexibleServerArgs { */ backupRetentionDays?: pulumi.Input; /** - * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + * The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + * + * > **Note:** `createMode` cannot be changed once it's set since it's a parameter at creation. * * > **Note:** While creating the resource, `createMode` cannot be set to `Update`. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 48aa0dcfba..5597e87c8a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -338,6 +338,7 @@ "communication/getService.ts", "communication/index.ts", "communication/service.ts", + "compute/automanageConfigurationAssignment.ts", "compute/availabilitySet.ts", "compute/bastionHost.ts", "compute/capacityReservation.ts", @@ -353,6 +354,7 @@ "compute/diskPoolManagedDiskAttachment.ts", "compute/extension.ts", "compute/galleryApplication.ts", + "compute/galleryApplicationAssignment.ts", "compute/galleryApplicationVersion.ts", "compute/getAvailabilitySet.ts", "compute/getBastionHost.ts", @@ -412,12 +414,14 @@ "containerapp/customDomain.ts", "containerapp/environment.ts", "containerapp/environmentCertificate.ts", + "containerapp/environmentCustomDomain.ts", "containerapp/environmentDaprComponent.ts", "containerapp/environmentStorage.ts", "containerapp/getApp.ts", "containerapp/getEnvironment.ts", "containerapp/getEnvironmentCertificate.ts", "containerapp/index.ts", + "containerapp/job.ts", "containerservice/clusterTrustedAccessRoleBinding.ts", "containerservice/connectedRegistry.ts", "containerservice/fleetMember.ts", @@ -550,6 +554,7 @@ "datadog/monitor.ts", "datadog/monitorSsoConfiguration.ts", "datadog/monitorTagRule.ts", + "datafactory/credentialServicePrincipal.ts", "datafactory/credentialUserManagedIdentity.ts", "datafactory/customDataset.ts", "datafactory/dataFlow.ts", @@ -927,6 +932,7 @@ "machinelearning/synapseSpark.ts", "machinelearning/workspace.ts", "maintenance/assignmentDedicatedHost.ts", + "maintenance/assignmentDynamicScope.ts", "maintenance/assignmentVirtualMachine.ts", "maintenance/assignmentVirtualMachineScaleSet.ts", "maintenance/configuration.ts", @@ -1145,6 +1151,7 @@ "network/getNetworkDdosProtectionPlan.ts", "network/getNetworkInterface.ts", "network/getNetworkManager.ts", + "network/getNetworkManagerConnectivityConfiguration.ts", "network/getNetworkManagerNetworkGroup.ts", "network/getNetworkSecurityGroup.ts", "network/getNetworkWatcher.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 3a0c5e86f3..c6c3005e7c 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -16,6 +16,7 @@ export interface ProviderFeatures { managedDisk?: pulumi.Input; postgresqlFlexibleServer?: pulumi.Input; recoveryService?: pulumi.Input; + recoveryServicesVaults?: pulumi.Input; resourceGroup?: pulumi.Input; subscription?: pulumi.Input; templateDeployment?: pulumi.Input; @@ -101,6 +102,10 @@ export interface ProviderFeaturesRecoveryService { vmBackupStopProtectionAndRetainDataOnDestroy?: pulumi.Input; } +export interface ProviderFeaturesRecoveryServicesVaults { + recoverSoftDeletedBackupProtectedVm?: pulumi.Input; +} + export interface ProviderFeaturesResourceGroup { preventDeletionIfContainsResources?: pulumi.Input; } @@ -4936,7 +4941,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -5938,7 +5945,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -7005,7 +7014,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -7625,7 +7636,11 @@ export namespace appservice { */ requests?: pulumi.Input; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: pulumi.Input[]>; + /** + * A `slowRequest` blocks as defined above. */ slowRequests?: pulumi.Input[]>; /** @@ -7646,6 +7661,29 @@ export namespace appservice { } export interface LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: pulumi.Input; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: pulumi.Input; + /** + * The path for which this slow request rule applies. + * + * > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: pulumi.Input; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: pulumi.Input; + } + + export interface LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -8147,7 +8185,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -8769,7 +8809,11 @@ export namespace appservice { */ requests?: pulumi.Input; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: pulumi.Input[]>; + /** + * A `slowRequest` block as defined above. */ slowRequests?: pulumi.Input[]>; /** @@ -8790,6 +8834,29 @@ export namespace appservice { } export interface LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: pulumi.Input; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: pulumi.Input; + /** + * The path for which this slow request rule applies. + * + * > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: pulumi.Input; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: pulumi.Input; + } + + export interface LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -10050,7 +10117,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -11011,7 +11080,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -12035,7 +12106,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -12710,7 +12783,11 @@ export namespace appservice { */ requests?: pulumi.Input; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: pulumi.Input[]>; + /** + * A `slowRequest` block as defined above. */ slowRequests?: pulumi.Input[]>; /** @@ -12731,6 +12808,27 @@ export namespace appservice { } export interface WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: pulumi.Input; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: pulumi.Input; + /** + * The path for which this slow request rule applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: pulumi.Input; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: pulumi.Input; + } + + export interface WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -13277,7 +13375,9 @@ export namespace appservice { */ loginParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: pulumi.Input; /** @@ -13944,7 +14044,11 @@ export namespace appservice { */ requests?: pulumi.Input; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: pulumi.Input[]>; + /** + * A `slowRequest` block as defined above. */ slowRequests?: pulumi.Input[]>; /** @@ -13965,6 +14069,27 @@ export namespace appservice { } export interface WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: pulumi.Input; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: pulumi.Input; + /** + * The path for which this slow request rule applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: pulumi.Input; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: pulumi.Input; + } + + export interface WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -18127,6 +18252,10 @@ export namespace compute { } export interface LinuxVirtualMachineAdditionalCapabilities { + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + */ + hibernationEnabled?: pulumi.Input; /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. */ @@ -18165,7 +18294,7 @@ export namespace compute { */ configurationBlobUri?: pulumi.Input; /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. */ order?: pulumi.Input; /** @@ -18698,6 +18827,12 @@ export namespace compute { * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. */ maxUnhealthyUpgradedInstancePercent: pulumi.Input; + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + */ + maximumSurgeInstancesEnabled?: pulumi.Input; /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. */ @@ -20482,6 +20617,10 @@ export namespace compute { } export interface WindowsVirtualMachineAdditionalCapabilities { + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + */ + hibernationEnabled?: pulumi.Input; /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. */ @@ -20518,7 +20657,7 @@ export namespace compute { */ configurationBlobUri?: pulumi.Input; /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. */ order?: pulumi.Input; /** @@ -21051,6 +21190,12 @@ export namespace compute { * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. */ maxUnhealthyUpgradedInstancePercent: pulumi.Input; + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + */ + maximumSurgeInstancesEnabled?: pulumi.Input; /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. */ @@ -21828,8 +21973,6 @@ export namespace containerapp { * The value for this secret. * * !> **Note:** `value` will be ignored if `keyVaultSecretId` and `identity` are provided. - * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. */ value?: pulumi.Input; } @@ -22373,6 +22516,484 @@ export namespace containerapp { workloadProfileType: pulumi.Input; } + export interface JobEventTriggerConfig { + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: pulumi.Input; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: pulumi.Input; + /** + * A `scale` block as defined below. + */ + scales?: pulumi.Input[]>; + } + + export interface JobEventTriggerConfigScale { + /** + * Maximum number of job executions that are created for a trigger. + */ + maxExecutions?: pulumi.Input; + /** + * Minimum number of job executions that are created for a trigger. + */ + minExecutions?: pulumi.Input; + /** + * Interval to check each event source in seconds. + */ + pollingIntervalInSeconds?: pulumi.Input; + /** + * A `rules` block as defined below. + */ + rules?: pulumi.Input[]>; + } + + export interface JobEventTriggerConfigScaleRule { + /** + * A `authentication` block as defined below. + */ + authentications?: pulumi.Input[]>; + /** + * Type of the scale rule. + */ + customRuleType: pulumi.Input; + /** + * Metadata properties to describe the scale rule. + */ + metadata: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Name of the scale rule. + */ + name: pulumi.Input; + } + + export interface JobEventTriggerConfigScaleRuleAuthentication { + /** + * Name of the secret from which to pull the auth params. + */ + secretName: pulumi.Input; + /** + * Trigger Parameter that uses the secret. + */ + triggerParameter: pulumi.Input; + } + + export interface JobIdentity { + /** + * A list of Managed Identity IDs to assign to the Container App Job. + */ + identityIds?: pulumi.Input[]>; + principalId?: pulumi.Input; + tenantId?: pulumi.Input; + /** + * The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + */ + type: pulumi.Input; + } + + export interface JobManualTriggerConfig { + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: pulumi.Input; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: pulumi.Input; + } + + export interface JobRegistry { + /** + * A Managed Identity to use to authenticate with Azure Container Registry. + */ + identity?: pulumi.Input; + /** + * The name of the Secret that contains the registry login password. + */ + passwordSecretName?: pulumi.Input; + /** + * The URL of the Azure Container Registry server. + */ + server: pulumi.Input; + /** + * The username to use to authenticate with Azure Container Registry. + */ + username?: pulumi.Input; + } + + export interface JobScheduleTriggerConfig { + /** + * Cron formatted repeating schedule of a Cron Job. + */ + cronExpression: pulumi.Input; + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: pulumi.Input; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: pulumi.Input; + } + + export interface JobSecret { + /** + * A `identity` block as defined below. + */ + identity?: pulumi.Input; + /** + * The Key Vault Secret ID. Could be either one of `id` or `versionlessId`. + */ + keyVaultSecretId?: pulumi.Input; + /** + * Name of the secret. + */ + name: pulumi.Input; + /** + * Value of the secret. + */ + value?: pulumi.Input; + } + + export interface JobTemplate { + /** + * A `container` block as defined below. + */ + containers: pulumi.Input[]>; + /** + * A `initContainer` block as defined below. + */ + initContainers?: pulumi.Input[]>; + /** + * A `volume` block as defined below. + */ + volumes?: pulumi.Input[]>; + } + + export interface JobTemplateContainer { + /** + * A list of extra arguments to pass to the container. + */ + args?: pulumi.Input[]>; + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + */ + commands?: pulumi.Input[]>; + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + */ + cpu: pulumi.Input; + /** + * One or more `env` blocks as detailed below. + */ + envs?: pulumi.Input[]>; + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + */ + ephemeralStorage?: pulumi.Input; + /** + * The image to use to create the container. + */ + image: pulumi.Input; + /** + * A `livenessProbe` block as detailed below. + */ + livenessProbes?: pulumi.Input[]>; + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + */ + memory: pulumi.Input; + /** + * The name of the container. + */ + name: pulumi.Input; + /** + * A `readinessProbe` block as detailed below. + */ + readinessProbes?: pulumi.Input[]>; + /** + * A `startupProbe` block as detailed below. + */ + startupProbes?: pulumi.Input[]>; + /** + * A `volumeMounts` block as detailed below. + */ + volumeMounts?: pulumi.Input[]>; + } + + export interface JobTemplateContainerEnv { + /** + * The name of the environment variable. + */ + name: pulumi.Input; + /** + * Name of the Container App secret from which to pull the environment variable value. + */ + secretName?: pulumi.Input; + /** + * The value of the environment variable. + */ + value?: pulumi.Input; + } + + export interface JobTemplateContainerLivenessProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: pulumi.Input; + /** + * A `header` block as detailed below. + */ + headers?: pulumi.Input[]>; + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: pulumi.Input; + /** + * The time in seconds to wait after the container has started before the probe is started. + */ + initialDelay?: pulumi.Input; + /** + * How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + */ + intervalSeconds?: pulumi.Input; + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path?: pulumi.Input; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: pulumi.Input; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds?: pulumi.Input; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: pulumi.Input; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: pulumi.Input; + } + + export interface JobTemplateContainerLivenessProbeHeader { + /** + * The HTTP Header Name. + */ + name: pulumi.Input; + /** + * The HTTP Header value. + */ + value: pulumi.Input; + } + + export interface JobTemplateContainerReadinessProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: pulumi.Input; + /** + * A `header` block as detailed below. + */ + headers?: pulumi.Input[]>; + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: pulumi.Input; + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + */ + intervalSeconds?: pulumi.Input; + /** + * The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path?: pulumi.Input; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: pulumi.Input; + /** + * The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + */ + successCountThreshold?: pulumi.Input; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: pulumi.Input; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: pulumi.Input; + } + + export interface JobTemplateContainerReadinessProbeHeader { + /** + * The HTTP Header Name. + */ + name: pulumi.Input; + /** + * The HTTP Header value. + */ + value: pulumi.Input; + } + + export interface JobTemplateContainerStartupProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: pulumi.Input; + /** + * A `header` block as detailed below. + */ + headers?: pulumi.Input[]>; + /** + * The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: pulumi.Input; + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + */ + intervalSeconds?: pulumi.Input; + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path?: pulumi.Input; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: pulumi.Input; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds?: pulumi.Input; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: pulumi.Input; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: pulumi.Input; + } + + export interface JobTemplateContainerStartupProbeHeader { + /** + * The HTTP Header Name. + */ + name: pulumi.Input; + /** + * The HTTP Header value. + */ + value: pulumi.Input; + } + + export interface JobTemplateContainerVolumeMount { + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + */ + name: pulumi.Input; + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + */ + path: pulumi.Input; + } + + export interface JobTemplateInitContainer { + /** + * A list of extra arguments to pass to the container. + */ + args?: pulumi.Input[]>; + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + */ + commands?: pulumi.Input[]>; + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + */ + cpu?: pulumi.Input; + /** + * One or more `env` blocks as detailed below. + */ + envs?: pulumi.Input[]>; + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + */ + ephemeralStorage?: pulumi.Input; + /** + * The image to use to create the container. + */ + image: pulumi.Input; + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + */ + memory?: pulumi.Input; + /** + * The name of the container. + */ + name: pulumi.Input; + /** + * A `volumeMounts` block as detailed below. + */ + volumeMounts?: pulumi.Input[]>; + } + + export interface JobTemplateInitContainerEnv { + /** + * The name of the environment variable. + */ + name: pulumi.Input; + /** + * Name of the Container App secret from which to pull the environment variable value. + */ + secretName?: pulumi.Input; + /** + * The value of the environment variable. + */ + value?: pulumi.Input; + } + + export interface JobTemplateInitContainerVolumeMount { + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + */ + name: pulumi.Input; + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + */ + path: pulumi.Input; + } + + export interface JobTemplateVolume { + /** + * The name of the volume. + */ + name: pulumi.Input; + /** + * The name of the storage to use for the volume. + */ + storageName?: pulumi.Input; + /** + * The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + */ + storageType?: pulumi.Input; + } } export namespace containerservice { @@ -26572,6 +27193,21 @@ export namespace datadog { } export namespace datafactory { + export interface CredentialServicePrincipalServicePrincipalKey { + /** + * The name of the Linked Service to use for the Service Principal Key. + */ + linkedServiceName: pulumi.Input; + /** + * The name of the Secret in the Key Vault. + */ + secretName: pulumi.Input; + /** + * The version of the Secret in the Key Vault. + */ + secretVersion?: pulumi.Input; + } + export interface CustomDatasetLinkedService { /** * The name of the Data Factory Linked Service. @@ -36620,6 +37256,44 @@ export namespace machinelearning { } export namespace maintenance { + export interface AssignmentDynamicScopeFilter { + /** + * Specifies a list of locations to scope the query to. + */ + locations?: pulumi.Input[]>; + /** + * Specifies a list of allowed operating systems. + */ + osTypes?: pulumi.Input[]>; + /** + * Specifies a list of allowed resource groups. + */ + resourceGroups?: pulumi.Input[]>; + /** + * Specifies a list of allowed resources. + */ + resourceTypes?: pulumi.Input[]>; + /** + * Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + */ + tagFilter?: pulumi.Input; + /** + * A mapping of tags for the VM + */ + tags?: pulumi.Input[]>; + } + + export interface AssignmentDynamicScopeFilterTag { + /** + * Specifies the tag to filter by. + */ + tag: pulumi.Input; + /** + * Specifies a list of values the defined tag can have. + */ + values: pulumi.Input[]>; + } + export interface ConfigurationInstallPatches { /** * A `linux` block as defined above. This property only applies when `scope` is set to `InGuestPatch` @@ -45219,6 +45893,8 @@ export namespace network { export interface VirtualNetworkEncryption { /** * Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. */ enforcement: pulumi.Input; } @@ -49898,6 +50574,12 @@ export namespace storage { * Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. */ days?: pulumi.Input; + /** + * Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. + */ + permanentDeleteEnabled?: pulumi.Input; } export interface AccountBlobPropertiesRestorePolicy { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 307591781e..571a8f5f4c 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5881,7 +5881,7 @@ export namespace appservice { */ loginParameters: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` */ tenantAuthEndpoint: string; /** @@ -6828,7 +6828,7 @@ export namespace appservice { */ loginParameters: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` */ tenantAuthEndpoint: string; /** @@ -7414,10 +7414,14 @@ export namespace appservice { * A `requests` block as defined above. */ requests: outputs.appservice.GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequest[]; + /** + * (Optional) One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths: outputs.appservice.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; /** * A `slowRequest` block as defined above. */ - slowRequests?: outputs.appservice.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest[]; + slowRequests: outputs.appservice.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest[]; /** * A `statusCode` block as defined above. */ @@ -7436,6 +7440,27 @@ export namespace appservice { } export interface GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path to which this rule status code applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path: string; + /** + * (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. */ @@ -7449,7 +7474,7 @@ export namespace appservice { */ path: string; /** - * The amount of time that qualifies as slow for this rule. + * (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. */ timeTaken: string; } @@ -7969,7 +7994,7 @@ export namespace appservice { */ loginParameters: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` */ tenantAuthEndpoint: string; /** @@ -8880,7 +8905,7 @@ export namespace appservice { */ loginParameters: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` */ tenantAuthEndpoint: string; /** @@ -9494,6 +9519,10 @@ export namespace appservice { * A `requests` block as defined above. */ requests: outputs.appservice.GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequest[]; + /** + * (Optional) One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths: outputs.appservice.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; /** * A `slowRequest` block as defined above. */ @@ -9526,10 +9555,31 @@ export namespace appservice { interval: string; /** * The path to which this rule status code applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. */ path: string; /** - * The amount of time that qualifies as slow for this rule. + * (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { + /** + * The number of occurrences of the defined `statusCode` in the specified `interval` on which to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path to which this rule status code applies. + */ + path: string; + /** + * (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. */ timeTaken: string; } @@ -10090,7 +10140,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -11092,7 +11144,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -12159,7 +12213,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -12779,7 +12835,11 @@ export namespace appservice { */ requests?: outputs.appservice.LinuxWebAppSiteConfigAutoHealSettingTriggerRequests; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: outputs.appservice.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; + /** + * A `slowRequest` blocks as defined above. */ slowRequests?: outputs.appservice.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest[]; /** @@ -12800,6 +12860,29 @@ export namespace appservice { } export interface LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path for which this slow request rule applies. + * + * > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: string; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -13301,7 +13384,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -13923,7 +14008,11 @@ export namespace appservice { */ requests?: outputs.appservice.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: outputs.appservice.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; + /** + * A `slowRequest` block as defined above. */ slowRequests?: outputs.appservice.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest[]; /** @@ -13944,6 +14033,29 @@ export namespace appservice { } export interface LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path for which this slow request rule applies. + * + * > **NOTE:** `path` in `slowRequest` block will be deprecated in 4.0 provider. Please use `slowRequestWithPath` to set a slow request trigger with path specified. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: string; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -15204,7 +15316,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -16165,7 +16279,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -17189,7 +17305,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -17864,7 +17982,11 @@ export namespace appservice { */ requests?: outputs.appservice.WindowsWebAppSiteConfigAutoHealSettingTriggerRequests; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: outputs.appservice.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; + /** + * A `slowRequest` block as defined above. */ slowRequests?: outputs.appservice.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest[]; /** @@ -17885,6 +18007,27 @@ export namespace appservice { } export interface WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path for which this slow request rule applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: string; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -18431,7 +18574,9 @@ export namespace appservice { */ loginParameters?: {[key: string]: string}; /** - * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + * The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + * + * > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. */ tenantAuthEndpoint: string; /** @@ -19098,7 +19243,11 @@ export namespace appservice { */ requests?: outputs.appservice.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests; /** - * One or more `slowRequest` blocks as defined above. + * One or more `slowRequestWithPath` blocks as defined above. + */ + slowRequestWithPaths?: outputs.appservice.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath[]; + /** + * A `slowRequest` block as defined above. */ slowRequests?: outputs.appservice.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest[]; /** @@ -19119,6 +19268,27 @@ export namespace appservice { } export interface WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest { + /** + * The number of Slow Requests in the time `interval` to trigger this rule. + */ + count: number; + /** + * The time interval in the form `hh:mm:ss`. + */ + interval: string; + /** + * The path for which this slow request rule applies. + * + * @deprecated `path` will be removed in `slowRequest` and please use `slowRequestWithPath` to set the path in version 4.0 of the AzureRM Provider. + */ + path?: string; + /** + * The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + */ + timeTaken: string; + } + + export interface WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath { /** * The number of Slow Requests in the time `interval` to trigger this rule. */ @@ -24987,6 +25157,10 @@ export namespace compute { } export interface LinuxVirtualMachineAdditionalCapabilities { + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + */ + hibernationEnabled?: boolean; /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. */ @@ -25025,7 +25199,7 @@ export namespace compute { */ configurationBlobUri?: string; /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. */ order?: number; /** @@ -25558,6 +25732,12 @@ export namespace compute { * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. */ maxUnhealthyUpgradedInstancePercent: number; + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + */ + maximumSurgeInstancesEnabled?: boolean; /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. */ @@ -27342,6 +27522,10 @@ export namespace compute { } export interface WindowsVirtualMachineAdditionalCapabilities { + /** + * Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + */ + hibernationEnabled?: boolean; /** * Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. */ @@ -27378,7 +27562,7 @@ export namespace compute { */ configurationBlobUri?: string; /** - * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + * Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. */ order?: number; /** @@ -27911,6 +28095,12 @@ export namespace compute { * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. */ maxUnhealthyUpgradedInstancePercent: number; + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + * + * > **NOTE:** `overprovision` must be set to `false` when `maximumSurgeInstancesEnabled` is specified. + */ + maximumSurgeInstancesEnabled?: boolean; /** * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. */ @@ -28135,6 +28325,7 @@ export namespace config { managedDisk?: outputs.config.FeaturesManagedDisk; postgresqlFlexibleServer?: outputs.config.FeaturesPostgresqlFlexibleServer; recoveryService?: outputs.config.FeaturesRecoveryService; + recoveryServicesVaults?: outputs.config.FeaturesRecoveryServicesVaults; resourceGroup?: outputs.config.FeaturesResourceGroup; subscription?: outputs.config.FeaturesSubscription; templateDeployment?: outputs.config.FeaturesTemplateDeployment; @@ -28220,6 +28411,10 @@ export namespace config { vmBackupStopProtectionAndRetainDataOnDestroy?: boolean; } + export interface FeaturesRecoveryServicesVaults { + recoverSoftDeletedBackupProtectedVm?: boolean; + } + export interface FeaturesResourceGroup { preventDeletionIfContainsResources?: boolean; } @@ -29061,8 +29256,6 @@ export namespace containerapp { * The value for this secret. * * !> **Note:** `value` will be ignored if `keyVaultSecretId` and `identity` are provided. - * - * !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. */ value?: string; } @@ -30176,6 +30369,485 @@ export namespace containerapp { storageType: string; } + export interface JobEventTriggerConfig { + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: number; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: number; + /** + * A `scale` block as defined below. + */ + scales?: outputs.containerapp.JobEventTriggerConfigScale[]; + } + + export interface JobEventTriggerConfigScale { + /** + * Maximum number of job executions that are created for a trigger. + */ + maxExecutions?: number; + /** + * Minimum number of job executions that are created for a trigger. + */ + minExecutions?: number; + /** + * Interval to check each event source in seconds. + */ + pollingIntervalInSeconds?: number; + /** + * A `rules` block as defined below. + */ + rules?: outputs.containerapp.JobEventTriggerConfigScaleRule[]; + } + + export interface JobEventTriggerConfigScaleRule { + /** + * A `authentication` block as defined below. + */ + authentications?: outputs.containerapp.JobEventTriggerConfigScaleRuleAuthentication[]; + /** + * Type of the scale rule. + */ + customRuleType: string; + /** + * Metadata properties to describe the scale rule. + */ + metadata: {[key: string]: string}; + /** + * Name of the scale rule. + */ + name: string; + } + + export interface JobEventTriggerConfigScaleRuleAuthentication { + /** + * Name of the secret from which to pull the auth params. + */ + secretName: string; + /** + * Trigger Parameter that uses the secret. + */ + triggerParameter: string; + } + + export interface JobIdentity { + /** + * A list of Managed Identity IDs to assign to the Container App Job. + */ + identityIds?: string[]; + principalId: string; + tenantId: string; + /** + * The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + */ + type: string; + } + + export interface JobManualTriggerConfig { + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: number; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: number; + } + + export interface JobRegistry { + /** + * A Managed Identity to use to authenticate with Azure Container Registry. + */ + identity?: string; + /** + * The name of the Secret that contains the registry login password. + */ + passwordSecretName?: string; + /** + * The URL of the Azure Container Registry server. + */ + server: string; + /** + * The username to use to authenticate with Azure Container Registry. + */ + username?: string; + } + + export interface JobScheduleTriggerConfig { + /** + * Cron formatted repeating schedule of a Cron Job. + */ + cronExpression: string; + /** + * Number of parallel replicas of a job that can run at a given time. + */ + parallelism?: number; + /** + * Minimum number of successful replica completions before overall job completion. + */ + replicaCompletionCount?: number; + } + + export interface JobSecret { + /** + * A `identity` block as defined below. + */ + identity?: string; + /** + * The Key Vault Secret ID. Could be either one of `id` or `versionlessId`. + */ + keyVaultSecretId?: string; + /** + * Name of the secret. + */ + name: string; + /** + * Value of the secret. + */ + value?: string; + } + + export interface JobTemplate { + /** + * A `container` block as defined below. + */ + containers: outputs.containerapp.JobTemplateContainer[]; + /** + * A `initContainer` block as defined below. + */ + initContainers?: outputs.containerapp.JobTemplateInitContainer[]; + /** + * A `volume` block as defined below. + */ + volumes?: outputs.containerapp.JobTemplateVolume[]; + } + + export interface JobTemplateContainer { + /** + * A list of extra arguments to pass to the container. + */ + args?: string[]; + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + */ + commands?: string[]; + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + */ + cpu: number; + /** + * One or more `env` blocks as detailed below. + */ + envs?: outputs.containerapp.JobTemplateContainerEnv[]; + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + */ + ephemeralStorage: string; + /** + * The image to use to create the container. + */ + image: string; + /** + * A `livenessProbe` block as detailed below. + */ + livenessProbes?: outputs.containerapp.JobTemplateContainerLivenessProbe[]; + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + */ + memory: string; + /** + * The name of the container. + */ + name: string; + /** + * A `readinessProbe` block as detailed below. + */ + readinessProbes?: outputs.containerapp.JobTemplateContainerReadinessProbe[]; + /** + * A `startupProbe` block as detailed below. + */ + startupProbes?: outputs.containerapp.JobTemplateContainerStartupProbe[]; + /** + * A `volumeMounts` block as detailed below. + */ + volumeMounts?: outputs.containerapp.JobTemplateContainerVolumeMount[]; + } + + export interface JobTemplateContainerEnv { + /** + * The name of the environment variable. + */ + name: string; + /** + * Name of the Container App secret from which to pull the environment variable value. + */ + secretName?: string; + /** + * The value of the environment variable. + */ + value?: string; + } + + export interface JobTemplateContainerLivenessProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: number; + /** + * A `header` block as detailed below. + */ + headers?: outputs.containerapp.JobTemplateContainerLivenessProbeHeader[]; + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: string; + /** + * The time in seconds to wait after the container has started before the probe is started. + */ + initialDelay?: number; + /** + * How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + */ + intervalSeconds?: number; + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path: string; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: number; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds: number; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: number; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: string; + } + + export interface JobTemplateContainerLivenessProbeHeader { + /** + * The HTTP Header Name. + */ + name: string; + /** + * The HTTP Header value. + */ + value: string; + } + + export interface JobTemplateContainerReadinessProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: number; + /** + * A `header` block as detailed below. + */ + headers?: outputs.containerapp.JobTemplateContainerReadinessProbeHeader[]; + /** + * The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: string; + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + */ + intervalSeconds?: number; + /** + * The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path: string; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: number; + /** + * The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + */ + successCountThreshold?: number; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: number; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: string; + } + + export interface JobTemplateContainerReadinessProbeHeader { + /** + * The HTTP Header Name. + */ + name: string; + /** + * The HTTP Header value. + */ + value: string; + } + + export interface JobTemplateContainerStartupProbe { + /** + * The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + */ + failureCountThreshold?: number; + /** + * A `header` block as detailed below. + */ + headers?: outputs.containerapp.JobTemplateContainerStartupProbeHeader[]; + /** + * The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + */ + host?: string; + /** + * How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + */ + intervalSeconds?: number; + /** + * The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + */ + path: string; + /** + * The port number on which to connect. Possible values are between `1` and `65535`. + */ + port: number; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds: number; + /** + * Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + */ + timeout?: number; + /** + * Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + */ + transport: string; + } + + export interface JobTemplateContainerStartupProbeHeader { + /** + * The HTTP Header Name. + */ + name: string; + /** + * The HTTP Header value. + */ + value: string; + } + + export interface JobTemplateContainerVolumeMount { + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + */ + name: string; + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + */ + path: string; + } + + export interface JobTemplateInitContainer { + /** + * A list of extra arguments to pass to the container. + */ + args?: string[]; + /** + * A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + */ + commands?: string[]; + /** + * The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + */ + cpu?: number; + /** + * One or more `env` blocks as detailed below. + */ + envs?: outputs.containerapp.JobTemplateInitContainerEnv[]; + /** + * The amount of ephemeral storage available to the Container App. + * + * > **NOTE:** `ephemeralStorage` is currently in preview and not configurable at this time. + */ + ephemeralStorage: string; + /** + * The image to use to create the container. + */ + image: string; + /** + * The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + * + * > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + */ + memory?: string; + /** + * The name of the container. + */ + name: string; + /** + * A `volumeMounts` block as detailed below. + */ + volumeMounts?: outputs.containerapp.JobTemplateInitContainerVolumeMount[]; + } + + export interface JobTemplateInitContainerEnv { + /** + * The name of the environment variable. + */ + name: string; + /** + * Name of the Container App secret from which to pull the environment variable value. + */ + secretName?: string; + /** + * The value of the environment variable. + */ + value?: string; + } + + export interface JobTemplateInitContainerVolumeMount { + /** + * The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + */ + name: string; + /** + * The path within the container at which the volume should be mounted. Must not contain `:`. + */ + path: string; + } + + export interface JobTemplateVolume { + /** + * The name of the volume. + */ + name: string; + /** + * The name of the storage to use for the volume. + */ + storageName?: string; + /** + * The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + */ + storageType?: string; + } + } export namespace containerservice { @@ -35115,6 +35787,21 @@ export namespace datadog { } export namespace datafactory { + export interface CredentialServicePrincipalServicePrincipalKey { + /** + * The name of the Linked Service to use for the Service Principal Key. + */ + linkedServiceName: string; + /** + * The name of the Secret in the Key Vault. + */ + secretName: string; + /** + * The version of the Secret in the Key Vault. + */ + secretVersion?: string; + } + export interface CustomDatasetLinkedService { /** * The name of the Data Factory Linked Service. @@ -46329,6 +47016,44 @@ export namespace machinelearning { } export namespace maintenance { + export interface AssignmentDynamicScopeFilter { + /** + * Specifies a list of locations to scope the query to. + */ + locations?: string[]; + /** + * Specifies a list of allowed operating systems. + */ + osTypes?: string[]; + /** + * Specifies a list of allowed resource groups. + */ + resourceGroups?: string[]; + /** + * Specifies a list of allowed resources. + */ + resourceTypes?: string[]; + /** + * Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + */ + tagFilter?: string; + /** + * A mapping of tags for the VM + */ + tags?: outputs.maintenance.AssignmentDynamicScopeFilterTag[]; + } + + export interface AssignmentDynamicScopeFilterTag { + /** + * Specifies the tag to filter by. + */ + tag: string; + /** + * Specifies a list of values the defined tag can have. + */ + values: string[]; + } + export interface ConfigurationInstallPatches { /** * A `linux` block as defined above. This property only applies when `scope` is set to `InGuestPatch` @@ -56698,6 +57423,36 @@ export namespace network { subnetId: string; } + export interface GetNetworkManagerConnectivityConfigurationAppliesToGroup { + /** + * Whether global mesh is supported. + */ + globalMeshEnabled: boolean; + /** + * The group connectivity type. + */ + groupConnectivity: string; + /** + * The ID of the Network Manager Network Group. + */ + networkGroupId: string; + /** + * Whether hub gateway is used. + */ + useHubGateway: boolean; + } + + export interface GetNetworkManagerConnectivityConfigurationHub { + /** + * The resource ID used as hub in Hub and Spoke topology. + */ + resourceId: string; + /** + * The resource type used as hub in Hub and Spoke topology. + */ + resourceType: string; + } + export interface GetNetworkManagerCrossTenantScope { /** * A list of management groups used as cross tenant scope for the Network Manager. @@ -58119,6 +58874,8 @@ export namespace network { export interface VirtualNetworkEncryption { /** * Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + * + * > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. */ enforcement: string; } @@ -63596,6 +64353,12 @@ export namespace storage { * Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. */ days?: number; + /** + * Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + * + * > **NOTE:** `permanentDeleteEnabled` cannot be set to true if a `restorePolicy` block is defined. + */ + permanentDeleteEnabled?: boolean; } export interface AccountBlobPropertiesRestorePolicy { diff --git a/sdk/python/pulumi_azure/__init__.py b/sdk/python/pulumi_azure/__init__.py index 92934d2016..e4dc5a9d6b 100644 --- a/sdk/python/pulumi_azure/__init__.py +++ b/sdk/python/pulumi_azure/__init__.py @@ -2257,6 +2257,14 @@ "azure:communication/service:Service": "Service" } }, + { + "pkg": "azure", + "mod": "compute/automanageConfigurationAssignment", + "fqn": "pulumi_azure.compute", + "classes": { + "azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment": "AutomanageConfigurationAssignment" + } + }, { "pkg": "azure", "mod": "compute/availabilitySet", @@ -2377,6 +2385,14 @@ "azure:compute/galleryApplication:GalleryApplication": "GalleryApplication" } }, + { + "pkg": "azure", + "mod": "compute/galleryApplicationAssignment", + "fqn": "pulumi_azure.compute", + "classes": { + "azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment": "GalleryApplicationAssignment" + } + }, { "pkg": "azure", "mod": "compute/galleryApplicationVersion", @@ -2609,6 +2625,14 @@ "azure:containerapp/environmentCertificate:EnvironmentCertificate": "EnvironmentCertificate" } }, + { + "pkg": "azure", + "mod": "containerapp/environmentCustomDomain", + "fqn": "pulumi_azure.containerapp", + "classes": { + "azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain": "EnvironmentCustomDomain" + } + }, { "pkg": "azure", "mod": "containerapp/environmentDaprComponent", @@ -2625,6 +2649,14 @@ "azure:containerapp/environmentStorage:EnvironmentStorage": "EnvironmentStorage" } }, + { + "pkg": "azure", + "mod": "containerapp/job", + "fqn": "pulumi_azure.containerapp", + "classes": { + "azure:containerapp/job:Job": "Job" + } + }, { "pkg": "azure", "mod": "containerservice/clusterTrustedAccessRoleBinding", @@ -3321,6 +3353,14 @@ "azure:datadog/monitorTagRule:MonitorTagRule": "MonitorTagRule" } }, + { + "pkg": "azure", + "mod": "datafactory/credentialServicePrincipal", + "fqn": "pulumi_azure.datafactory", + "classes": { + "azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal": "CredentialServicePrincipal" + } + }, { "pkg": "azure", "mod": "datafactory/credentialUserManagedIdentity", @@ -5425,6 +5465,14 @@ "azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost": "AssignmentDedicatedHost" } }, + { + "pkg": "azure", + "mod": "maintenance/assignmentDynamicScope", + "fqn": "pulumi_azure.maintenance", + "classes": { + "azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope": "AssignmentDynamicScope" + } + }, { "pkg": "azure", "mod": "maintenance/assignmentVirtualMachine", diff --git a/sdk/python/pulumi_azure/_inputs.py b/sdk/python/pulumi_azure/_inputs.py index 785845dec2..b15b8ba248 100644 --- a/sdk/python/pulumi_azure/_inputs.py +++ b/sdk/python/pulumi_azure/_inputs.py @@ -21,6 +21,7 @@ 'ProviderFeaturesManagedDiskArgs', 'ProviderFeaturesPostgresqlFlexibleServerArgs', 'ProviderFeaturesRecoveryServiceArgs', + 'ProviderFeaturesRecoveryServicesVaultsArgs', 'ProviderFeaturesResourceGroupArgs', 'ProviderFeaturesSubscriptionArgs', 'ProviderFeaturesTemplateDeploymentArgs', @@ -41,6 +42,7 @@ def __init__(__self__, *, managed_disk: Optional[pulumi.Input['ProviderFeaturesManagedDiskArgs']] = None, postgresql_flexible_server: Optional[pulumi.Input['ProviderFeaturesPostgresqlFlexibleServerArgs']] = None, recovery_service: Optional[pulumi.Input['ProviderFeaturesRecoveryServiceArgs']] = None, + recovery_services_vaults: Optional[pulumi.Input['ProviderFeaturesRecoveryServicesVaultsArgs']] = None, resource_group: Optional[pulumi.Input['ProviderFeaturesResourceGroupArgs']] = None, subscription: Optional[pulumi.Input['ProviderFeaturesSubscriptionArgs']] = None, template_deployment: Optional[pulumi.Input['ProviderFeaturesTemplateDeploymentArgs']] = None, @@ -66,6 +68,8 @@ def __init__(__self__, *, pulumi.set(__self__, "postgresql_flexible_server", postgresql_flexible_server) if recovery_service is not None: pulumi.set(__self__, "recovery_service", recovery_service) + if recovery_services_vaults is not None: + pulumi.set(__self__, "recovery_services_vaults", recovery_services_vaults) if resource_group is not None: pulumi.set(__self__, "resource_group", resource_group) if subscription is not None: @@ -167,6 +171,15 @@ def recovery_service(self) -> Optional[pulumi.Input['ProviderFeaturesRecoverySer def recovery_service(self, value: Optional[pulumi.Input['ProviderFeaturesRecoveryServiceArgs']]): pulumi.set(self, "recovery_service", value) + @property + @pulumi.getter(name="recoveryServicesVaults") + def recovery_services_vaults(self) -> Optional[pulumi.Input['ProviderFeaturesRecoveryServicesVaultsArgs']]: + return pulumi.get(self, "recovery_services_vaults") + + @recovery_services_vaults.setter + def recovery_services_vaults(self, value: Optional[pulumi.Input['ProviderFeaturesRecoveryServicesVaultsArgs']]): + pulumi.set(self, "recovery_services_vaults", value) + @property @pulumi.getter(name="resourceGroup") def resource_group(self) -> Optional[pulumi.Input['ProviderFeaturesResourceGroupArgs']]: @@ -553,6 +566,23 @@ def vm_backup_stop_protection_and_retain_data_on_destroy(self, value: Optional[p pulumi.set(self, "vm_backup_stop_protection_and_retain_data_on_destroy", value) +@pulumi.input_type +class ProviderFeaturesRecoveryServicesVaultsArgs: + def __init__(__self__, *, + recover_soft_deleted_backup_protected_vm: Optional[pulumi.Input[bool]] = None): + if recover_soft_deleted_backup_protected_vm is not None: + pulumi.set(__self__, "recover_soft_deleted_backup_protected_vm", recover_soft_deleted_backup_protected_vm) + + @property + @pulumi.getter(name="recoverSoftDeletedBackupProtectedVm") + def recover_soft_deleted_backup_protected_vm(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "recover_soft_deleted_backup_protected_vm") + + @recover_soft_deleted_backup_protected_vm.setter + def recover_soft_deleted_backup_protected_vm(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "recover_soft_deleted_backup_protected_vm", value) + + @pulumi.input_type class ProviderFeaturesResourceGroupArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/appservice/_inputs.py b/sdk/python/pulumi_azure/appservice/_inputs.py index a792d2d5b9..99ca34d513 100644 --- a/sdk/python/pulumi_azure/appservice/_inputs.py +++ b/sdk/python/pulumi_azure/appservice/_inputs.py @@ -177,6 +177,7 @@ 'LinuxWebAppSiteConfigAutoHealSettingTriggerArgs', 'LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs', 'LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs', + 'LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs', 'LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs', 'LinuxWebAppSiteConfigCorsArgs', 'LinuxWebAppSiteConfigIpRestrictionArgs', @@ -219,6 +220,7 @@ 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs', + 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs', 'LinuxWebAppSlotSiteConfigCorsArgs', 'LinuxWebAppSlotSiteConfigIpRestrictionArgs', @@ -362,6 +364,7 @@ 'WindowsWebAppSiteConfigAutoHealSettingTriggerArgs', 'WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs', 'WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs', + 'WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs', 'WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs', 'WindowsWebAppSiteConfigCorsArgs', 'WindowsWebAppSiteConfigHandlerMappingArgs', @@ -408,6 +411,7 @@ 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs', + 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs', 'WindowsWebAppSlotSiteConfigCorsArgs', 'WindowsWebAppSlotSiteConfigHandlerMappingArgs', @@ -7163,7 +7167,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -7218,7 +7224,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -10865,7 +10873,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -10920,7 +10930,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -14810,7 +14822,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -14865,7 +14879,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -17238,15 +17254,19 @@ def minimum_process_execution_time(self, value: Optional[pulumi.Input[str]]): class LinuxWebAppSiteConfigAutoHealSettingTriggerArgs: def __init__(__self__, *, requests: Optional[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs']] = None, + slow_request_with_paths: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]] = None, slow_requests: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]] = None, status_codes: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs']]]] = None): """ :param pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs'] requests: A `requests` block as defined above. - :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: One or more `slow_request` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: A `slow_request` blocks as defined above. :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs']]] status_codes: One or more `status_code` blocks as defined above. """ if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -17264,11 +17284,23 @@ def requests(self) -> Optional[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettin def requests(self, value: Optional[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs']]): pulumi.set(self, "requests", value) + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + + @slow_request_with_paths.setter + def slow_request_with_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]): + pulumi.set(self, "slow_request_with_paths", value) + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` blocks as defined above. """ return pulumi.get(self, "slow_requests") @@ -17328,6 +17360,84 @@ def interval(self, value: pulumi.Input[str]): @pulumi.input_type class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + interval: pulumi.Input[str], + time_taken: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] count: The number of Slow Requests in the time `interval` to trigger this rule. + :param pulumi.Input[str] interval: The time interval in the form `hh:mm:ss`. + :param pulumi.Input[str] time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param pulumi.Input[str] path: The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def interval(self) -> pulumi.Input[str]: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: pulumi.Input[str]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> pulumi.Input[str]: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @time_taken.setter + def time_taken(self, value: pulumi.Input[str]): + pulumi.set(self, "time_taken", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs: def __init__(__self__, *, count: pulumi.Input[int], interval: pulumi.Input[str], @@ -19041,7 +19151,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -19096,7 +19208,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -21481,15 +21595,19 @@ def minimum_process_execution_time(self, value: Optional[pulumi.Input[str]]): class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerArgs: def __init__(__self__, *, requests: Optional[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs']] = None, + slow_request_with_paths: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]] = None, slow_requests: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]] = None, status_codes: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs']]]] = None): """ :param pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs'] requests: A `requests` block as defined above. - :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: One or more `slow_request` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: A `slow_request` block as defined above. :param pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs']]] status_codes: One or more `status_code` blocks as defined above. """ if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -21507,11 +21625,23 @@ def requests(self) -> Optional[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSe def requests(self, value: Optional[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs']]): pulumi.set(self, "requests", value) + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + + @slow_request_with_paths.setter + def slow_request_with_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]): + pulumi.set(self, "slow_request_with_paths", value) + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -21571,6 +21701,84 @@ def interval(self, value: pulumi.Input[str]): @pulumi.input_type class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + interval: pulumi.Input[str], + time_taken: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] count: The number of Slow Requests in the time `interval` to trigger this rule. + :param pulumi.Input[str] interval: The time interval in the form `hh:mm:ss`. + :param pulumi.Input[str] time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param pulumi.Input[str] path: The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def interval(self) -> pulumi.Input[str]: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: pulumi.Input[str]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> pulumi.Input[str]: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @time_taken.setter + def time_taken(self, value: pulumi.Input[str]): + pulumi.set(self, "time_taken", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs: def __init__(__self__, *, count: pulumi.Input[int], interval: pulumi.Input[str], @@ -26074,7 +26282,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -26129,7 +26339,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -29624,7 +29836,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -29679,7 +29893,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -33413,7 +33629,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -33468,7 +33686,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -36028,18 +36248,22 @@ class WindowsWebAppSiteConfigAutoHealSettingTriggerArgs: def __init__(__self__, *, private_memory_kb: Optional[pulumi.Input[int]] = None, requests: Optional[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs']] = None, + slow_request_with_paths: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]] = None, slow_requests: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]] = None, status_codes: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs']]]] = None): """ :param pulumi.Input[int] private_memory_kb: The amount of Private Memory to be consumed for this rule to trigger. Possible values are between `102400` and `13631488`. :param pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs'] requests: A `requests` block as defined above. - :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: One or more `slow_request` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: A `slow_request` block as defined above. :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs']]] status_codes: One or more `status_code` blocks as defined above. """ if private_memory_kb is not None: pulumi.set(__self__, "private_memory_kb", private_memory_kb) if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -36069,11 +36293,23 @@ def requests(self) -> Optional[pulumi.Input['WindowsWebAppSiteConfigAutoHealSett def requests(self, value: Optional[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs']]): pulumi.set(self, "requests", value) + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + + @slow_request_with_paths.setter + def slow_request_with_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]): + pulumi.set(self, "slow_request_with_paths", value) + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -36133,6 +36369,80 @@ def interval(self, value: pulumi.Input[str]): @pulumi.input_type class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + interval: pulumi.Input[str], + time_taken: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] count: The number of Slow Requests in the time `interval` to trigger this rule. + :param pulumi.Input[str] interval: The time interval in the form `hh:mm:ss`. + :param pulumi.Input[str] time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param pulumi.Input[str] path: The path for which this slow request rule applies. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def interval(self) -> pulumi.Input[str]: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: pulumi.Input[str]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> pulumi.Input[str]: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @time_taken.setter + def time_taken(self, value: pulumi.Input[str]): + pulumi.set(self, "time_taken", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path for which this slow request rule applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs: def __init__(__self__, *, count: pulumi.Input[int], interval: pulumi.Input[str], @@ -38006,7 +38316,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param pulumi.Input[str] tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -38061,7 +38373,9 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> pulumi.Input[str]: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -40603,18 +40917,22 @@ class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerArgs: def __init__(__self__, *, private_memory_kb: Optional[pulumi.Input[int]] = None, requests: Optional[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs']] = None, + slow_request_with_paths: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]] = None, slow_requests: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]] = None, status_codes: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs']]]] = None): """ :param pulumi.Input[int] private_memory_kb: The amount of Private Memory to be consumed for this rule to trigger. Possible values are between `102400` and `13631488`. :param pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs'] requests: A `requests` block as defined above. - :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: One or more `slow_request` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]] slow_requests: A `slow_request` block as defined above. :param pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs']]] status_codes: One or more `status_code` blocks as defined above. """ if private_memory_kb is not None: pulumi.set(__self__, "private_memory_kb", private_memory_kb) if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -40644,11 +40962,23 @@ def requests(self) -> Optional[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHeal def requests(self, value: Optional[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs']]): pulumi.set(self, "requests", value) + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + + @slow_request_with_paths.setter + def slow_request_with_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs']]]]): + pulumi.set(self, "slow_request_with_paths", value) + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs']]]]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -40708,6 +41038,80 @@ def interval(self, value: pulumi.Input[str]): @pulumi.input_type class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + interval: pulumi.Input[str], + time_taken: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] count: The number of Slow Requests in the time `interval` to trigger this rule. + :param pulumi.Input[str] interval: The time interval in the form `hh:mm:ss`. + :param pulumi.Input[str] time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param pulumi.Input[str] path: The path for which this slow request rule applies. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def interval(self) -> pulumi.Input[str]: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: pulumi.Input[str]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> pulumi.Input[str]: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @time_taken.setter + def time_taken(self, value: pulumi.Input[str]): + pulumi.set(self, "time_taken", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The path for which this slow request rule applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs: def __init__(__self__, *, count: pulumi.Input[int], interval: pulumi.Input[str], diff --git a/sdk/python/pulumi_azure/appservice/outputs.py b/sdk/python/pulumi_azure/appservice/outputs.py index 262de944bb..8a28a9ab90 100644 --- a/sdk/python/pulumi_azure/appservice/outputs.py +++ b/sdk/python/pulumi_azure/appservice/outputs.py @@ -178,6 +178,7 @@ 'LinuxWebAppSiteConfigAutoHealSettingTrigger', 'LinuxWebAppSiteConfigAutoHealSettingTriggerRequests', 'LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest', + 'LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath', 'LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode', 'LinuxWebAppSiteConfigCors', 'LinuxWebAppSiteConfigIpRestriction', @@ -220,6 +221,7 @@ 'LinuxWebAppSlotSiteConfigAutoHealSettingTrigger', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest', + 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath', 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode', 'LinuxWebAppSlotSiteConfigCors', 'LinuxWebAppSlotSiteConfigIpRestriction', @@ -363,6 +365,7 @@ 'WindowsWebAppSiteConfigAutoHealSettingTrigger', 'WindowsWebAppSiteConfigAutoHealSettingTriggerRequests', 'WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest', + 'WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath', 'WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode', 'WindowsWebAppSiteConfigCors', 'WindowsWebAppSiteConfigHandlerMapping', @@ -409,6 +412,7 @@ 'WindowsWebAppSlotSiteConfigAutoHealSettingTrigger', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest', + 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath', 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode', 'WindowsWebAppSlotSiteConfigCors', 'WindowsWebAppSlotSiteConfigHandlerMapping', @@ -514,6 +518,7 @@ 'GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult', 'GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestResult', 'GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult', + 'GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult', 'GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult', 'GetLinuxWebAppSiteConfigCorResult', 'GetLinuxWebAppSiteConfigIpRestrictionResult', @@ -593,6 +598,7 @@ 'GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult', 'GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestResult', 'GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult', + 'GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult', 'GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult', 'GetWindowsWebAppSiteConfigCorResult', 'GetWindowsWebAppSiteConfigHandlerMappingResult', @@ -7386,7 +7392,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -7437,7 +7445,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -11050,7 +11060,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -11101,7 +11113,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -14964,7 +14978,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -15015,7 +15031,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -17372,7 +17390,9 @@ class LinuxWebAppSiteConfigAutoHealSettingTrigger(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "slowRequests": + if key == "slowRequestWithPaths": + suggest = "slow_request_with_paths" + elif key == "slowRequests": suggest = "slow_requests" elif key == "statusCodes": suggest = "status_codes" @@ -17390,15 +17410,19 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, requests: Optional['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerRequests'] = None, + slow_request_with_paths: Optional[Sequence['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath']] = None, slow_requests: Optional[Sequence['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest']] = None, status_codes: Optional[Sequence['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCode']] = None): """ :param 'LinuxWebAppSiteConfigAutoHealSettingTriggerRequestsArgs' requests: A `requests` block as defined above. - :param Sequence['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: One or more `slow_request` blocks as defined above. + :param Sequence['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param Sequence['LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` blocks as defined above. :param Sequence['LinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: One or more `status_code` blocks as defined above. """ if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -17412,11 +17436,19 @@ def requests(self) -> Optional['outputs.LinuxWebAppSiteConfigAutoHealSettingTrig """ return pulumi.get(self, "requests") + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[Sequence['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath']]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[Sequence['outputs.LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest']]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` blocks as defined above. """ return pulumi.get(self, "slow_requests") @@ -17477,6 +17509,82 @@ def get(self, key: str, default = None) -> Any: LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequest.__key_warning(key) return super().get(key, default) + def __init__(__self__, *, + count: int, + interval: str, + time_taken: str, + path: Optional[str] = None): + """ + :param int count: The number of Slow Requests in the time `interval` to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param str path: The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + +@pulumi.output_type +class LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeTaken": + suggest = "time_taken" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, count: int, interval: str, @@ -19189,7 +19297,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -19240,7 +19350,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -21607,7 +21719,9 @@ class LinuxWebAppSlotSiteConfigAutoHealSettingTrigger(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "slowRequests": + if key == "slowRequestWithPaths": + suggest = "slow_request_with_paths" + elif key == "slowRequests": suggest = "slow_requests" elif key == "statusCodes": suggest = "status_codes" @@ -21625,15 +21739,19 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, requests: Optional['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequests'] = None, + slow_request_with_paths: Optional[Sequence['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath']] = None, slow_requests: Optional[Sequence['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest']] = None, status_codes: Optional[Sequence['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode']] = None): """ :param 'LinuxWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs' requests: A `requests` block as defined above. - :param Sequence['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: One or more `slow_request` blocks as defined above. + :param Sequence['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param Sequence['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` block as defined above. :param Sequence['LinuxWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: One or more `status_code` blocks as defined above. """ if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -21647,11 +21765,19 @@ def requests(self) -> Optional['outputs.LinuxWebAppSlotSiteConfigAutoHealSetting """ return pulumi.get(self, "requests") + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[Sequence['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath']]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[Sequence['outputs.LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest']]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -21712,6 +21838,82 @@ def get(self, key: str, default = None) -> Any: LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest.__key_warning(key) return super().get(key, default) + def __init__(__self__, *, + count: int, + interval: str, + time_taken: str, + path: Optional[str] = None): + """ + :param int count: The number of Slow Requests in the time `interval` to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param str path: The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path for which this slow request rule applies. + + > **NOTE:** `path` in `slow_request` block will be deprecated in 4.0 provider. Please use `slow_request_with_path` to set a slow request trigger with path specified. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + +@pulumi.output_type +class LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeTaken": + suggest = "time_taken" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, count: int, interval: str, @@ -26289,7 +26491,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -26340,7 +26544,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -29806,7 +30012,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -29857,7 +30065,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -33569,7 +33779,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -33620,7 +33832,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -36133,6 +36347,8 @@ def __key_warning(key: str): suggest = None if key == "privateMemoryKb": suggest = "private_memory_kb" + elif key == "slowRequestWithPaths": + suggest = "slow_request_with_paths" elif key == "slowRequests": suggest = "slow_requests" elif key == "statusCodes": @@ -36152,18 +36368,22 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, private_memory_kb: Optional[int] = None, requests: Optional['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerRequests'] = None, + slow_request_with_paths: Optional[Sequence['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath']] = None, slow_requests: Optional[Sequence['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest']] = None, status_codes: Optional[Sequence['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCode']] = None): """ :param int private_memory_kb: The amount of Private Memory to be consumed for this rule to trigger. Possible values are between `102400` and `13631488`. :param 'WindowsWebAppSiteConfigAutoHealSettingTriggerRequestsArgs' requests: A `requests` block as defined above. - :param Sequence['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: One or more `slow_request` blocks as defined above. + :param Sequence['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param Sequence['WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` block as defined above. :param Sequence['WindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: One or more `status_code` blocks as defined above. """ if private_memory_kb is not None: pulumi.set(__self__, "private_memory_kb", private_memory_kb) if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -36185,11 +36405,19 @@ def requests(self) -> Optional['outputs.WindowsWebAppSiteConfigAutoHealSettingTr """ return pulumi.get(self, "requests") + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[Sequence['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath']]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[Sequence['outputs.WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequest']]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -36291,6 +36519,78 @@ def time_taken(self) -> str: """ return pulumi.get(self, "time_taken") + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path for which this slow request rule applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + +@pulumi.output_type +class WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeTaken": + suggest = "time_taken" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + interval: str, + time_taken: str, + path: Optional[str] = None): + """ + :param int count: The number of Slow Requests in the time `interval` to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param str path: The path for which this slow request rule applies. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + @property @pulumi.getter def path(self) -> Optional[str]: @@ -38143,7 +38443,9 @@ def __init__(__self__, *, www_authentication_disabled: Optional[bool] = None): """ :param str client_id: The ID of the Client to use to authenticate with Azure Active Directory. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. :param Sequence[str] allowed_applications: The list of allowed Applications for the Default Authorisation Policy. :param Sequence[str] allowed_audiences: Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory. @@ -38194,7 +38496,9 @@ def client_id(self) -> str: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` + + > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions. """ return pulumi.get(self, "tenant_auth_endpoint") @@ -40689,6 +40993,8 @@ def __key_warning(key: str): suggest = None if key == "privateMemoryKb": suggest = "private_memory_kb" + elif key == "slowRequestWithPaths": + suggest = "slow_request_with_paths" elif key == "slowRequests": suggest = "slow_requests" elif key == "statusCodes": @@ -40708,18 +41014,22 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, private_memory_kb: Optional[int] = None, requests: Optional['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequests'] = None, + slow_request_with_paths: Optional[Sequence['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath']] = None, slow_requests: Optional[Sequence['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest']] = None, status_codes: Optional[Sequence['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCode']] = None): """ :param int private_memory_kb: The amount of Private Memory to be consumed for this rule to trigger. Possible values are between `102400` and `13631488`. :param 'WindowsWebAppSlotSiteConfigAutoHealSettingTriggerRequestsArgs' requests: A `requests` block as defined above. - :param Sequence['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: One or more `slow_request` blocks as defined above. + :param Sequence['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: One or more `slow_request_with_path` blocks as defined above. + :param Sequence['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` block as defined above. :param Sequence['WindowsWebAppSlotSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: One or more `status_code` blocks as defined above. """ if private_memory_kb is not None: pulumi.set(__self__, "private_memory_kb", private_memory_kb) if requests is not None: pulumi.set(__self__, "requests", requests) + if slow_request_with_paths is not None: + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) if slow_requests is not None: pulumi.set(__self__, "slow_requests", slow_requests) if status_codes is not None: @@ -40741,11 +41051,19 @@ def requests(self) -> Optional['outputs.WindowsWebAppSlotSiteConfigAutoHealSetti """ return pulumi.get(self, "requests") + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Optional[Sequence['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath']]: + """ + One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Optional[Sequence['outputs.WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequest']]: """ - One or more `slow_request` blocks as defined above. + A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") @@ -40847,6 +41165,78 @@ def time_taken(self) -> str: """ return pulumi.get(self, "time_taken") + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The path for which this slow request rule applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + +@pulumi.output_type +class WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeTaken": + suggest = "time_taken" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WindowsWebAppSlotSiteConfigAutoHealSettingTriggerSlowRequestWithPath.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + interval: str, + time_taken: str, + path: Optional[str] = None): + """ + :param int count: The number of Slow Requests in the time `interval` to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str time_taken: The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + :param str path: The path for which this slow request rule applies. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "time_taken", time_taken) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of Slow Requests in the time `interval` to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + @property @pulumi.getter def path(self) -> Optional[str]: @@ -44173,7 +44563,7 @@ def __init__(__self__, *, :param Sequence[str] jwt_allowed_client_applications: The list of Allowed Client Applications in the JWT Claim. :param Sequence[str] jwt_allowed_groups: The list of Allowed Groups in the JWT Claim. :param Mapping[str, str] login_parameters: A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` :param bool www_authentication_disabled: Is the www-authenticate provider omitted from the request? """ pulumi.set(__self__, "allowed_applications", allowed_applications) @@ -44273,7 +44663,7 @@ def login_parameters(self) -> Mapping[str, str]: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` """ return pulumi.get(self, "tenant_auth_endpoint") @@ -46754,7 +47144,7 @@ def __init__(__self__, *, :param Sequence[str] jwt_allowed_client_applications: The list of Allowed Client Applications in the JWT Claim. :param Sequence[str] jwt_allowed_groups: The list of Allowed Groups in the JWT Claim. :param Mapping[str, str] login_parameters: A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` :param bool www_authentication_disabled: Is the www-authenticate provider omitted from the request? """ pulumi.set(__self__, "allowed_applications", allowed_applications) @@ -46854,7 +47244,7 @@ def login_parameters(self) -> Mapping[str, str]: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` """ return pulumi.get(self, "tenant_auth_endpoint") @@ -48428,17 +48818,19 @@ def minimum_process_execution_time(self) -> str: class GetLinuxWebAppSiteConfigAutoHealSettingTriggerResult(dict): def __init__(__self__, *, requests: Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestResult'], - status_codes: Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult'], - slow_requests: Optional[Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult']] = None): + slow_request_with_paths: Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult'], + slow_requests: Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult'], + status_codes: Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult']): """ :param Sequence['GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestArgs'] requests: A `requests` block as defined above. - :param Sequence['GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: A `status_code` block as defined above. + :param Sequence['GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: (Optional) One or more `slow_request_with_path` blocks as defined above. :param Sequence['GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` block as defined above. + :param Sequence['GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: A `status_code` block as defined above. """ pulumi.set(__self__, "requests", requests) + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) + pulumi.set(__self__, "slow_requests", slow_requests) pulumi.set(__self__, "status_codes", status_codes) - if slow_requests is not None: - pulumi.set(__self__, "slow_requests", slow_requests) @property @pulumi.getter @@ -48449,21 +48841,29 @@ def requests(self) -> Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingT return pulumi.get(self, "requests") @property - @pulumi.getter(name="statusCodes") - def status_codes(self) -> Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult']: + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult']: """ - A `status_code` block as defined above. + (Optional) One or more `slow_request_with_path` blocks as defined above. """ - return pulumi.get(self, "status_codes") + return pulumi.get(self, "slow_request_with_paths") @property @pulumi.getter(name="slowRequests") - def slow_requests(self) -> Optional[Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult']]: + def slow_requests(self) -> Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult']: """ A `slow_request` block as defined above. """ return pulumi.get(self, "slow_requests") + @property + @pulumi.getter(name="statusCodes") + def status_codes(self) -> Sequence['outputs.GetLinuxWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult']: + """ + A `status_code` block as defined above. + """ + return pulumi.get(self, "status_codes") + @pulumi.output_type class GetLinuxWebAppSiteConfigAutoHealSettingTriggerRequestResult(dict): @@ -48505,7 +48905,61 @@ def __init__(__self__, *, :param int count: The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. :param str interval: The time interval in the form `hh:mm:ss`. :param str path: The path to which this rule status code applies. - :param str time_taken: The amount of time that qualifies as slow for this rule. + :param str time_taken: (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "time_taken", time_taken) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter + def path(self) -> str: + """ + The path to which this rule status code applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + +@pulumi.output_type +class GetLinuxWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult(dict): + def __init__(__self__, *, + count: int, + interval: str, + path: str, + time_taken: str): + """ + :param int count: The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str path: The path to which this rule status code applies. + :param str time_taken: (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. """ pulumi.set(__self__, "count", count) pulumi.set(__self__, "interval", interval) @@ -48540,7 +48994,7 @@ def path(self) -> str: @pulumi.getter(name="timeTaken") def time_taken(self) -> str: """ - The amount of time that qualifies as slow for this rule. + (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. """ return pulumi.get(self, "time_taken") @@ -49865,7 +50319,7 @@ def __init__(__self__, *, :param Sequence[str] jwt_allowed_client_applications: The list of Allowed Client Applications in the JWT Claim. :param Sequence[str] jwt_allowed_groups: The list of Allowed Groups in the JWT Claim. :param Mapping[str, str] login_parameters: A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` :param bool www_authentication_disabled: Is the www-authenticate provider omitted from the request? """ pulumi.set(__self__, "allowed_applications", allowed_applications) @@ -49965,7 +50419,7 @@ def login_parameters(self) -> Mapping[str, str]: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` """ return pulumi.get(self, "tenant_auth_endpoint") @@ -52343,7 +52797,7 @@ def __init__(__self__, *, :param Sequence[str] jwt_allowed_client_applications: The list of Allowed Client Applications in the JWT Claim. :param Sequence[str] jwt_allowed_groups: The list of Allowed Groups in the JWT Claim. :param Mapping[str, str] login_parameters: A map of key-value pairs sent to the Authorisation Endpoint when a user logs in. - :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + :param str tenant_auth_endpoint: The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` :param bool www_authentication_disabled: Is the www-authenticate provider omitted from the request? """ pulumi.set(__self__, "allowed_applications", allowed_applications) @@ -52443,7 +52897,7 @@ def login_parameters(self) -> Mapping[str, str]: @pulumi.getter(name="tenantAuthEndpoint") def tenant_auth_endpoint(self) -> str: """ - The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/` + The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/` """ return pulumi.get(self, "tenant_auth_endpoint") @@ -54104,16 +54558,19 @@ class GetWindowsWebAppSiteConfigAutoHealSettingTriggerResult(dict): def __init__(__self__, *, private_memory_kb: int, requests: Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestResult'], + slow_request_with_paths: Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult'], slow_requests: Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult'], status_codes: Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeResult']): """ :param int private_memory_kb: The amount of Private Memory used. :param Sequence['GetWindowsWebAppSiteConfigAutoHealSettingTriggerRequestArgs'] requests: A `requests` block as defined above. + :param Sequence['GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathArgs'] slow_request_with_paths: (Optional) One or more `slow_request_with_path` blocks as defined above. :param Sequence['GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestArgs'] slow_requests: A `slow_request` block as defined above. :param Sequence['GetWindowsWebAppSiteConfigAutoHealSettingTriggerStatusCodeArgs'] status_codes: A `status_code` block as defined above. """ pulumi.set(__self__, "private_memory_kb", private_memory_kb) pulumi.set(__self__, "requests", requests) + pulumi.set(__self__, "slow_request_with_paths", slow_request_with_paths) pulumi.set(__self__, "slow_requests", slow_requests) pulumi.set(__self__, "status_codes", status_codes) @@ -54133,6 +54590,14 @@ def requests(self) -> Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettin """ return pulumi.get(self, "requests") + @property + @pulumi.getter(name="slowRequestWithPaths") + def slow_request_with_paths(self) -> Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult']: + """ + (Optional) One or more `slow_request_with_path` blocks as defined above. + """ + return pulumi.get(self, "slow_request_with_paths") + @property @pulumi.getter(name="slowRequests") def slow_requests(self) -> Sequence['outputs.GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestResult']: @@ -54190,7 +54655,61 @@ def __init__(__self__, *, :param int count: The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. :param str interval: The time interval in the form `hh:mm:ss`. :param str path: The path to which this rule status code applies. - :param str time_taken: The amount of time that qualifies as slow for this rule. + :param str time_taken: (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "time_taken", time_taken) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> str: + """ + The time interval in the form `hh:mm:ss`. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter + def path(self) -> str: + """ + The path to which this rule status code applies. + """ + warnings.warn("""`path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""path is deprecated: `path` will be removed in `slow_request` and please use `slow_request_with_path` to set the path in version 4.0 of the AzureRM Provider.""") + + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="timeTaken") + def time_taken(self) -> str: + """ + (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. + """ + return pulumi.get(self, "time_taken") + + +@pulumi.output_type +class GetWindowsWebAppSiteConfigAutoHealSettingTriggerSlowRequestWithPathResult(dict): + def __init__(__self__, *, + count: int, + interval: str, + path: str, + time_taken: str): + """ + :param int count: The number of occurrences of the defined `status_code` in the specified `interval` on which to trigger this rule. + :param str interval: The time interval in the form `hh:mm:ss`. + :param str path: The path to which this rule status code applies. + :param str time_taken: (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. """ pulumi.set(__self__, "count", count) pulumi.set(__self__, "interval", interval) @@ -54225,7 +54744,7 @@ def path(self) -> str: @pulumi.getter(name="timeTaken") def time_taken(self) -> str: """ - The amount of time that qualifies as slow for this rule. + (Required) The threshold of time passed to qualify as a Slow Request in `hh:mm:ss`. """ return pulumi.get(self, "time_taken") diff --git a/sdk/python/pulumi_azure/compute/__init__.py b/sdk/python/pulumi_azure/compute/__init__.py index 2f22cafe2b..747bda7fc3 100644 --- a/sdk/python/pulumi_azure/compute/__init__.py +++ b/sdk/python/pulumi_azure/compute/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .automanage_configuration_assignment import * from .availability_set import * from .bastion_host import * from .capacity_reservation import * @@ -20,6 +21,7 @@ from .disk_pool_managed_disk_attachment import * from .extension import * from .gallery_application import * +from .gallery_application_assignment import * from .gallery_application_version import * from .get_availability_set import * from .get_bastion_host import * diff --git a/sdk/python/pulumi_azure/compute/_inputs.py b/sdk/python/pulumi_azure/compute/_inputs.py index d98644537d..95a940d23d 100644 --- a/sdk/python/pulumi_azure/compute/_inputs.py +++ b/sdk/python/pulumi_azure/compute/_inputs.py @@ -759,13 +759,29 @@ def size_gb(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type class LinuxVirtualMachineAdditionalCapabilitiesArgs: def __init__(__self__, *, + hibernation_enabled: Optional[pulumi.Input[bool]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None): """ + :param pulumi.Input[bool] hibernation_enabled: Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. :param pulumi.Input[bool] ultra_ssd_enabled: Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + """ + return pulumi.get(self, "hibernation_enabled") + + @hibernation_enabled.setter + def hibernation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hibernation_enabled", value) + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -860,7 +876,7 @@ def __init__(__self__, *, :param pulumi.Input[str] version_id: Specifies the Gallery Application Version resource ID. :param pulumi.Input[bool] automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. - :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. :param pulumi.Input[bool] treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ @@ -916,7 +932,7 @@ def configuration_blob_uri(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def order(self) -> Optional[pulumi.Input[int]]: """ - Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. """ return pulumi.get(self, "order") @@ -2709,6 +2725,7 @@ def __init__(__self__, *, max_unhealthy_upgraded_instance_percent: pulumi.Input[int], pause_time_between_batches: pulumi.Input[str], cross_zone_upgrades_enabled: Optional[pulumi.Input[bool]] = None, + maximum_surge_instances_enabled: Optional[pulumi.Input[bool]] = None, prioritize_unhealthy_instances_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[int] max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. @@ -2716,6 +2733,9 @@ def __init__(__self__, *, :param pulumi.Input[int] max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. :param pulumi.Input[str] pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. :param pulumi.Input[bool] cross_zone_upgrades_enabled: Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are `true` or `false`. + :param pulumi.Input[bool] maximum_surge_instances_enabled: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. :param pulumi.Input[bool] prioritize_unhealthy_instances_enabled: Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. """ pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) @@ -2724,6 +2744,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) if cross_zone_upgrades_enabled is not None: pulumi.set(__self__, "cross_zone_upgrades_enabled", cross_zone_upgrades_enabled) + if maximum_surge_instances_enabled is not None: + pulumi.set(__self__, "maximum_surge_instances_enabled", maximum_surge_instances_enabled) if prioritize_unhealthy_instances_enabled is not None: pulumi.set(__self__, "prioritize_unhealthy_instances_enabled", prioritize_unhealthy_instances_enabled) @@ -2787,6 +2809,20 @@ def cross_zone_upgrades_enabled(self) -> Optional[pulumi.Input[bool]]: def cross_zone_upgrades_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "cross_zone_upgrades_enabled", value) + @property + @pulumi.getter(name="maximumSurgeInstancesEnabled") + def maximum_surge_instances_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + """ + return pulumi.get(self, "maximum_surge_instances_enabled") + + @maximum_surge_instances_enabled.setter + def maximum_surge_instances_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "maximum_surge_instances_enabled", value) + @property @pulumi.getter(name="prioritizeUnhealthyInstancesEnabled") def prioritize_unhealthy_instances_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -9082,13 +9118,29 @@ def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class WindowsVirtualMachineAdditionalCapabilitiesArgs: def __init__(__self__, *, + hibernation_enabled: Optional[pulumi.Input[bool]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None): """ + :param pulumi.Input[bool] hibernation_enabled: Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. :param pulumi.Input[bool] ultra_ssd_enabled: Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + """ + return pulumi.get(self, "hibernation_enabled") + + @hibernation_enabled.setter + def hibernation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hibernation_enabled", value) + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -9179,7 +9231,7 @@ def __init__(__self__, *, :param pulumi.Input[str] version_id: Specifies the Gallery Application Version resource ID. :param pulumi.Input[bool] automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. - :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. :param pulumi.Input[bool] treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ @@ -9235,7 +9287,7 @@ def configuration_blob_uri(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def order(self) -> Optional[pulumi.Input[int]]: """ - Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. """ return pulumi.get(self, "order") @@ -11028,6 +11080,7 @@ def __init__(__self__, *, max_unhealthy_upgraded_instance_percent: pulumi.Input[int], pause_time_between_batches: pulumi.Input[str], cross_zone_upgrades_enabled: Optional[pulumi.Input[bool]] = None, + maximum_surge_instances_enabled: Optional[pulumi.Input[bool]] = None, prioritize_unhealthy_instances_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[int] max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. @@ -11035,6 +11088,9 @@ def __init__(__self__, *, :param pulumi.Input[int] max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. :param pulumi.Input[str] pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. :param pulumi.Input[bool] cross_zone_upgrades_enabled: Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are `true` or `false`. + :param pulumi.Input[bool] maximum_surge_instances_enabled: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. :param pulumi.Input[bool] prioritize_unhealthy_instances_enabled: Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. """ pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) @@ -11043,6 +11099,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) if cross_zone_upgrades_enabled is not None: pulumi.set(__self__, "cross_zone_upgrades_enabled", cross_zone_upgrades_enabled) + if maximum_surge_instances_enabled is not None: + pulumi.set(__self__, "maximum_surge_instances_enabled", maximum_surge_instances_enabled) if prioritize_unhealthy_instances_enabled is not None: pulumi.set(__self__, "prioritize_unhealthy_instances_enabled", prioritize_unhealthy_instances_enabled) @@ -11106,6 +11164,20 @@ def cross_zone_upgrades_enabled(self) -> Optional[pulumi.Input[bool]]: def cross_zone_upgrades_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "cross_zone_upgrades_enabled", value) + @property + @pulumi.getter(name="maximumSurgeInstancesEnabled") + def maximum_surge_instances_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + """ + return pulumi.get(self, "maximum_surge_instances_enabled") + + @maximum_surge_instances_enabled.setter + def maximum_surge_instances_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "maximum_surge_instances_enabled", value) + @property @pulumi.getter(name="prioritizeUnhealthyInstancesEnabled") def prioritize_unhealthy_instances_enabled(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/pulumi_azure/compute/automanage_configuration_assignment.py b/sdk/python/pulumi_azure/compute/automanage_configuration_assignment.py new file mode 100644 index 0000000000..e3fb0074b0 --- /dev/null +++ b/sdk/python/pulumi_azure/compute/automanage_configuration_assignment.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['AutomanageConfigurationAssignmentArgs', 'AutomanageConfigurationAssignment'] + +@pulumi.input_type +class AutomanageConfigurationAssignmentArgs: + def __init__(__self__, *, + configuration_id: pulumi.Input[str], + virtual_machine_id: pulumi.Input[str]): + """ + The set of arguments for constructing a AutomanageConfigurationAssignment resource. + :param pulumi.Input[str] configuration_id: The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + pulumi.set(__self__, "configuration_id", configuration_id) + pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + + @property + @pulumi.getter(name="configurationId") + def configuration_id(self) -> pulumi.Input[str]: + """ + The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_id") + + @configuration_id.setter + def configuration_id(self, value: pulumi.Input[str]): + pulumi.set(self, "configuration_id", value) + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> pulumi.Input[str]: + """ + The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + + @virtual_machine_id.setter + def virtual_machine_id(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_machine_id", value) + + +@pulumi.input_type +class _AutomanageConfigurationAssignmentState: + def __init__(__self__, *, + configuration_id: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AutomanageConfigurationAssignment resources. + :param pulumi.Input[str] configuration_id: The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + if configuration_id is not None: + pulumi.set(__self__, "configuration_id", configuration_id) + if virtual_machine_id is not None: + pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + + @property + @pulumi.getter(name="configurationId") + def configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_id") + + @configuration_id.setter + def configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration_id", value) + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> Optional[pulumi.Input[str]]: + """ + The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + + @virtual_machine_id.setter + def virtual_machine_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "virtual_machine_id", value) + + +class AutomanageConfigurationAssignment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configuration_id: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Virtual Machine Automanage Configuration Profile Assignment. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="westus") + example_virtual_network = azure.network.VirtualNetwork("example", + name="examplevnet", + address_spaces=["10.0.0.0/16"], + location=example.location, + resource_group_name=example.name) + example_subnet = azure.network.Subnet("example", + name="internal", + resource_group_name=example.name, + virtual_network_name=example_virtual_network.name, + address_prefixes=["10.0.2.0/24"]) + example_network_interface = azure.network.NetworkInterface("example", + name="exampleni", + location=example.location, + resource_group_name=example.name, + ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs( + name="internal", + subnet_id=example_subnet.id, + private_ip_address_allocation="Dynamic", + )]) + example_linux_virtual_machine = azure.compute.LinuxVirtualMachine("example", + name="examplevm", + resource_group_name=example.name, + location=example.location, + size="Standard_F2", + admin_username="adminuser", + admin_password="P@$$w0rd1234!", + disable_password_authentication=False, + network_interface_ids=[example_network_interface.id], + os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs( + caching="ReadWrite", + storage_account_type="Standard_LRS", + ), + source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs( + publisher="Canonical", + offer="0001-com-ubuntu-server-jammy", + sku="22_04-lts", + version="latest", + )) + example_configuration = azure.automanage.Configuration("example", + name="exampleconfig", + resource_group_name=example.name, + location=example.location) + example_automanage_configuration_assignment = azure.compute.AutomanageConfigurationAssignment("example", + virtual_machine_id=example_linux_virtual_machine.id, + configuration_id=example_configuration.id) + ``` + + ## Import + + Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] configuration_id: The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AutomanageConfigurationAssignmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Virtual Machine Automanage Configuration Profile Assignment. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="westus") + example_virtual_network = azure.network.VirtualNetwork("example", + name="examplevnet", + address_spaces=["10.0.0.0/16"], + location=example.location, + resource_group_name=example.name) + example_subnet = azure.network.Subnet("example", + name="internal", + resource_group_name=example.name, + virtual_network_name=example_virtual_network.name, + address_prefixes=["10.0.2.0/24"]) + example_network_interface = azure.network.NetworkInterface("example", + name="exampleni", + location=example.location, + resource_group_name=example.name, + ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs( + name="internal", + subnet_id=example_subnet.id, + private_ip_address_allocation="Dynamic", + )]) + example_linux_virtual_machine = azure.compute.LinuxVirtualMachine("example", + name="examplevm", + resource_group_name=example.name, + location=example.location, + size="Standard_F2", + admin_username="adminuser", + admin_password="P@$$w0rd1234!", + disable_password_authentication=False, + network_interface_ids=[example_network_interface.id], + os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs( + caching="ReadWrite", + storage_account_type="Standard_LRS", + ), + source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs( + publisher="Canonical", + offer="0001-com-ubuntu-server-jammy", + sku="22_04-lts", + version="latest", + )) + example_configuration = azure.automanage.Configuration("example", + name="exampleconfig", + resource_group_name=example.name, + location=example.location) + example_automanage_configuration_assignment = azure.compute.AutomanageConfigurationAssignment("example", + virtual_machine_id=example_linux_virtual_machine.id, + configuration_id=example_configuration.id) + ``` + + ## Import + + Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.AutoManage/configurationProfileAssignments/default + ``` + + :param str resource_name: The name of the resource. + :param AutomanageConfigurationAssignmentArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AutomanageConfigurationAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configuration_id: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AutomanageConfigurationAssignmentArgs.__new__(AutomanageConfigurationAssignmentArgs) + + if configuration_id is None and not opts.urn: + raise TypeError("Missing required property 'configuration_id'") + __props__.__dict__["configuration_id"] = configuration_id + if virtual_machine_id is None and not opts.urn: + raise TypeError("Missing required property 'virtual_machine_id'") + __props__.__dict__["virtual_machine_id"] = virtual_machine_id + super(AutomanageConfigurationAssignment, __self__).__init__( + 'azure:compute/automanageConfigurationAssignment:AutomanageConfigurationAssignment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + configuration_id: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None) -> 'AutomanageConfigurationAssignment': + """ + Get an existing AutomanageConfigurationAssignment resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] configuration_id: The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AutomanageConfigurationAssignmentState.__new__(_AutomanageConfigurationAssignmentState) + + __props__.__dict__["configuration_id"] = configuration_id + __props__.__dict__["virtual_machine_id"] = virtual_machine_id + return AutomanageConfigurationAssignment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="configurationId") + def configuration_id(self) -> pulumi.Output[str]: + """ + The ARM resource ID of the Automanage Configuration to assign to the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_id") + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> pulumi.Output[str]: + """ + The ARM resource ID of the Virtual Machine to assign the Automanage Configuration to. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + diff --git a/sdk/python/pulumi_azure/compute/bastion_host.py b/sdk/python/pulumi_azure/compute/bastion_host.py index f362204e54..e1468a5c1f 100644 --- a/sdk/python/pulumi_azure/compute/bastion_host.py +++ b/sdk/python/pulumi_azure/compute/bastion_host.py @@ -21,6 +21,7 @@ def __init__(__self__, *, copy_paste_enabled: Optional[pulumi.Input[bool]] = None, file_copy_enabled: Optional[pulumi.Input[bool]] = None, ip_connect_enabled: Optional[pulumi.Input[bool]] = None, + kerberos_enabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, scale_units: Optional[pulumi.Input[int]] = None, @@ -39,6 +40,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] ip_connect_enabled: Is IP Connect feature enabled for the Bastion Host. Defaults to `false`. > **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`. + :param pulumi.Input[bool] kerberos_enabled: Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. :param pulumi.Input[str] name: Specifies the name of the Bastion Host. Changing this forces a new resource to be created. :param pulumi.Input[int] scale_units: The number of scale units with which to provision the Bastion Host. Possible values are between `2` and `50`. Defaults to `2`. @@ -63,6 +67,8 @@ def __init__(__self__, *, pulumi.set(__self__, "file_copy_enabled", file_copy_enabled) if ip_connect_enabled is not None: pulumi.set(__self__, "ip_connect_enabled", ip_connect_enabled) + if kerberos_enabled is not None: + pulumi.set(__self__, "kerberos_enabled", kerberos_enabled) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -142,6 +148,20 @@ def ip_connect_enabled(self) -> Optional[pulumi.Input[bool]]: def ip_connect_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ip_connect_enabled", value) + @property + @pulumi.getter(name="kerberosEnabled") + def kerberos_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + """ + return pulumi.get(self, "kerberos_enabled") + + @kerberos_enabled.setter + def kerberos_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "kerberos_enabled", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -243,6 +263,7 @@ def __init__(__self__, *, file_copy_enabled: Optional[pulumi.Input[bool]] = None, ip_configuration: Optional[pulumi.Input['BastionHostIpConfigurationArgs']] = None, ip_connect_enabled: Optional[pulumi.Input[bool]] = None, + kerberos_enabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -262,6 +283,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] ip_connect_enabled: Is IP Connect feature enabled for the Bastion Host. Defaults to `false`. > **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`. + :param pulumi.Input[bool] kerberos_enabled: Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. :param pulumi.Input[str] name: Specifies the name of the Bastion Host. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created. @@ -289,6 +313,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ip_configuration", ip_configuration) if ip_connect_enabled is not None: pulumi.set(__self__, "ip_connect_enabled", ip_connect_enabled) + if kerberos_enabled is not None: + pulumi.set(__self__, "kerberos_enabled", kerberos_enabled) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -370,6 +396,20 @@ def ip_connect_enabled(self) -> Optional[pulumi.Input[bool]]: def ip_connect_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ip_connect_enabled", value) + @property + @pulumi.getter(name="kerberosEnabled") + def kerberos_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + """ + return pulumi.get(self, "kerberos_enabled") + + @kerberos_enabled.setter + def kerberos_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "kerberos_enabled", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -484,6 +524,7 @@ def __init__(__self__, file_copy_enabled: Optional[pulumi.Input[bool]] = None, ip_configuration: Optional[pulumi.Input[pulumi.InputType['BastionHostIpConfigurationArgs']]] = None, ip_connect_enabled: Optional[pulumi.Input[bool]] = None, + kerberos_enabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -552,6 +593,9 @@ def __init__(__self__, :param pulumi.Input[bool] ip_connect_enabled: Is IP Connect feature enabled for the Bastion Host. Defaults to `false`. > **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`. + :param pulumi.Input[bool] kerberos_enabled: Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. :param pulumi.Input[str] name: Specifies the name of the Bastion Host. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created. @@ -643,6 +687,7 @@ def _internal_init(__self__, file_copy_enabled: Optional[pulumi.Input[bool]] = None, ip_configuration: Optional[pulumi.Input[pulumi.InputType['BastionHostIpConfigurationArgs']]] = None, ip_connect_enabled: Optional[pulumi.Input[bool]] = None, + kerberos_enabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -666,6 +711,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'ip_configuration'") __props__.__dict__["ip_configuration"] = ip_configuration __props__.__dict__["ip_connect_enabled"] = ip_connect_enabled + __props__.__dict__["kerberos_enabled"] = kerberos_enabled __props__.__dict__["location"] = location __props__.__dict__["name"] = name if resource_group_name is None and not opts.urn: @@ -692,6 +738,7 @@ def get(resource_name: str, file_copy_enabled: Optional[pulumi.Input[bool]] = None, ip_configuration: Optional[pulumi.Input[pulumi.InputType['BastionHostIpConfigurationArgs']]] = None, ip_connect_enabled: Optional[pulumi.Input[bool]] = None, + kerberos_enabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -716,6 +763,9 @@ def get(resource_name: str, :param pulumi.Input[bool] ip_connect_enabled: Is IP Connect feature enabled for the Bastion Host. Defaults to `false`. > **Note:** `ip_connect_enabled` is only supported when `sku` is `Standard`. + :param pulumi.Input[bool] kerberos_enabled: Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Review [Azure Bastion Host FAQ](https://docs.microsoft.com/azure/bastion/bastion-faq) for supported locations. :param pulumi.Input[str] name: Specifies the name of the Bastion Host. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Bastion Host. Changing this forces a new resource to be created. @@ -742,6 +792,7 @@ def get(resource_name: str, __props__.__dict__["file_copy_enabled"] = file_copy_enabled __props__.__dict__["ip_configuration"] = ip_configuration __props__.__dict__["ip_connect_enabled"] = ip_connect_enabled + __props__.__dict__["kerberos_enabled"] = kerberos_enabled __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["resource_group_name"] = resource_group_name @@ -796,6 +847,16 @@ def ip_connect_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "ip_connect_enabled") + @property + @pulumi.getter(name="kerberosEnabled") + def kerberos_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Is Kerberos authentication feature enabled for the Bastion Host. Defaults to `false`. + + > **Note:** `kerberos_enabled` is only supported when `sku` is `Standard`. + """ + return pulumi.get(self, "kerberos_enabled") + @property @pulumi.getter def location(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/compute/gallery_application_assignment.py b/sdk/python/pulumi_azure/compute/gallery_application_assignment.py new file mode 100644 index 0000000000..548c06edd7 --- /dev/null +++ b/sdk/python/pulumi_azure/compute/gallery_application_assignment.py @@ -0,0 +1,465 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['GalleryApplicationAssignmentArgs', 'GalleryApplicationAssignment'] + +@pulumi.input_type +class GalleryApplicationAssignmentArgs: + def __init__(__self__, *, + gallery_application_version_id: pulumi.Input[str], + virtual_machine_id: pulumi.Input[str], + configuration_blob_uri: Optional[pulumi.Input[str]] = None, + order: Optional[pulumi.Input[int]] = None, + tag: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a GalleryApplicationAssignment resource. + :param pulumi.Input[str] gallery_application_version_id: The ID of the Gallery Application Version. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ID of the Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + """ + pulumi.set(__self__, "gallery_application_version_id", gallery_application_version_id) + pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + if configuration_blob_uri is not None: + pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) + if order is not None: + pulumi.set(__self__, "order", order) + if tag is not None: + pulumi.set(__self__, "tag", tag) + + @property + @pulumi.getter(name="galleryApplicationVersionId") + def gallery_application_version_id(self) -> pulumi.Input[str]: + """ + The ID of the Gallery Application Version. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "gallery_application_version_id") + + @gallery_application_version_id.setter + def gallery_application_version_id(self, value: pulumi.Input[str]): + pulumi.set(self, "gallery_application_version_id", value) + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> pulumi.Input[str]: + """ + The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + + @virtual_machine_id.setter + def virtual_machine_id(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_machine_id", value) + + @property + @pulumi.getter(name="configurationBlobUri") + def configuration_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_blob_uri") + + @configuration_blob_uri.setter + def configuration_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration_blob_uri", value) + + @property + @pulumi.getter + def order(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "order", value) + + @property + @pulumi.getter + def tag(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag", value) + + +@pulumi.input_type +class _GalleryApplicationAssignmentState: + def __init__(__self__, *, + configuration_blob_uri: Optional[pulumi.Input[str]] = None, + gallery_application_version_id: Optional[pulumi.Input[str]] = None, + order: Optional[pulumi.Input[int]] = None, + tag: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering GalleryApplicationAssignment resources. + :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + :param pulumi.Input[str] gallery_application_version_id: The ID of the Gallery Application Version. Changing this forces a new resource to be created. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + if configuration_blob_uri is not None: + pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) + if gallery_application_version_id is not None: + pulumi.set(__self__, "gallery_application_version_id", gallery_application_version_id) + if order is not None: + pulumi.set(__self__, "order", order) + if tag is not None: + pulumi.set(__self__, "tag", tag) + if virtual_machine_id is not None: + pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + + @property + @pulumi.getter(name="configurationBlobUri") + def configuration_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_blob_uri") + + @configuration_blob_uri.setter + def configuration_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration_blob_uri", value) + + @property + @pulumi.getter(name="galleryApplicationVersionId") + def gallery_application_version_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Gallery Application Version. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "gallery_application_version_id") + + @gallery_application_version_id.setter + def gallery_application_version_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gallery_application_version_id", value) + + @property + @pulumi.getter + def order(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "order", value) + + @property + @pulumi.getter + def tag(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag", value) + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + + @virtual_machine_id.setter + def virtual_machine_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "virtual_machine_id", value) + + +class GalleryApplicationAssignment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configuration_blob_uri: Optional[pulumi.Input[str]] = None, + gallery_application_version_id: Optional[pulumi.Input[str]] = None, + order: Optional[pulumi.Input[int]] = None, + tag: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Virtual Machine Gallery Application Assignment. + + > **Note:** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` and `compute.WindowsVirtualMachine` resources, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignore_changes` for the `gallery_application` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.compute.get_virtual_machine(name="example-vm", + resource_group_name="example-resources-vm") + example_resource_group = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_shared_image_gallery = azure.compute.SharedImageGallery("example", + name="examplegallery", + resource_group_name=example_resource_group.name, + location=example_resource_group.location) + example_gallery_application = azure.compute.GalleryApplication("example", + name="example-app", + gallery_id=example_shared_image_gallery.id, + location=example_resource_group.location, + supported_os_type="Linux") + example_account = azure.storage.Account("example", + name="examplestorage", + resource_group_name=example_resource_group.name, + location=example_resource_group.location, + account_tier="Standard", + account_replication_type="LRS") + example_container = azure.storage.Container("example", + name="example-container", + storage_account_name=example_account.name, + container_access_type="blob") + example_blob = azure.storage.Blob("example", + name="scripts", + storage_account_name=example_account.name, + storage_container_name=example_container.name, + type="Block", + source_content="[scripts file content]") + example_gallery_application_version = azure.compute.GalleryApplicationVersion("example", + name="0.0.1", + gallery_application_id=example_gallery_application.id, + location=example_gallery_application.location, + manage_action=azure.compute.GalleryApplicationVersionManageActionArgs( + install="[install command]", + remove="[remove command]", + ), + source=azure.compute.GalleryApplicationVersionSourceArgs( + media_link=example_blob.id, + ), + target_regions=[azure.compute.GalleryApplicationVersionTargetRegionArgs( + name=example_gallery_application.location, + regional_replica_count=1, + )]) + example_gallery_application_assignment = azure.compute.GalleryApplicationAssignment("example", + gallery_application_version_id=example_gallery_application_version.id, + virtual_machine_id=example.id) + ``` + + ## Import + + Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + :param pulumi.Input[str] gallery_application_version_id: The ID of the Gallery Application Version. Changing this forces a new resource to be created. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GalleryApplicationAssignmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Virtual Machine Gallery Application Assignment. + + > **Note:** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` and `compute.WindowsVirtualMachine` resources, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. It's recommended to use `ignore_changes` for the `gallery_application` block on the associated virtual machine resources, to avoid a persistent diff when using this resource. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.compute.get_virtual_machine(name="example-vm", + resource_group_name="example-resources-vm") + example_resource_group = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_shared_image_gallery = azure.compute.SharedImageGallery("example", + name="examplegallery", + resource_group_name=example_resource_group.name, + location=example_resource_group.location) + example_gallery_application = azure.compute.GalleryApplication("example", + name="example-app", + gallery_id=example_shared_image_gallery.id, + location=example_resource_group.location, + supported_os_type="Linux") + example_account = azure.storage.Account("example", + name="examplestorage", + resource_group_name=example_resource_group.name, + location=example_resource_group.location, + account_tier="Standard", + account_replication_type="LRS") + example_container = azure.storage.Container("example", + name="example-container", + storage_account_name=example_account.name, + container_access_type="blob") + example_blob = azure.storage.Blob("example", + name="scripts", + storage_account_name=example_account.name, + storage_container_name=example_container.name, + type="Block", + source_content="[scripts file content]") + example_gallery_application_version = azure.compute.GalleryApplicationVersion("example", + name="0.0.1", + gallery_application_id=example_gallery_application.id, + location=example_gallery_application.location, + manage_action=azure.compute.GalleryApplicationVersionManageActionArgs( + install="[install command]", + remove="[remove command]", + ), + source=azure.compute.GalleryApplicationVersionSourceArgs( + media_link=example_blob.id, + ), + target_regions=[azure.compute.GalleryApplicationVersionTargetRegionArgs( + name=example_gallery_application.location, + regional_replica_count=1, + )]) + example_gallery_application_assignment = azure.compute.GalleryApplicationAssignment("example", + gallery_application_version_id=example_gallery_application_version.id, + virtual_machine_id=example.id) + ``` + + ## Import + + Virtual Machine Gallery Application Assignments can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment example subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/galleries/gallery1/applications/galleryApplication1/versions/galleryApplicationVersion1 + ``` + + :param str resource_name: The name of the resource. + :param GalleryApplicationAssignmentArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(GalleryApplicationAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configuration_blob_uri: Optional[pulumi.Input[str]] = None, + gallery_application_version_id: Optional[pulumi.Input[str]] = None, + order: Optional[pulumi.Input[int]] = None, + tag: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = GalleryApplicationAssignmentArgs.__new__(GalleryApplicationAssignmentArgs) + + __props__.__dict__["configuration_blob_uri"] = configuration_blob_uri + if gallery_application_version_id is None and not opts.urn: + raise TypeError("Missing required property 'gallery_application_version_id'") + __props__.__dict__["gallery_application_version_id"] = gallery_application_version_id + __props__.__dict__["order"] = order + __props__.__dict__["tag"] = tag + if virtual_machine_id is None and not opts.urn: + raise TypeError("Missing required property 'virtual_machine_id'") + __props__.__dict__["virtual_machine_id"] = virtual_machine_id + super(GalleryApplicationAssignment, __self__).__init__( + 'azure:compute/galleryApplicationAssignment:GalleryApplicationAssignment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + configuration_blob_uri: Optional[pulumi.Input[str]] = None, + gallery_application_version_id: Optional[pulumi.Input[str]] = None, + order: Optional[pulumi.Input[int]] = None, + tag: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None) -> 'GalleryApplicationAssignment': + """ + Get an existing GalleryApplicationAssignment resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + :param pulumi.Input[str] gallery_application_version_id: The ID of the Gallery Application Version. Changing this forces a new resource to be created. + :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_id: The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GalleryApplicationAssignmentState.__new__(_GalleryApplicationAssignmentState) + + __props__.__dict__["configuration_blob_uri"] = configuration_blob_uri + __props__.__dict__["gallery_application_version_id"] = gallery_application_version_id + __props__.__dict__["order"] = order + __props__.__dict__["tag"] = tag + __props__.__dict__["virtual_machine_id"] = virtual_machine_id + return GalleryApplicationAssignment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="configurationBlobUri") + def configuration_blob_uri(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "configuration_blob_uri") + + @property + @pulumi.getter(name="galleryApplicationVersionId") + def gallery_application_version_id(self) -> pulumi.Output[str]: + """ + The ID of the Gallery Application Version. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "gallery_application_version_id") + + @property + @pulumi.getter + def order(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. + """ + return pulumi.get(self, "order") + + @property + @pulumi.getter + def tag(self) -> pulumi.Output[Optional[str]]: + """ + Specifies a passthrough value for more generic context. This field can be any valid `string` value. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "tag") + + @property + @pulumi.getter(name="virtualMachineId") + def virtual_machine_id(self) -> pulumi.Output[str]: + """ + The ID of the Virtual Machine. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "virtual_machine_id") + diff --git a/sdk/python/pulumi_azure/compute/linux_virtual_machine.py b/sdk/python/pulumi_azure/compute/linux_virtual_machine.py index 99428028c4..8156d2947d 100644 --- a/sdk/python/pulumi_azure/compute/linux_virtual_machine.py +++ b/sdk/python/pulumi_azure/compute/linux_virtual_machine.py @@ -106,8 +106,10 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input['LinuxVirtualMachineGalleryApplicationArgs']]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input['LinuxVirtualMachineIdentityArgs'] identity: An `identity` block as defined below. - :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. :param pulumi.Input[str] location: The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. :param pulumi.Input[float] max_bid_price: The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons. @@ -540,6 +542,8 @@ def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): def gallery_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxVirtualMachineGalleryApplicationArgs']]]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") @@ -563,7 +567,7 @@ def identity(self, value: Optional[pulumi.Input['LinuxVirtualMachineIdentityArgs @pulumi.getter(name="licenseType") def license_type(self) -> Optional[pulumi.Input[str]]: """ - Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. """ return pulumi.get(self, "license_type") @@ -960,8 +964,10 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input['LinuxVirtualMachineGalleryApplicationArgs']]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input['LinuxVirtualMachineIdentityArgs'] identity: An `identity` block as defined below. - :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. :param pulumi.Input[str] location: The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. :param pulumi.Input[float] max_bid_price: The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons. @@ -1370,6 +1376,8 @@ def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): def gallery_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinuxVirtualMachineGalleryApplicationArgs']]]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") @@ -1393,7 +1401,7 @@ def identity(self, value: Optional[pulumi.Input['LinuxVirtualMachineIdentityArgs @pulumi.getter(name="licenseType") def license_type(self) -> Optional[pulumi.Input[str]]: """ - Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. """ return pulumi.get(self, "license_type") @@ -1973,8 +1981,10 @@ def __init__(__self__, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LinuxVirtualMachineGalleryApplicationArgs']]]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineIdentityArgs']] identity: An `identity` block as defined below. - :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. :param pulumi.Input[str] location: The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. :param pulumi.Input[float] max_bid_price: The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons. @@ -2349,8 +2359,10 @@ def get(resource_name: str, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LinuxVirtualMachineGalleryApplicationArgs']]]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineIdentityArgs']] identity: An `identity` block as defined below. - :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + :param pulumi.Input[str] license_type: Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. :param pulumi.Input[str] location: The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created. :param pulumi.Input[float] max_bid_price: The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons. @@ -2634,6 +2646,8 @@ def extensions_time_budget(self) -> pulumi.Output[Optional[str]]: def gallery_applications(self) -> pulumi.Output[Optional[Sequence['outputs.LinuxVirtualMachineGalleryApplication']]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.LinuxVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.LinuxVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") @@ -2649,7 +2663,7 @@ def identity(self) -> pulumi.Output[Optional['outputs.LinuxVirtualMachineIdentit @pulumi.getter(name="licenseType") def license_type(self) -> pulumi.Output[Optional[str]]: """ - Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE` and `SLES_BYOS`. + Specifies the License Type for this Virtual Machine. Possible values are `RHEL_BYOS`, `RHEL_BASE`, `RHEL_EUS`, `RHEL_SAPAPPS`, `RHEL_SAPHA`, `RHEL_BASESAPAPPS`, `RHEL_BASESAPHA`, `SLES_BYOS`, `SLES_SAP`, `SLES_HPC`. """ return pulumi.get(self, "license_type") diff --git a/sdk/python/pulumi_azure/compute/outputs.py b/sdk/python/pulumi_azure/compute/outputs.py index 669b80cdcd..4e0c1174a7 100644 --- a/sdk/python/pulumi_azure/compute/outputs.py +++ b/sdk/python/pulumi_azure/compute/outputs.py @@ -813,7 +813,9 @@ class LinuxVirtualMachineAdditionalCapabilities(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "ultraSsdEnabled": + if key == "hibernationEnabled": + suggest = "hibernation_enabled" + elif key == "ultraSsdEnabled": suggest = "ultra_ssd_enabled" if suggest: @@ -828,13 +830,25 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + hibernation_enabled: Optional[bool] = None, ultra_ssd_enabled: Optional[bool] = None): """ + :param bool hibernation_enabled: Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. :param bool ultra_ssd_enabled: Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[bool]: + """ + Whether to enable the hibernation capability or not. Changing this forces a new Linux Virtual Machine to be created. + """ + return pulumi.get(self, "hibernation_enabled") + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[bool]: @@ -970,7 +984,7 @@ def __init__(__self__, *, :param str version_id: Specifies the Gallery Application Version resource ID. :param bool automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param str configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. - :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. :param str tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. :param bool treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ @@ -1014,7 +1028,7 @@ def configuration_blob_uri(self) -> Optional[str]: @pulumi.getter def order(self) -> Optional[int]: """ - Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. """ return pulumi.get(self, "order") @@ -2774,6 +2788,8 @@ def __key_warning(key: str): suggest = "pause_time_between_batches" elif key == "crossZoneUpgradesEnabled": suggest = "cross_zone_upgrades_enabled" + elif key == "maximumSurgeInstancesEnabled": + suggest = "maximum_surge_instances_enabled" elif key == "prioritizeUnhealthyInstancesEnabled": suggest = "prioritize_unhealthy_instances_enabled" @@ -2794,6 +2810,7 @@ def __init__(__self__, *, max_unhealthy_upgraded_instance_percent: int, pause_time_between_batches: str, cross_zone_upgrades_enabled: Optional[bool] = None, + maximum_surge_instances_enabled: Optional[bool] = None, prioritize_unhealthy_instances_enabled: Optional[bool] = None): """ :param int max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. @@ -2801,6 +2818,9 @@ def __init__(__self__, *, :param int max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. :param str pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. :param bool cross_zone_upgrades_enabled: Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are `true` or `false`. + :param bool maximum_surge_instances_enabled: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. :param bool prioritize_unhealthy_instances_enabled: Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. """ pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) @@ -2809,6 +2829,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) if cross_zone_upgrades_enabled is not None: pulumi.set(__self__, "cross_zone_upgrades_enabled", cross_zone_upgrades_enabled) + if maximum_surge_instances_enabled is not None: + pulumi.set(__self__, "maximum_surge_instances_enabled", maximum_surge_instances_enabled) if prioritize_unhealthy_instances_enabled is not None: pulumi.set(__self__, "prioritize_unhealthy_instances_enabled", prioritize_unhealthy_instances_enabled) @@ -2852,6 +2874,16 @@ def cross_zone_upgrades_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "cross_zone_upgrades_enabled") + @property + @pulumi.getter(name="maximumSurgeInstancesEnabled") + def maximum_surge_instances_enabled(self) -> Optional[bool]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + """ + return pulumi.get(self, "maximum_surge_instances_enabled") + @property @pulumi.getter(name="prioritizeUnhealthyInstancesEnabled") def prioritize_unhealthy_instances_enabled(self) -> Optional[bool]: @@ -9274,7 +9306,9 @@ class WindowsVirtualMachineAdditionalCapabilities(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "ultraSsdEnabled": + if key == "hibernationEnabled": + suggest = "hibernation_enabled" + elif key == "ultraSsdEnabled": suggest = "ultra_ssd_enabled" if suggest: @@ -9289,13 +9323,25 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + hibernation_enabled: Optional[bool] = None, ultra_ssd_enabled: Optional[bool] = None): """ + :param bool hibernation_enabled: Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. :param bool ultra_ssd_enabled: Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`. """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[bool]: + """ + Whether to enable the hibernation capability or not. Changing this forces a new Windows Virtual Machine to be created. + """ + return pulumi.get(self, "hibernation_enabled") + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[bool]: @@ -9410,7 +9456,7 @@ def __init__(__self__, *, :param str version_id: Specifies the Gallery Application Version resource ID. :param bool automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param str configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. - :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. :param str tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. :param bool treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ @@ -9454,7 +9500,7 @@ def configuration_blob_uri(self) -> Optional[str]: @pulumi.getter def order(self) -> Optional[int]: """ - Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. + Specifies the order in which the packages have to be installed. Possible values are between `0` and `2147483647`. Defaults to `0`. """ return pulumi.get(self, "order") @@ -11197,6 +11243,8 @@ def __key_warning(key: str): suggest = "pause_time_between_batches" elif key == "crossZoneUpgradesEnabled": suggest = "cross_zone_upgrades_enabled" + elif key == "maximumSurgeInstancesEnabled": + suggest = "maximum_surge_instances_enabled" elif key == "prioritizeUnhealthyInstancesEnabled": suggest = "prioritize_unhealthy_instances_enabled" @@ -11217,6 +11265,7 @@ def __init__(__self__, *, max_unhealthy_upgraded_instance_percent: int, pause_time_between_batches: str, cross_zone_upgrades_enabled: Optional[bool] = None, + maximum_surge_instances_enabled: Optional[bool] = None, prioritize_unhealthy_instances_enabled: Optional[bool] = None): """ :param int max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. @@ -11224,6 +11273,9 @@ def __init__(__self__, *, :param int max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. :param str pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. :param bool cross_zone_upgrades_enabled: Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are `true` or `false`. + :param bool maximum_surge_instances_enabled: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. :param bool prioritize_unhealthy_instances_enabled: Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are `true` or `false`. """ pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) @@ -11232,6 +11284,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) if cross_zone_upgrades_enabled is not None: pulumi.set(__self__, "cross_zone_upgrades_enabled", cross_zone_upgrades_enabled) + if maximum_surge_instances_enabled is not None: + pulumi.set(__self__, "maximum_surge_instances_enabled", maximum_surge_instances_enabled) if prioritize_unhealthy_instances_enabled is not None: pulumi.set(__self__, "prioritize_unhealthy_instances_enabled", prioritize_unhealthy_instances_enabled) @@ -11275,6 +11329,16 @@ def cross_zone_upgrades_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "cross_zone_upgrades_enabled") + @property + @pulumi.getter(name="maximumSurgeInstancesEnabled") + def maximum_surge_instances_enabled(self) -> Optional[bool]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are `true` or `false`. + + > **NOTE:** `overprovision` must be set to `false` when `maximum_surge_instances_enabled` is specified. + """ + return pulumi.get(self, "maximum_surge_instances_enabled") + @property @pulumi.getter(name="prioritizeUnhealthyInstancesEnabled") def prioritize_unhealthy_instances_enabled(self) -> Optional[bool]: diff --git a/sdk/python/pulumi_azure/compute/windows_virtual_machine.py b/sdk/python/pulumi_azure/compute/windows_virtual_machine.py index 691d7a3988..0bc3729228 100644 --- a/sdk/python/pulumi_azure/compute/windows_virtual_machine.py +++ b/sdk/python/pulumi_azure/compute/windows_virtual_machine.py @@ -100,6 +100,8 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineGalleryApplicationArgs']]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[bool] hotpatching_enabled: Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). > **NOTE:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, and the VM's `size` is set to a Azure generation 2 directory within the GitHub Repository. @@ -535,6 +537,8 @@ def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): def gallery_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineGalleryApplicationArgs']]]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") @@ -987,6 +991,8 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineGalleryApplicationArgs']]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[bool] hotpatching_enabled: Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). > **NOTE:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, and the VM's `size` is set to a Azure generation 2 directory within the GitHub Repository. @@ -1399,6 +1405,8 @@ def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): def gallery_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineGalleryApplicationArgs']]]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") @@ -2030,6 +2038,8 @@ def __init__(__self__, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineGalleryApplicationArgs']]]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[bool] hotpatching_enabled: Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). > **NOTE:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, and the VM's `size` is set to a Azure generation 2 directory within the GitHub Repository. @@ -2409,6 +2419,8 @@ def get(resource_name: str, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] extensions_time_budget: Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to `PT1H30M`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineGalleryApplicationArgs']]]] gallery_applications: One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. :param pulumi.Input[bool] hotpatching_enabled: Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch). > **NOTE:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, and the VM's `size` is set to a Azure generation 2 directory within the GitHub Repository. @@ -2693,6 +2705,8 @@ def extensions_time_budget(self) -> pulumi.Output[Optional[str]]: def gallery_applications(self) -> pulumi.Output[Optional[Sequence['outputs.WindowsVirtualMachineGalleryApplication']]]: """ One or more `gallery_application` blocks as defined below. + + > **Note** Gallery Application Assignments can be defined either directly on `compute.WindowsVirtualMachine` resource, or using the `compute.GalleryApplicationAssignment` resource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If `compute.GalleryApplicationAssignment` is used, it's recommended to use `ignore_changes` for the `gallery_application` block on the corresponding `compute.WindowsVirtualMachine` resource, to avoid a persistent diff when using this resource. """ return pulumi.get(self, "gallery_applications") diff --git a/sdk/python/pulumi_azure/config/outputs.py b/sdk/python/pulumi_azure/config/outputs.py index bbaca3b81f..bbc528bc56 100644 --- a/sdk/python/pulumi_azure/config/outputs.py +++ b/sdk/python/pulumi_azure/config/outputs.py @@ -22,6 +22,7 @@ 'FeaturesManagedDisk', 'FeaturesPostgresqlFlexibleServer', 'FeaturesRecoveryService', + 'FeaturesRecoveryServicesVaults', 'FeaturesResourceGroup', 'FeaturesSubscription', 'FeaturesTemplateDeployment', @@ -42,6 +43,7 @@ def __init__(__self__, *, managed_disk: Optional['outputs.FeaturesManagedDisk'] = None, postgresql_flexible_server: Optional['outputs.FeaturesPostgresqlFlexibleServer'] = None, recovery_service: Optional['outputs.FeaturesRecoveryService'] = None, + recovery_services_vaults: Optional['outputs.FeaturesRecoveryServicesVaults'] = None, resource_group: Optional['outputs.FeaturesResourceGroup'] = None, subscription: Optional['outputs.FeaturesSubscription'] = None, template_deployment: Optional['outputs.FeaturesTemplateDeployment'] = None, @@ -67,6 +69,8 @@ def __init__(__self__, *, pulumi.set(__self__, "postgresql_flexible_server", postgresql_flexible_server) if recovery_service is not None: pulumi.set(__self__, "recovery_service", recovery_service) + if recovery_services_vaults is not None: + pulumi.set(__self__, "recovery_services_vaults", recovery_services_vaults) if resource_group is not None: pulumi.set(__self__, "resource_group", resource_group) if subscription is not None: @@ -128,6 +132,11 @@ def postgresql_flexible_server(self) -> Optional['outputs.FeaturesPostgresqlFlex def recovery_service(self) -> Optional['outputs.FeaturesRecoveryService']: return pulumi.get(self, "recovery_service") + @property + @pulumi.getter(name="recoveryServicesVaults") + def recovery_services_vaults(self) -> Optional['outputs.FeaturesRecoveryServicesVaults']: + return pulumi.get(self, "recovery_services_vaults") + @property @pulumi.getter(name="resourceGroup") def resource_group(self) -> Optional['outputs.FeaturesResourceGroup']: @@ -410,6 +419,19 @@ def vm_backup_stop_protection_and_retain_data_on_destroy(self) -> Optional[bool] return pulumi.get(self, "vm_backup_stop_protection_and_retain_data_on_destroy") +@pulumi.output_type +class FeaturesRecoveryServicesVaults(dict): + def __init__(__self__, *, + recover_soft_deleted_backup_protected_vm: Optional[bool] = None): + if recover_soft_deleted_backup_protected_vm is not None: + pulumi.set(__self__, "recover_soft_deleted_backup_protected_vm", recover_soft_deleted_backup_protected_vm) + + @property + @pulumi.getter(name="recoverSoftDeletedBackupProtectedVm") + def recover_soft_deleted_backup_protected_vm(self) -> Optional[bool]: + return pulumi.get(self, "recover_soft_deleted_backup_protected_vm") + + @pulumi.output_type class FeaturesResourceGroup(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/containerapp/__init__.py b/sdk/python/pulumi_azure/containerapp/__init__.py index e87b2c1c10..1eba69ea5e 100644 --- a/sdk/python/pulumi_azure/containerapp/__init__.py +++ b/sdk/python/pulumi_azure/containerapp/__init__.py @@ -9,10 +9,12 @@ from .custom_domain import * from .environment import * from .environment_certificate import * +from .environment_custom_domain import * from .environment_dapr_component import * from .environment_storage import * from .get_app import * from .get_environment import * from .get_environment_certificate import * +from .job import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_azure/containerapp/_inputs.py b/sdk/python/pulumi_azure/containerapp/_inputs.py index 398ed5f5f0..4699fa5314 100644 --- a/sdk/python/pulumi_azure/containerapp/_inputs.py +++ b/sdk/python/pulumi_azure/containerapp/_inputs.py @@ -43,6 +43,29 @@ 'EnvironmentDaprComponentMetadataArgs', 'EnvironmentDaprComponentSecretArgs', 'EnvironmentWorkloadProfileArgs', + 'JobEventTriggerConfigArgs', + 'JobEventTriggerConfigScaleArgs', + 'JobEventTriggerConfigScaleRuleArgs', + 'JobEventTriggerConfigScaleRuleAuthenticationArgs', + 'JobIdentityArgs', + 'JobManualTriggerConfigArgs', + 'JobRegistryArgs', + 'JobScheduleTriggerConfigArgs', + 'JobSecretArgs', + 'JobTemplateArgs', + 'JobTemplateContainerArgs', + 'JobTemplateContainerEnvArgs', + 'JobTemplateContainerLivenessProbeArgs', + 'JobTemplateContainerLivenessProbeHeaderArgs', + 'JobTemplateContainerReadinessProbeArgs', + 'JobTemplateContainerReadinessProbeHeaderArgs', + 'JobTemplateContainerStartupProbeArgs', + 'JobTemplateContainerStartupProbeHeaderArgs', + 'JobTemplateContainerVolumeMountArgs', + 'JobTemplateInitContainerArgs', + 'JobTemplateInitContainerEnvArgs', + 'JobTemplateInitContainerVolumeMountArgs', + 'JobTemplateVolumeArgs', ] @pulumi.input_type @@ -619,8 +642,6 @@ def __init__(__self__, *, :param pulumi.Input[str] value: The value for this secret. !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - - !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. """ pulumi.set(__self__, "name", name) if identity is not None: @@ -677,8 +698,6 @@ def value(self) -> Optional[pulumi.Input[str]]: The value for this secret. !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - - !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. """ return pulumi.get(self, "value") @@ -2631,3 +2650,1761 @@ def minimum_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "minimum_count", value) +@pulumi.input_type +class JobEventTriggerConfigArgs: + def __init__(__self__, *, + parallelism: Optional[pulumi.Input[int]] = None, + replica_completion_count: Optional[pulumi.Input[int]] = None, + scales: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleArgs']]]] = None): + """ + :param pulumi.Input[int] parallelism: Number of parallel replicas of a job that can run at a given time. + :param pulumi.Input[int] replica_completion_count: Minimum number of successful replica completions before overall job completion. + :param pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleArgs']]] scales: A `scale` block as defined below. + """ + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + if scales is not None: + pulumi.set(__self__, "scales", scales) + + @property + @pulumi.getter + def parallelism(self) -> Optional[pulumi.Input[int]]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "parallelism", value) + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[pulumi.Input[int]]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + @replica_completion_count.setter + def replica_completion_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_completion_count", value) + + @property + @pulumi.getter + def scales(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleArgs']]]]: + """ + A `scale` block as defined below. + """ + return pulumi.get(self, "scales") + + @scales.setter + def scales(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleArgs']]]]): + pulumi.set(self, "scales", value) + + +@pulumi.input_type +class JobEventTriggerConfigScaleArgs: + def __init__(__self__, *, + max_executions: Optional[pulumi.Input[int]] = None, + min_executions: Optional[pulumi.Input[int]] = None, + polling_interval_in_seconds: Optional[pulumi.Input[int]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleArgs']]]] = None): + """ + :param pulumi.Input[int] max_executions: Maximum number of job executions that are created for a trigger. + :param pulumi.Input[int] min_executions: Minimum number of job executions that are created for a trigger. + :param pulumi.Input[int] polling_interval_in_seconds: Interval to check each event source in seconds. + :param pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleArgs']]] rules: A `rules` block as defined below. + """ + if max_executions is not None: + pulumi.set(__self__, "max_executions", max_executions) + if min_executions is not None: + pulumi.set(__self__, "min_executions", min_executions) + if polling_interval_in_seconds is not None: + pulumi.set(__self__, "polling_interval_in_seconds", polling_interval_in_seconds) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="maxExecutions") + def max_executions(self) -> Optional[pulumi.Input[int]]: + """ + Maximum number of job executions that are created for a trigger. + """ + return pulumi.get(self, "max_executions") + + @max_executions.setter + def max_executions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_executions", value) + + @property + @pulumi.getter(name="minExecutions") + def min_executions(self) -> Optional[pulumi.Input[int]]: + """ + Minimum number of job executions that are created for a trigger. + """ + return pulumi.get(self, "min_executions") + + @min_executions.setter + def min_executions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_executions", value) + + @property + @pulumi.getter(name="pollingIntervalInSeconds") + def polling_interval_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Interval to check each event source in seconds. + """ + return pulumi.get(self, "polling_interval_in_seconds") + + @polling_interval_in_seconds.setter + def polling_interval_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "polling_interval_in_seconds", value) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleArgs']]]]: + """ + A `rules` block as defined below. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +@pulumi.input_type +class JobEventTriggerConfigScaleRuleArgs: + def __init__(__self__, *, + custom_rule_type: pulumi.Input[str], + metadata: pulumi.Input[Mapping[str, pulumi.Input[str]]], + name: pulumi.Input[str], + authentications: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleAuthenticationArgs']]]] = None): + """ + :param pulumi.Input[str] custom_rule_type: Type of the scale rule. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Metadata properties to describe the scale rule. + :param pulumi.Input[str] name: Name of the scale rule. + :param pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleAuthenticationArgs']]] authentications: A `authentication` block as defined below. + """ + pulumi.set(__self__, "custom_rule_type", custom_rule_type) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "name", name) + if authentications is not None: + pulumi.set(__self__, "authentications", authentications) + + @property + @pulumi.getter(name="customRuleType") + def custom_rule_type(self) -> pulumi.Input[str]: + """ + Type of the scale rule. + """ + return pulumi.get(self, "custom_rule_type") + + @custom_rule_type.setter + def custom_rule_type(self, value: pulumi.Input[str]): + pulumi.set(self, "custom_rule_type", value) + + @property + @pulumi.getter + def metadata(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + Metadata properties to describe the scale rule. + """ + return pulumi.get(self, "metadata") + + @metadata.setter + def metadata(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "metadata", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the scale rule. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def authentications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleAuthenticationArgs']]]]: + """ + A `authentication` block as defined below. + """ + return pulumi.get(self, "authentications") + + @authentications.setter + def authentications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobEventTriggerConfigScaleRuleAuthenticationArgs']]]]): + pulumi.set(self, "authentications", value) + + +@pulumi.input_type +class JobEventTriggerConfigScaleRuleAuthenticationArgs: + def __init__(__self__, *, + secret_name: pulumi.Input[str], + trigger_parameter: pulumi.Input[str]): + """ + :param pulumi.Input[str] secret_name: Name of the secret from which to pull the auth params. + :param pulumi.Input[str] trigger_parameter: Trigger Parameter that uses the secret. + """ + pulumi.set(__self__, "secret_name", secret_name) + pulumi.set(__self__, "trigger_parameter", trigger_parameter) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> pulumi.Input[str]: + """ + Name of the secret from which to pull the auth params. + """ + return pulumi.get(self, "secret_name") + + @secret_name.setter + def secret_name(self, value: pulumi.Input[str]): + pulumi.set(self, "secret_name", value) + + @property + @pulumi.getter(name="triggerParameter") + def trigger_parameter(self) -> pulumi.Input[str]: + """ + Trigger Parameter that uses the secret. + """ + return pulumi.get(self, "trigger_parameter") + + @trigger_parameter.setter + def trigger_parameter(self, value: pulumi.Input[str]): + pulumi.set(self, "trigger_parameter", value) + + +@pulumi.input_type +class JobIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + identity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + tenant_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] identity_ids: A list of Managed Identity IDs to assign to the Container App Job. + """ + pulumi.set(__self__, "type", type) + if identity_ids is not None: + pulumi.set(__self__, "identity_ids", identity_ids) + if principal_id is not None: + pulumi.set(__self__, "principal_id", principal_id) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="identityIds") + def identity_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of Managed Identity IDs to assign to the Container App Job. + """ + return pulumi.get(self, "identity_ids") + + @identity_ids.setter + def identity_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "identity_ids", value) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "principal_id") + + @principal_id.setter + def principal_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_id", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + +@pulumi.input_type +class JobManualTriggerConfigArgs: + def __init__(__self__, *, + parallelism: Optional[pulumi.Input[int]] = None, + replica_completion_count: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] parallelism: Number of parallel replicas of a job that can run at a given time. + :param pulumi.Input[int] replica_completion_count: Minimum number of successful replica completions before overall job completion. + """ + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + + @property + @pulumi.getter + def parallelism(self) -> Optional[pulumi.Input[int]]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "parallelism", value) + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[pulumi.Input[int]]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + @replica_completion_count.setter + def replica_completion_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_completion_count", value) + + +@pulumi.input_type +class JobRegistryArgs: + def __init__(__self__, *, + server: pulumi.Input[str], + identity: Optional[pulumi.Input[str]] = None, + password_secret_name: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] server: The URL of the Azure Container Registry server. + :param pulumi.Input[str] identity: A Managed Identity to use to authenticate with Azure Container Registry. + :param pulumi.Input[str] password_secret_name: The name of the Secret that contains the registry login password. + :param pulumi.Input[str] username: The username to use to authenticate with Azure Container Registry. + """ + pulumi.set(__self__, "server", server) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if password_secret_name is not None: + pulumi.set(__self__, "password_secret_name", password_secret_name) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def server(self) -> pulumi.Input[str]: + """ + The URL of the Azure Container Registry server. + """ + return pulumi.get(self, "server") + + @server.setter + def server(self, value: pulumi.Input[str]): + pulumi.set(self, "server", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input[str]]: + """ + A Managed Identity to use to authenticate with Azure Container Registry. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="passwordSecretName") + def password_secret_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Secret that contains the registry login password. + """ + return pulumi.get(self, "password_secret_name") + + @password_secret_name.setter + def password_secret_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password_secret_name", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + The username to use to authenticate with Azure Container Registry. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +@pulumi.input_type +class JobScheduleTriggerConfigArgs: + def __init__(__self__, *, + cron_expression: pulumi.Input[str], + parallelism: Optional[pulumi.Input[int]] = None, + replica_completion_count: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] cron_expression: Cron formatted repeating schedule of a Cron Job. + :param pulumi.Input[int] parallelism: Number of parallel replicas of a job that can run at a given time. + :param pulumi.Input[int] replica_completion_count: Minimum number of successful replica completions before overall job completion. + """ + pulumi.set(__self__, "cron_expression", cron_expression) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + + @property + @pulumi.getter(name="cronExpression") + def cron_expression(self) -> pulumi.Input[str]: + """ + Cron formatted repeating schedule of a Cron Job. + """ + 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 + def parallelism(self) -> Optional[pulumi.Input[int]]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "parallelism", value) + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[pulumi.Input[int]]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + @replica_completion_count.setter + def replica_completion_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_completion_count", value) + + +@pulumi.input_type +class JobSecretArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + identity: Optional[pulumi.Input[str]] = None, + key_vault_secret_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: Name of the secret. + :param pulumi.Input[str] identity: A `identity` block as defined below. + :param pulumi.Input[str] key_vault_secret_id: The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + :param pulumi.Input[str] value: Value of the secret. + """ + pulumi.set(__self__, "name", name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if key_vault_secret_id is not None: + pulumi.set(__self__, "key_vault_secret_id", key_vault_secret_id) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the secret. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input[str]]: + """ + A `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="keyVaultSecretId") + def key_vault_secret_id(self) -> Optional[pulumi.Input[str]]: + """ + The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + """ + return pulumi.get(self, "key_vault_secret_id") + + @key_vault_secret_id.setter + def key_vault_secret_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_vault_secret_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the secret. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateArgs: + def __init__(__self__, *, + containers: pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerArgs']]], + init_containers: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerArgs']]]] = None, + volumes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateVolumeArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerArgs']]] containers: A `container` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerArgs']]] init_containers: A `init_container` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateVolumeArgs']]] volumes: A `volume` block as defined below. + """ + pulumi.set(__self__, "containers", containers) + if init_containers is not None: + pulumi.set(__self__, "init_containers", init_containers) + if volumes is not None: + pulumi.set(__self__, "volumes", volumes) + + @property + @pulumi.getter + def containers(self) -> pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerArgs']]]: + """ + A `container` block as defined below. + """ + return pulumi.get(self, "containers") + + @containers.setter + def containers(self, value: pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerArgs']]]): + pulumi.set(self, "containers", value) + + @property + @pulumi.getter(name="initContainers") + def init_containers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerArgs']]]]: + """ + A `init_container` block as defined below. + """ + return pulumi.get(self, "init_containers") + + @init_containers.setter + def init_containers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerArgs']]]]): + pulumi.set(self, "init_containers", value) + + @property + @pulumi.getter + def volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateVolumeArgs']]]]: + """ + A `volume` block as defined below. + """ + return pulumi.get(self, "volumes") + + @volumes.setter + def volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateVolumeArgs']]]]): + pulumi.set(self, "volumes", value) + + +@pulumi.input_type +class JobTemplateContainerArgs: + def __init__(__self__, *, + cpu: pulumi.Input[float], + image: pulumi.Input[str], + memory: pulumi.Input[str], + name: pulumi.Input[str], + args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + commands: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + envs: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerEnvArgs']]]] = None, + ephemeral_storage: Optional[pulumi.Input[str]] = None, + liveness_probes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeArgs']]]] = None, + readiness_probes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeArgs']]]] = None, + startup_probes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeArgs']]]] = None, + volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerVolumeMountArgs']]]] = None): + """ + :param pulumi.Input[float] cpu: The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + :param pulumi.Input[str] image: The image to use to create the container. + :param pulumi.Input[str] memory: The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + :param pulumi.Input[str] name: The name of the container. + :param pulumi.Input[Sequence[pulumi.Input[str]]] args: A list of extra arguments to pass to the container. + :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerEnvArgs']]] envs: One or more `env` blocks as detailed below. + :param pulumi.Input[str] ephemeral_storage: The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeArgs']]] liveness_probes: A `liveness_probe` block as detailed below. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeArgs']]] readiness_probes: A `readiness_probe` block as detailed below. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeArgs']]] startup_probes: A `startup_probe` block as detailed below. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerVolumeMountArgs']]] volume_mounts: A `volume_mounts` block as detailed below. + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "image", image) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "name", name) + if args is not None: + pulumi.set(__self__, "args", args) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if envs is not None: + pulumi.set(__self__, "envs", envs) + if ephemeral_storage is not None: + pulumi.set(__self__, "ephemeral_storage", ephemeral_storage) + if liveness_probes is not None: + pulumi.set(__self__, "liveness_probes", liveness_probes) + if readiness_probes is not None: + pulumi.set(__self__, "readiness_probes", readiness_probes) + if startup_probes is not None: + pulumi.set(__self__, "startup_probes", startup_probes) + if volume_mounts is not None: + pulumi.set(__self__, "volume_mounts", volume_mounts) + + @property + @pulumi.getter + def cpu(self) -> pulumi.Input[float]: + """ + The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: pulumi.Input[float]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def image(self) -> pulumi.Input[str]: + """ + The image to use to create the container. + """ + return pulumi.get(self, "image") + + @image.setter + def image(self, value: pulumi.Input[str]): + pulumi.set(self, "image", value) + + @property + @pulumi.getter + def memory(self) -> pulumi.Input[str]: + """ + The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: pulumi.Input[str]): + pulumi.set(self, "memory", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the container. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of extra arguments to pass to the container. + """ + return pulumi.get(self, "args") + + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "args", value) + + @property + @pulumi.getter + def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + """ + return pulumi.get(self, "commands") + + @commands.setter + def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "commands", value) + + @property + @pulumi.getter + def envs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerEnvArgs']]]]: + """ + One or more `env` blocks as detailed below. + """ + return pulumi.get(self, "envs") + + @envs.setter + def envs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerEnvArgs']]]]): + pulumi.set(self, "envs", value) + + @property + @pulumi.getter(name="ephemeralStorage") + def ephemeral_storage(self) -> Optional[pulumi.Input[str]]: + """ + The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + """ + return pulumi.get(self, "ephemeral_storage") + + @ephemeral_storage.setter + def ephemeral_storage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ephemeral_storage", value) + + @property + @pulumi.getter(name="livenessProbes") + def liveness_probes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeArgs']]]]: + """ + A `liveness_probe` block as detailed below. + """ + return pulumi.get(self, "liveness_probes") + + @liveness_probes.setter + def liveness_probes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeArgs']]]]): + pulumi.set(self, "liveness_probes", value) + + @property + @pulumi.getter(name="readinessProbes") + def readiness_probes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeArgs']]]]: + """ + A `readiness_probe` block as detailed below. + """ + return pulumi.get(self, "readiness_probes") + + @readiness_probes.setter + def readiness_probes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeArgs']]]]): + pulumi.set(self, "readiness_probes", value) + + @property + @pulumi.getter(name="startupProbes") + def startup_probes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeArgs']]]]: + """ + A `startup_probe` block as detailed below. + """ + return pulumi.get(self, "startup_probes") + + @startup_probes.setter + def startup_probes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeArgs']]]]): + pulumi.set(self, "startup_probes", value) + + @property + @pulumi.getter(name="volumeMounts") + def volume_mounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerVolumeMountArgs']]]]: + """ + A `volume_mounts` block as detailed below. + """ + return pulumi.get(self, "volume_mounts") + + @volume_mounts.setter + def volume_mounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerVolumeMountArgs']]]]): + pulumi.set(self, "volume_mounts", value) + + +@pulumi.input_type +class JobTemplateContainerEnvArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + secret_name: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: The name of the environment variable. + :param pulumi.Input[str] secret_name: Name of the Container App secret from which to pull the environment variable value. + :param pulumi.Input[str] value: The value of the environment variable. + """ + pulumi.set(__self__, "name", name) + if secret_name is not None: + pulumi.set(__self__, "secret_name", secret_name) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the environment variable. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Container App secret from which to pull the environment variable value. + """ + return pulumi.get(self, "secret_name") + + @secret_name.setter + def secret_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_name", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateContainerLivenessProbeArgs: + def __init__(__self__, *, + port: pulumi.Input[int], + transport: pulumi.Input[str], + failure_count_threshold: Optional[pulumi.Input[int]] = None, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeHeaderArgs']]]] = None, + host: Optional[pulumi.Input[str]] = None, + initial_delay: Optional[pulumi.Input[int]] = None, + interval_seconds: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + termination_grace_period_seconds: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] port: The port number on which to connect. Possible values are between `1` and `65535`. + :param pulumi.Input[str] transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param pulumi.Input[int] failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeHeaderArgs']]] headers: A `header` block as detailed below. + :param pulumi.Input[str] host: The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param pulumi.Input[int] initial_delay: The time in seconds to wait after the container has started before the probe is started. + :param pulumi.Input[int] interval_seconds: How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + :param pulumi.Input[str] path: The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param pulumi.Input[int] termination_grace_period_seconds: The time in seconds after the container is sent the termination signal before the process if forcibly killed. + :param pulumi.Input[int] timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if initial_delay is not None: + pulumi.set(__self__, "initial_delay", initial_delay) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> pulumi.Input[int]: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: pulumi.Input[int]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def transport(self) -> pulumi.Input[str]: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @transport.setter + def transport(self, value: pulumi.Input[str]): + pulumi.set(self, "transport", value) + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[pulumi.Input[int]]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @failure_count_threshold.setter + def failure_count_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "failure_count_threshold", value) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeHeaderArgs']]]]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerLivenessProbeHeaderArgs']]]]): + pulumi.set(self, "headers", value) + + @property + @pulumi.getter + def host(self) -> Optional[pulumi.Input[str]]: + """ + The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter(name="initialDelay") + def initial_delay(self) -> Optional[pulumi.Input[int]]: + """ + The time in seconds to wait after the container has started before the probe is started. + """ + return pulumi.get(self, "initial_delay") + + @initial_delay.setter + def initial_delay(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "initial_delay", value) + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[pulumi.Input[int]]: + """ + How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + """ + return pulumi.get(self, "interval_seconds") + + @interval_seconds.setter + def interval_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval_seconds", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="terminationGracePeriodSeconds") + def termination_grace_period_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The time in seconds after the container is sent the termination signal before the process if forcibly killed. + """ + return pulumi.get(self, "termination_grace_period_seconds") + + @termination_grace_period_seconds.setter + def termination_grace_period_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "termination_grace_period_seconds", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[int]]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout", value) + + +@pulumi.input_type +class JobTemplateContainerLivenessProbeHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The HTTP Header Name. + :param pulumi.Input[str] value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateContainerReadinessProbeArgs: + def __init__(__self__, *, + port: pulumi.Input[int], + transport: pulumi.Input[str], + failure_count_threshold: Optional[pulumi.Input[int]] = None, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeHeaderArgs']]]] = None, + host: Optional[pulumi.Input[str]] = None, + interval_seconds: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + success_count_threshold: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] port: The port number on which to connect. Possible values are between `1` and `65535`. + :param pulumi.Input[str] transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param pulumi.Input[int] failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeHeaderArgs']]] headers: A `header` block as detailed below. + :param pulumi.Input[str] host: The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param pulumi.Input[int] interval_seconds: How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + :param pulumi.Input[str] path: The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param pulumi.Input[int] success_count_threshold: The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + :param pulumi.Input[int] timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if success_count_threshold is not None: + pulumi.set(__self__, "success_count_threshold", success_count_threshold) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> pulumi.Input[int]: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: pulumi.Input[int]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def transport(self) -> pulumi.Input[str]: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @transport.setter + def transport(self, value: pulumi.Input[str]): + pulumi.set(self, "transport", value) + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[pulumi.Input[int]]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @failure_count_threshold.setter + def failure_count_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "failure_count_threshold", value) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeHeaderArgs']]]]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerReadinessProbeHeaderArgs']]]]): + pulumi.set(self, "headers", value) + + @property + @pulumi.getter + def host(self) -> Optional[pulumi.Input[str]]: + """ + The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[pulumi.Input[int]]: + """ + How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + """ + return pulumi.get(self, "interval_seconds") + + @interval_seconds.setter + def interval_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval_seconds", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="successCountThreshold") + def success_count_threshold(self) -> Optional[pulumi.Input[int]]: + """ + The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "success_count_threshold") + + @success_count_threshold.setter + def success_count_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "success_count_threshold", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[int]]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout", value) + + +@pulumi.input_type +class JobTemplateContainerReadinessProbeHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The HTTP Header Name. + :param pulumi.Input[str] value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateContainerStartupProbeArgs: + def __init__(__self__, *, + port: pulumi.Input[int], + transport: pulumi.Input[str], + failure_count_threshold: Optional[pulumi.Input[int]] = None, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeHeaderArgs']]]] = None, + host: Optional[pulumi.Input[str]] = None, + interval_seconds: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + termination_grace_period_seconds: Optional[pulumi.Input[int]] = None, + timeout: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] port: The port number on which to connect. Possible values are between `1` and `65535`. + :param pulumi.Input[str] transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param pulumi.Input[int] failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeHeaderArgs']]] headers: A `header` block as detailed below. + :param pulumi.Input[str] host: The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param pulumi.Input[int] interval_seconds: How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + :param pulumi.Input[str] path: The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param pulumi.Input[int] termination_grace_period_seconds: The time in seconds after the container is sent the termination signal before the process if forcibly killed. + :param pulumi.Input[int] timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> pulumi.Input[int]: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: pulumi.Input[int]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def transport(self) -> pulumi.Input[str]: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @transport.setter + def transport(self, value: pulumi.Input[str]): + pulumi.set(self, "transport", value) + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[pulumi.Input[int]]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @failure_count_threshold.setter + def failure_count_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "failure_count_threshold", value) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeHeaderArgs']]]]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateContainerStartupProbeHeaderArgs']]]]): + pulumi.set(self, "headers", value) + + @property + @pulumi.getter + def host(self) -> Optional[pulumi.Input[str]]: + """ + The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[pulumi.Input[int]]: + """ + How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + """ + return pulumi.get(self, "interval_seconds") + + @interval_seconds.setter + def interval_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval_seconds", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="terminationGracePeriodSeconds") + def termination_grace_period_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The time in seconds after the container is sent the termination signal before the process if forcibly killed. + """ + return pulumi.get(self, "termination_grace_period_seconds") + + @termination_grace_period_seconds.setter + def termination_grace_period_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "termination_grace_period_seconds", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[int]]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout", value) + + +@pulumi.input_type +class JobTemplateContainerStartupProbeHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The HTTP Header Name. + :param pulumi.Input[str] value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateContainerVolumeMountArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + path: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + :param pulumi.Input[str] path: The path within the container at which the volume should be mounted. Must not contain `:`. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + The path within the container at which the volume should be mounted. Must not contain `:`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class JobTemplateInitContainerArgs: + def __init__(__self__, *, + image: pulumi.Input[str], + name: pulumi.Input[str], + args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + commands: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu: Optional[pulumi.Input[float]] = None, + envs: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerEnvArgs']]]] = None, + ephemeral_storage: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[str]] = None, + volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerVolumeMountArgs']]]] = None): + """ + :param pulumi.Input[str] image: The image to use to create the container. + :param pulumi.Input[str] name: The name of the container. + :param pulumi.Input[Sequence[pulumi.Input[str]]] args: A list of extra arguments to pass to the container. + :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + :param pulumi.Input[float] cpu: The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerEnvArgs']]] envs: One or more `env` blocks as detailed below. + :param pulumi.Input[str] ephemeral_storage: The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + :param pulumi.Input[str] memory: The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + :param pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerVolumeMountArgs']]] volume_mounts: A `volume_mounts` block as detailed below. + """ + pulumi.set(__self__, "image", image) + pulumi.set(__self__, "name", name) + if args is not None: + pulumi.set(__self__, "args", args) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if envs is not None: + pulumi.set(__self__, "envs", envs) + if ephemeral_storage is not None: + pulumi.set(__self__, "ephemeral_storage", ephemeral_storage) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if volume_mounts is not None: + pulumi.set(__self__, "volume_mounts", volume_mounts) + + @property + @pulumi.getter + def image(self) -> pulumi.Input[str]: + """ + The image to use to create the container. + """ + return pulumi.get(self, "image") + + @image.setter + def image(self, value: pulumi.Input[str]): + pulumi.set(self, "image", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the container. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of extra arguments to pass to the container. + """ + return pulumi.get(self, "args") + + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "args", value) + + @property + @pulumi.getter + def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + """ + return pulumi.get(self, "commands") + + @commands.setter + def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "commands", value) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[float]]: + """ + The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def envs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerEnvArgs']]]]: + """ + One or more `env` blocks as detailed below. + """ + return pulumi.get(self, "envs") + + @envs.setter + def envs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerEnvArgs']]]]): + pulumi.set(self, "envs", value) + + @property + @pulumi.getter(name="ephemeralStorage") + def ephemeral_storage(self) -> Optional[pulumi.Input[str]]: + """ + The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + """ + return pulumi.get(self, "ephemeral_storage") + + @ephemeral_storage.setter + def ephemeral_storage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ephemeral_storage", value) + + @property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[str]]: + """ + The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "memory", value) + + @property + @pulumi.getter(name="volumeMounts") + def volume_mounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerVolumeMountArgs']]]]: + """ + A `volume_mounts` block as detailed below. + """ + return pulumi.get(self, "volume_mounts") + + @volume_mounts.setter + def volume_mounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateInitContainerVolumeMountArgs']]]]): + pulumi.set(self, "volume_mounts", value) + + +@pulumi.input_type +class JobTemplateInitContainerEnvArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + secret_name: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: The name of the environment variable. + :param pulumi.Input[str] secret_name: Name of the Container App secret from which to pull the environment variable value. + :param pulumi.Input[str] value: The value of the environment variable. + """ + pulumi.set(__self__, "name", name) + if secret_name is not None: + pulumi.set(__self__, "secret_name", secret_name) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the environment variable. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Container App secret from which to pull the environment variable value. + """ + return pulumi.get(self, "secret_name") + + @secret_name.setter + def secret_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_name", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class JobTemplateInitContainerVolumeMountArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + path: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + :param pulumi.Input[str] path: The path within the container at which the volume should be mounted. Must not contain `:`. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + The path within the container at which the volume should be mounted. Must not contain `:`. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class JobTemplateVolumeArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + storage_name: Optional[pulumi.Input[str]] = None, + storage_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: The name of the volume. + :param pulumi.Input[str] storage_name: The name of the storage to use for the volume. + :param pulumi.Input[str] storage_type: The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + """ + pulumi.set(__self__, "name", name) + if storage_name is not None: + pulumi.set(__self__, "storage_name", storage_name) + if storage_type is not None: + pulumi.set(__self__, "storage_type", storage_type) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the volume. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="storageName") + def storage_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the storage to use for the volume. + """ + return pulumi.get(self, "storage_name") + + @storage_name.setter + def storage_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_name", value) + + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + """ + return pulumi.get(self, "storage_type") + + @storage_type.setter + def storage_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_type", value) + + diff --git a/sdk/python/pulumi_azure/containerapp/environment.py b/sdk/python/pulumi_azure/containerapp/environment.py index 9abf6fea62..c17bcf597b 100644 --- a/sdk/python/pulumi_azure/containerapp/environment.py +++ b/sdk/python/pulumi_azure/containerapp/environment.py @@ -215,6 +215,7 @@ def zone_redundancy_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class _EnvironmentState: def __init__(__self__, *, + custom_domain_verification_id: Optional[pulumi.Input[str]] = None, dapr_application_insights_connection_string: Optional[pulumi.Input[str]] = None, default_domain: Optional[pulumi.Input[str]] = None, docker_bridge_cidr: Optional[pulumi.Input[str]] = None, @@ -233,6 +234,7 @@ def __init__(__self__, *, zone_redundancy_enabled: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering Environment resources. + :param pulumi.Input[str] custom_domain_verification_id: The ID of the Custom Domain Verification for this Container App Environment. :param pulumi.Input[str] dapr_application_insights_connection_string: Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. :param pulumi.Input[str] default_domain: The default, publicly resolvable, name of this Container App Environment. :param pulumi.Input[str] docker_bridge_cidr: The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation. @@ -258,6 +260,8 @@ def __init__(__self__, *, > **Note:** can only be set to `true` if `infrastructure_subnet_id` is specified. """ + if custom_domain_verification_id is not None: + pulumi.set(__self__, "custom_domain_verification_id", custom_domain_verification_id) if dapr_application_insights_connection_string is not None: pulumi.set(__self__, "dapr_application_insights_connection_string", dapr_application_insights_connection_string) if default_domain is not None: @@ -291,6 +295,18 @@ def __init__(__self__, *, if zone_redundancy_enabled is not None: pulumi.set(__self__, "zone_redundancy_enabled", zone_redundancy_enabled) + @property + @pulumi.getter(name="customDomainVerificationId") + def custom_domain_verification_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Custom Domain Verification for this Container App Environment. + """ + return pulumi.get(self, "custom_domain_verification_id") + + @custom_domain_verification_id.setter + def custom_domain_verification_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_domain_verification_id", value) + @property @pulumi.getter(name="daprApplicationInsightsConnectionString") def dapr_application_insights_connection_string(self) -> Optional[pulumi.Input[str]]: @@ -651,6 +667,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["workload_profiles"] = workload_profiles __props__.__dict__["zone_redundancy_enabled"] = zone_redundancy_enabled + __props__.__dict__["custom_domain_verification_id"] = None __props__.__dict__["default_domain"] = None __props__.__dict__["docker_bridge_cidr"] = None __props__.__dict__["platform_reserved_cidr"] = None @@ -668,6 +685,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + custom_domain_verification_id: Optional[pulumi.Input[str]] = None, dapr_application_insights_connection_string: Optional[pulumi.Input[str]] = None, default_domain: Optional[pulumi.Input[str]] = None, docker_bridge_cidr: Optional[pulumi.Input[str]] = None, @@ -691,6 +709,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] custom_domain_verification_id: The ID of the Custom Domain Verification for this Container App Environment. :param pulumi.Input[str] dapr_application_insights_connection_string: Application Insights connection string used by Dapr to export Service to Service communication telemetry. Changing this forces a new resource to be created. :param pulumi.Input[str] default_domain: The default, publicly resolvable, name of this Container App Environment. :param pulumi.Input[str] docker_bridge_cidr: The network addressing in which the Container Apps in this Container App Environment will reside in CIDR notation. @@ -720,6 +739,7 @@ def get(resource_name: str, __props__ = _EnvironmentState.__new__(_EnvironmentState) + __props__.__dict__["custom_domain_verification_id"] = custom_domain_verification_id __props__.__dict__["dapr_application_insights_connection_string"] = dapr_application_insights_connection_string __props__.__dict__["default_domain"] = default_domain __props__.__dict__["docker_bridge_cidr"] = docker_bridge_cidr @@ -738,6 +758,14 @@ def get(resource_name: str, __props__.__dict__["zone_redundancy_enabled"] = zone_redundancy_enabled return Environment(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="customDomainVerificationId") + def custom_domain_verification_id(self) -> pulumi.Output[str]: + """ + The ID of the Custom Domain Verification for this Container App Environment. + """ + return pulumi.get(self, "custom_domain_verification_id") + @property @pulumi.getter(name="daprApplicationInsightsConnectionString") def dapr_application_insights_connection_string(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_azure/containerapp/environment_custom_domain.py b/sdk/python/pulumi_azure/containerapp/environment_custom_domain.py new file mode 100644 index 0000000000..ecafe526e1 --- /dev/null +++ b/sdk/python/pulumi_azure/containerapp/environment_custom_domain.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['EnvironmentCustomDomainArgs', 'EnvironmentCustomDomain'] + +@pulumi.input_type +class EnvironmentCustomDomainArgs: + def __init__(__self__, *, + certificate_blob_base64: pulumi.Input[str], + certificate_password: pulumi.Input[str], + container_app_environment_id: pulumi.Input[str], + dns_suffix: pulumi.Input[str]): + """ + The set of arguments for constructing a EnvironmentCustomDomain resource. + :param pulumi.Input[str] certificate_blob_base64: The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + :param pulumi.Input[str] certificate_password: The password for the Certificate bundle. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + :param pulumi.Input[str] dns_suffix: Custom DNS Suffix for the Container App Environment. + """ + pulumi.set(__self__, "certificate_blob_base64", certificate_blob_base64) + pulumi.set(__self__, "certificate_password", certificate_password) + pulumi.set(__self__, "container_app_environment_id", container_app_environment_id) + pulumi.set(__self__, "dns_suffix", dns_suffix) + + @property + @pulumi.getter(name="certificateBlobBase64") + def certificate_blob_base64(self) -> pulumi.Input[str]: + """ + The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + """ + return pulumi.get(self, "certificate_blob_base64") + + @certificate_blob_base64.setter + def certificate_blob_base64(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_blob_base64", value) + + @property + @pulumi.getter(name="certificatePassword") + def certificate_password(self) -> pulumi.Input[str]: + """ + The password for the Certificate bundle. + """ + return pulumi.get(self, "certificate_password") + + @certificate_password.setter + def certificate_password(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_password", value) + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> pulumi.Input[str]: + """ + The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @container_app_environment_id.setter + def container_app_environment_id(self, value: pulumi.Input[str]): + pulumi.set(self, "container_app_environment_id", value) + + @property + @pulumi.getter(name="dnsSuffix") + def dns_suffix(self) -> pulumi.Input[str]: + """ + Custom DNS Suffix for the Container App Environment. + """ + return pulumi.get(self, "dns_suffix") + + @dns_suffix.setter + def dns_suffix(self, value: pulumi.Input[str]): + pulumi.set(self, "dns_suffix", value) + + +@pulumi.input_type +class _EnvironmentCustomDomainState: + def __init__(__self__, *, + certificate_blob_base64: Optional[pulumi.Input[str]] = None, + certificate_password: Optional[pulumi.Input[str]] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + dns_suffix: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering EnvironmentCustomDomain resources. + :param pulumi.Input[str] certificate_blob_base64: The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + :param pulumi.Input[str] certificate_password: The password for the Certificate bundle. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + :param pulumi.Input[str] dns_suffix: Custom DNS Suffix for the Container App Environment. + """ + if certificate_blob_base64 is not None: + pulumi.set(__self__, "certificate_blob_base64", certificate_blob_base64) + if certificate_password is not None: + pulumi.set(__self__, "certificate_password", certificate_password) + if container_app_environment_id is not None: + pulumi.set(__self__, "container_app_environment_id", container_app_environment_id) + if dns_suffix is not None: + pulumi.set(__self__, "dns_suffix", dns_suffix) + + @property + @pulumi.getter(name="certificateBlobBase64") + def certificate_blob_base64(self) -> Optional[pulumi.Input[str]]: + """ + The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + """ + return pulumi.get(self, "certificate_blob_base64") + + @certificate_blob_base64.setter + def certificate_blob_base64(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_blob_base64", value) + + @property + @pulumi.getter(name="certificatePassword") + def certificate_password(self) -> Optional[pulumi.Input[str]]: + """ + The password for the Certificate bundle. + """ + return pulumi.get(self, "certificate_password") + + @certificate_password.setter + def certificate_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_password", value) + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @container_app_environment_id.setter + def container_app_environment_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "container_app_environment_id", value) + + @property + @pulumi.getter(name="dnsSuffix") + def dns_suffix(self) -> Optional[pulumi.Input[str]]: + """ + Custom DNS Suffix for the Container App Environment. + """ + return pulumi.get(self, "dns_suffix") + + @dns_suffix.setter + def dns_suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_suffix", value) + + +class EnvironmentCustomDomain(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate_blob_base64: Optional[pulumi.Input[str]] = None, + certificate_password: Optional[pulumi.Input[str]] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + dns_suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Container App Environment Custom Domain Suffix. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + import pulumi_std as std + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="acctest-01", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_environment = azure.containerapp.Environment("example", + name="my-environment", + location=example.location, + resource_group_name=example.name, + log_analytics_workspace_id=example_analytics_workspace.id) + example_environment_custom_domain = azure.containerapp.EnvironmentCustomDomain("example", + container_app_environment_id=example_environment.id, + certificate_blob_base64=std.filebase64(input="testacc.pfx").result, + certificate_password="TestAcc", + dns_suffix="acceptancetest.contoso.com") + ``` + + ## Import + + A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. + + ```sh + $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] certificate_blob_base64: The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + :param pulumi.Input[str] certificate_password: The password for the Certificate bundle. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + :param pulumi.Input[str] dns_suffix: Custom DNS Suffix for the Container App Environment. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EnvironmentCustomDomainArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Container App Environment Custom Domain Suffix. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + import pulumi_std as std + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="acctest-01", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_environment = azure.containerapp.Environment("example", + name="my-environment", + location=example.location, + resource_group_name=example.name, + log_analytics_workspace_id=example_analytics_workspace.id) + example_environment_custom_domain = azure.containerapp.EnvironmentCustomDomain("example", + container_app_environment_id=example_environment.id, + certificate_blob_base64=std.filebase64(input="testacc.pfx").result, + certificate_password="TestAcc", + dns_suffix="acceptancetest.contoso.com") + ``` + + ## Import + + A Container App Environment Custom Domain Suffix can be imported using the `resource id` of its parent container ontainer App Environment , e.g. + + ```sh + $ pulumi import azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.App/managedEnvironments/myEnvironment" + ``` + + :param str resource_name: The name of the resource. + :param EnvironmentCustomDomainArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(EnvironmentCustomDomainArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate_blob_base64: Optional[pulumi.Input[str]] = None, + certificate_password: Optional[pulumi.Input[str]] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + dns_suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = EnvironmentCustomDomainArgs.__new__(EnvironmentCustomDomainArgs) + + if certificate_blob_base64 is None and not opts.urn: + raise TypeError("Missing required property 'certificate_blob_base64'") + __props__.__dict__["certificate_blob_base64"] = certificate_blob_base64 + if certificate_password is None and not opts.urn: + raise TypeError("Missing required property 'certificate_password'") + __props__.__dict__["certificate_password"] = None if certificate_password is None else pulumi.Output.secret(certificate_password) + if container_app_environment_id is None and not opts.urn: + raise TypeError("Missing required property 'container_app_environment_id'") + __props__.__dict__["container_app_environment_id"] = container_app_environment_id + if dns_suffix is None and not opts.urn: + raise TypeError("Missing required property 'dns_suffix'") + __props__.__dict__["dns_suffix"] = dns_suffix + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["certificatePassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(EnvironmentCustomDomain, __self__).__init__( + 'azure:containerapp/environmentCustomDomain:EnvironmentCustomDomain', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + certificate_blob_base64: Optional[pulumi.Input[str]] = None, + certificate_password: Optional[pulumi.Input[str]] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + dns_suffix: Optional[pulumi.Input[str]] = None) -> 'EnvironmentCustomDomain': + """ + Get an existing EnvironmentCustomDomain resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] certificate_blob_base64: The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + :param pulumi.Input[str] certificate_password: The password for the Certificate bundle. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + :param pulumi.Input[str] dns_suffix: Custom DNS Suffix for the Container App Environment. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EnvironmentCustomDomainState.__new__(_EnvironmentCustomDomainState) + + __props__.__dict__["certificate_blob_base64"] = certificate_blob_base64 + __props__.__dict__["certificate_password"] = certificate_password + __props__.__dict__["container_app_environment_id"] = container_app_environment_id + __props__.__dict__["dns_suffix"] = dns_suffix + return EnvironmentCustomDomain(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="certificateBlobBase64") + def certificate_blob_base64(self) -> pulumi.Output[str]: + """ + The bundle of Private Key and Certificate for the Custom DNS Suffix as a base64 encoded PFX or PEM. + """ + return pulumi.get(self, "certificate_blob_base64") + + @property + @pulumi.getter(name="certificatePassword") + def certificate_password(self) -> pulumi.Output[str]: + """ + The password for the Certificate bundle. + """ + return pulumi.get(self, "certificate_password") + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> pulumi.Output[str]: + """ + The ID of the Container Apps Managed Environment. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @property + @pulumi.getter(name="dnsSuffix") + def dns_suffix(self) -> pulumi.Output[str]: + """ + Custom DNS Suffix for the Container App Environment. + """ + return pulumi.get(self, "dns_suffix") + diff --git a/sdk/python/pulumi_azure/containerapp/get_environment.py b/sdk/python/pulumi_azure/containerapp/get_environment.py index c7a1b5fca8..a8c600a8e2 100644 --- a/sdk/python/pulumi_azure/containerapp/get_environment.py +++ b/sdk/python/pulumi_azure/containerapp/get_environment.py @@ -21,7 +21,10 @@ class GetEnvironmentResult: """ A collection of values returned by getEnvironment. """ - def __init__(__self__, default_domain=None, docker_bridge_cidr=None, id=None, infrastructure_subnet_id=None, internal_load_balancer_enabled=None, location=None, log_analytics_workspace_name=None, name=None, platform_reserved_cidr=None, platform_reserved_dns_ip_address=None, resource_group_name=None, static_ip_address=None, tags=None): + def __init__(__self__, custom_domain_verification_id=None, default_domain=None, docker_bridge_cidr=None, id=None, infrastructure_subnet_id=None, internal_load_balancer_enabled=None, location=None, log_analytics_workspace_name=None, name=None, platform_reserved_cidr=None, platform_reserved_dns_ip_address=None, resource_group_name=None, static_ip_address=None, tags=None): + if custom_domain_verification_id and not isinstance(custom_domain_verification_id, str): + raise TypeError("Expected argument 'custom_domain_verification_id' to be a str") + pulumi.set(__self__, "custom_domain_verification_id", custom_domain_verification_id) if default_domain and not isinstance(default_domain, str): raise TypeError("Expected argument 'default_domain' to be a str") pulumi.set(__self__, "default_domain", default_domain) @@ -62,6 +65,14 @@ def __init__(__self__, default_domain=None, docker_bridge_cidr=None, id=None, in raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter(name="customDomainVerificationId") + def custom_domain_verification_id(self) -> str: + """ + The ID of the Custom Domain Verification for this Container App Environment. + """ + return pulumi.get(self, "custom_domain_verification_id") + @property @pulumi.getter(name="defaultDomain") def default_domain(self) -> str: @@ -167,6 +178,7 @@ def __await__(self): if False: yield self return GetEnvironmentResult( + custom_domain_verification_id=self.custom_domain_verification_id, default_domain=self.default_domain, docker_bridge_cidr=self.docker_bridge_cidr, id=self.id, @@ -209,6 +221,7 @@ def get_environment(name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure:containerapp/getEnvironment:getEnvironment', __args__, opts=opts, typ=GetEnvironmentResult).value return AwaitableGetEnvironmentResult( + custom_domain_verification_id=pulumi.get(__ret__, 'custom_domain_verification_id'), default_domain=pulumi.get(__ret__, 'default_domain'), docker_bridge_cidr=pulumi.get(__ret__, 'docker_bridge_cidr'), id=pulumi.get(__ret__, 'id'), diff --git a/sdk/python/pulumi_azure/containerapp/job.py b/sdk/python/pulumi_azure/containerapp/job.py new file mode 100644 index 0000000000..578fe264e6 --- /dev/null +++ b/sdk/python/pulumi_azure/containerapp/job.py @@ -0,0 +1,1021 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['JobArgs', 'Job'] + +@pulumi.input_type +class JobArgs: + def __init__(__self__, *, + container_app_environment_id: pulumi.Input[str], + replica_timeout_in_seconds: pulumi.Input[int], + resource_group_name: pulumi.Input[str], + template: pulumi.Input['JobTemplateArgs'], + event_trigger_config: Optional[pulumi.Input['JobEventTriggerConfigArgs']] = None, + identity: Optional[pulumi.Input['JobIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + manual_trigger_config: Optional[pulumi.Input['JobManualTriggerConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]] = None, + replica_retry_limit: Optional[pulumi.Input[int]] = None, + schedule_trigger_config: Optional[pulumi.Input['JobScheduleTriggerConfigArgs']] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + workload_profile_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Job resource. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[int] replica_timeout_in_seconds: The maximum number of seconds a replica is allowed to run. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input['JobTemplateArgs'] template: A `template` block as defined below. + :param pulumi.Input['JobEventTriggerConfigArgs'] event_trigger_config: A `event_trigger_config` block as defined below. + :param pulumi.Input['JobIdentityArgs'] identity: A `identity` block as defined below. + :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input['JobManualTriggerConfigArgs'] manual_trigger_config: A `manual_trigger_config` block as defined below. + :param pulumi.Input[str] name: Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]] registries: A `registries` block as defined below. + :param pulumi.Input[int] replica_retry_limit: The maximum number of times a replica is allowed to retry. + :param pulumi.Input['JobScheduleTriggerConfigArgs'] schedule_trigger_config: A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + :param pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]] secrets: A `secrets` block as defined below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[str] workload_profile_name: The name of the workload profile to use for the Container App Job. + """ + pulumi.set(__self__, "container_app_environment_id", container_app_environment_id) + pulumi.set(__self__, "replica_timeout_in_seconds", replica_timeout_in_seconds) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "template", template) + if event_trigger_config is not None: + pulumi.set(__self__, "event_trigger_config", event_trigger_config) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if manual_trigger_config is not None: + pulumi.set(__self__, "manual_trigger_config", manual_trigger_config) + if name is not None: + pulumi.set(__self__, "name", name) + if registries is not None: + pulumi.set(__self__, "registries", registries) + if replica_retry_limit is not None: + pulumi.set(__self__, "replica_retry_limit", replica_retry_limit) + if schedule_trigger_config is not None: + pulumi.set(__self__, "schedule_trigger_config", schedule_trigger_config) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if workload_profile_name is not None: + pulumi.set(__self__, "workload_profile_name", workload_profile_name) + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> pulumi.Input[str]: + """ + The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @container_app_environment_id.setter + def container_app_environment_id(self, value: pulumi.Input[str]): + pulumi.set(self, "container_app_environment_id", value) + + @property + @pulumi.getter(name="replicaTimeoutInSeconds") + def replica_timeout_in_seconds(self) -> pulumi.Input[int]: + """ + The maximum number of seconds a replica is allowed to run. + """ + return pulumi.get(self, "replica_timeout_in_seconds") + + @replica_timeout_in_seconds.setter + def replica_timeout_in_seconds(self, value: pulumi.Input[int]): + pulumi.set(self, "replica_timeout_in_seconds", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + """ + 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 template(self) -> pulumi.Input['JobTemplateArgs']: + """ + A `template` block as defined below. + """ + return pulumi.get(self, "template") + + @template.setter + def template(self, value: pulumi.Input['JobTemplateArgs']): + pulumi.set(self, "template", value) + + @property + @pulumi.getter(name="eventTriggerConfig") + def event_trigger_config(self) -> Optional[pulumi.Input['JobEventTriggerConfigArgs']]: + """ + A `event_trigger_config` block as defined below. + """ + return pulumi.get(self, "event_trigger_config") + + @event_trigger_config.setter + def event_trigger_config(self, value: Optional[pulumi.Input['JobEventTriggerConfigArgs']]): + pulumi.set(self, "event_trigger_config", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['JobIdentityArgs']]: + """ + A `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['JobIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="manualTriggerConfig") + def manual_trigger_config(self) -> Optional[pulumi.Input['JobManualTriggerConfigArgs']]: + """ + A `manual_trigger_config` block as defined below. + """ + return pulumi.get(self, "manual_trigger_config") + + @manual_trigger_config.setter + def manual_trigger_config(self, value: Optional[pulumi.Input['JobManualTriggerConfigArgs']]): + pulumi.set(self, "manual_trigger_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]]: + """ + A `registries` block as defined below. + """ + return pulumi.get(self, "registries") + + @registries.setter + def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]]): + pulumi.set(self, "registries", value) + + @property + @pulumi.getter(name="replicaRetryLimit") + def replica_retry_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times a replica is allowed to retry. + """ + return pulumi.get(self, "replica_retry_limit") + + @replica_retry_limit.setter + def replica_retry_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_retry_limit", value) + + @property + @pulumi.getter(name="scheduleTriggerConfig") + def schedule_trigger_config(self) -> Optional[pulumi.Input['JobScheduleTriggerConfigArgs']]: + """ + A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + """ + return pulumi.get(self, "schedule_trigger_config") + + @schedule_trigger_config.setter + def schedule_trigger_config(self, value: Optional[pulumi.Input['JobScheduleTriggerConfigArgs']]): + pulumi.set(self, "schedule_trigger_config", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]]: + """ + A `secrets` block as defined below. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of tags to assign to the resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="workloadProfileName") + def workload_profile_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workload profile to use for the Container App Job. + """ + return pulumi.get(self, "workload_profile_name") + + @workload_profile_name.setter + def workload_profile_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workload_profile_name", value) + + +@pulumi.input_type +class _JobState: + def __init__(__self__, *, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + event_stream_endpoint: Optional[pulumi.Input[str]] = None, + event_trigger_config: Optional[pulumi.Input['JobEventTriggerConfigArgs']] = None, + identity: Optional[pulumi.Input['JobIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + manual_trigger_config: Optional[pulumi.Input['JobManualTriggerConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + outbound_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]] = None, + replica_retry_limit: Optional[pulumi.Input[int]] = None, + replica_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + schedule_trigger_config: Optional[pulumi.Input['JobScheduleTriggerConfigArgs']] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template: Optional[pulumi.Input['JobTemplateArgs']] = None, + workload_profile_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Job resources. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[str] event_stream_endpoint: The endpoint for the Container App Job event stream. + :param pulumi.Input['JobEventTriggerConfigArgs'] event_trigger_config: A `event_trigger_config` block as defined below. + :param pulumi.Input['JobIdentityArgs'] identity: A `identity` block as defined below. + :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input['JobManualTriggerConfigArgs'] manual_trigger_config: A `manual_trigger_config` block as defined below. + :param pulumi.Input[str] name: Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] outbound_ip_addresses: A list of the Public IP Addresses which the Container App uses for outbound network access. + :param pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]] registries: A `registries` block as defined below. + :param pulumi.Input[int] replica_retry_limit: The maximum number of times a replica is allowed to retry. + :param pulumi.Input[int] replica_timeout_in_seconds: The maximum number of seconds a replica is allowed to run. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input['JobScheduleTriggerConfigArgs'] schedule_trigger_config: A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + :param pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]] secrets: A `secrets` block as defined below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input['JobTemplateArgs'] template: A `template` block as defined below. + :param pulumi.Input[str] workload_profile_name: The name of the workload profile to use for the Container App Job. + """ + if container_app_environment_id is not None: + pulumi.set(__self__, "container_app_environment_id", container_app_environment_id) + if event_stream_endpoint is not None: + pulumi.set(__self__, "event_stream_endpoint", event_stream_endpoint) + if event_trigger_config is not None: + pulumi.set(__self__, "event_trigger_config", event_trigger_config) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if manual_trigger_config is not None: + pulumi.set(__self__, "manual_trigger_config", manual_trigger_config) + if name is not None: + pulumi.set(__self__, "name", name) + if outbound_ip_addresses is not None: + pulumi.set(__self__, "outbound_ip_addresses", outbound_ip_addresses) + if registries is not None: + pulumi.set(__self__, "registries", registries) + if replica_retry_limit is not None: + pulumi.set(__self__, "replica_retry_limit", replica_retry_limit) + if replica_timeout_in_seconds is not None: + pulumi.set(__self__, "replica_timeout_in_seconds", replica_timeout_in_seconds) + if resource_group_name is not None: + pulumi.set(__self__, "resource_group_name", resource_group_name) + if schedule_trigger_config is not None: + pulumi.set(__self__, "schedule_trigger_config", schedule_trigger_config) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if template is not None: + pulumi.set(__self__, "template", template) + if workload_profile_name is not None: + pulumi.set(__self__, "workload_profile_name", workload_profile_name) + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @container_app_environment_id.setter + def container_app_environment_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "container_app_environment_id", value) + + @property + @pulumi.getter(name="eventStreamEndpoint") + def event_stream_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The endpoint for the Container App Job event stream. + """ + return pulumi.get(self, "event_stream_endpoint") + + @event_stream_endpoint.setter + def event_stream_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_stream_endpoint", value) + + @property + @pulumi.getter(name="eventTriggerConfig") + def event_trigger_config(self) -> Optional[pulumi.Input['JobEventTriggerConfigArgs']]: + """ + A `event_trigger_config` block as defined below. + """ + return pulumi.get(self, "event_trigger_config") + + @event_trigger_config.setter + def event_trigger_config(self, value: Optional[pulumi.Input['JobEventTriggerConfigArgs']]): + pulumi.set(self, "event_trigger_config", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['JobIdentityArgs']]: + """ + A `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['JobIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="manualTriggerConfig") + def manual_trigger_config(self) -> Optional[pulumi.Input['JobManualTriggerConfigArgs']]: + """ + A `manual_trigger_config` block as defined below. + """ + return pulumi.get(self, "manual_trigger_config") + + @manual_trigger_config.setter + def manual_trigger_config(self, value: Optional[pulumi.Input['JobManualTriggerConfigArgs']]): + pulumi.set(self, "manual_trigger_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="outboundIpAddresses") + def outbound_ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of the Public IP Addresses which the Container App uses for outbound network access. + """ + return pulumi.get(self, "outbound_ip_addresses") + + @outbound_ip_addresses.setter + def outbound_ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "outbound_ip_addresses", value) + + @property + @pulumi.getter + def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]]: + """ + A `registries` block as defined below. + """ + return pulumi.get(self, "registries") + + @registries.setter + def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobRegistryArgs']]]]): + pulumi.set(self, "registries", value) + + @property + @pulumi.getter(name="replicaRetryLimit") + def replica_retry_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times a replica is allowed to retry. + """ + return pulumi.get(self, "replica_retry_limit") + + @replica_retry_limit.setter + def replica_retry_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_retry_limit", value) + + @property + @pulumi.getter(name="replicaTimeoutInSeconds") + def replica_timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of seconds a replica is allowed to run. + """ + return pulumi.get(self, "replica_timeout_in_seconds") + + @replica_timeout_in_seconds.setter + def replica_timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replica_timeout_in_seconds", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + """ + 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) + + @property + @pulumi.getter(name="scheduleTriggerConfig") + def schedule_trigger_config(self) -> Optional[pulumi.Input['JobScheduleTriggerConfigArgs']]: + """ + A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + """ + return pulumi.get(self, "schedule_trigger_config") + + @schedule_trigger_config.setter + def schedule_trigger_config(self, value: Optional[pulumi.Input['JobScheduleTriggerConfigArgs']]): + pulumi.set(self, "schedule_trigger_config", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]]: + """ + A `secrets` block as defined below. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobSecretArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of tags to assign to the resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def template(self) -> Optional[pulumi.Input['JobTemplateArgs']]: + """ + A `template` block as defined below. + """ + return pulumi.get(self, "template") + + @template.setter + def template(self, value: Optional[pulumi.Input['JobTemplateArgs']]): + pulumi.set(self, "template", value) + + @property + @pulumi.getter(name="workloadProfileName") + def workload_profile_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workload profile to use for the Container App Job. + """ + return pulumi.get(self, "workload_profile_name") + + @workload_profile_name.setter + def workload_profile_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workload_profile_name", value) + + +class Job(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + event_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobEventTriggerConfigArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['JobIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + manual_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobManualTriggerConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobRegistryArgs']]]]] = None, + replica_retry_limit: Optional[pulumi.Input[int]] = None, + replica_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + schedule_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobScheduleTriggerConfigArgs']]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobSecretArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None, + workload_profile_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Container App Job. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="example-log-analytics-workspace", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_environment = azure.containerapp.Environment("example", + name="example-container-app-environment", + location=example.location, + resource_group_name=example.name, + log_analytics_workspace_id=example_analytics_workspace.id) + example_job = azure.containerapp.Job("example", + name="example-container-app-job", + location=example.location, + resource_group_name=example.name, + container_app_environment_id=example_environment.id, + replica_timeout_in_seconds=10, + replica_retry_limit=10, + manual_trigger_config=azure.containerapp.JobManualTriggerConfigArgs( + parallelism=4, + replica_completion_count=1, + ), + template=azure.containerapp.JobTemplateArgs( + containers=[azure.containerapp.JobTemplateContainerArgs( + image="repo/testcontainerAppsJob0:v1", + name="testcontainerappsjob0", + readiness_probes=[azure.containerapp.JobTemplateContainerReadinessProbeArgs( + transport="HTTP", + port=5000, + )], + liveness_probes=[azure.containerapp.JobTemplateContainerLivenessProbeArgs( + transport="HTTP", + port=5000, + path="/health", + headers=[azure.containerapp.JobTemplateContainerLivenessProbeHeaderArgs( + name="Cache-Control", + value="no-cache", + )], + initial_delay=5, + interval_seconds=20, + timeout=2, + failure_count_threshold=1, + )], + startup_probes=[azure.containerapp.JobTemplateContainerStartupProbeArgs( + transport="TCP", + port=5000, + )], + cpu=0.5, + memory="1Gi", + )], + )) + ``` + + ## Import + + A Container App Job can be imported using the resource id, e.g. + + ```sh + $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['JobEventTriggerConfigArgs']] event_trigger_config: A `event_trigger_config` block as defined below. + :param pulumi.Input[pulumi.InputType['JobIdentityArgs']] identity: A `identity` block as defined below. + :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['JobManualTriggerConfigArgs']] manual_trigger_config: A `manual_trigger_config` block as defined below. + :param pulumi.Input[str] name: Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobRegistryArgs']]]] registries: A `registries` block as defined below. + :param pulumi.Input[int] replica_retry_limit: The maximum number of times a replica is allowed to retry. + :param pulumi.Input[int] replica_timeout_in_seconds: The maximum number of seconds a replica is allowed to run. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['JobScheduleTriggerConfigArgs']] schedule_trigger_config: A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobSecretArgs']]]] secrets: A `secrets` block as defined below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[pulumi.InputType['JobTemplateArgs']] template: A `template` block as defined below. + :param pulumi.Input[str] workload_profile_name: The name of the workload profile to use for the Container App Job. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JobArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Container App Job. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="example-log-analytics-workspace", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_environment = azure.containerapp.Environment("example", + name="example-container-app-environment", + location=example.location, + resource_group_name=example.name, + log_analytics_workspace_id=example_analytics_workspace.id) + example_job = azure.containerapp.Job("example", + name="example-container-app-job", + location=example.location, + resource_group_name=example.name, + container_app_environment_id=example_environment.id, + replica_timeout_in_seconds=10, + replica_retry_limit=10, + manual_trigger_config=azure.containerapp.JobManualTriggerConfigArgs( + parallelism=4, + replica_completion_count=1, + ), + template=azure.containerapp.JobTemplateArgs( + containers=[azure.containerapp.JobTemplateContainerArgs( + image="repo/testcontainerAppsJob0:v1", + name="testcontainerappsjob0", + readiness_probes=[azure.containerapp.JobTemplateContainerReadinessProbeArgs( + transport="HTTP", + port=5000, + )], + liveness_probes=[azure.containerapp.JobTemplateContainerLivenessProbeArgs( + transport="HTTP", + port=5000, + path="/health", + headers=[azure.containerapp.JobTemplateContainerLivenessProbeHeaderArgs( + name="Cache-Control", + value="no-cache", + )], + initial_delay=5, + interval_seconds=20, + timeout=2, + failure_count_threshold=1, + )], + startup_probes=[azure.containerapp.JobTemplateContainerStartupProbeArgs( + transport="TCP", + port=5000, + )], + cpu=0.5, + memory="1Gi", + )], + )) + ``` + + ## Import + + A Container App Job can be imported using the resource id, e.g. + + ```sh + $ pulumi import azure:containerapp/job:Job example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.App/jobs/example-container-app-job" + ``` + + :param str resource_name: The name of the resource. + :param JobArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(JobArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + event_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobEventTriggerConfigArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['JobIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + manual_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobManualTriggerConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobRegistryArgs']]]]] = None, + replica_retry_limit: Optional[pulumi.Input[int]] = None, + replica_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + schedule_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobScheduleTriggerConfigArgs']]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobSecretArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None, + workload_profile_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = JobArgs.__new__(JobArgs) + + if container_app_environment_id is None and not opts.urn: + raise TypeError("Missing required property 'container_app_environment_id'") + __props__.__dict__["container_app_environment_id"] = container_app_environment_id + __props__.__dict__["event_trigger_config"] = event_trigger_config + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + __props__.__dict__["manual_trigger_config"] = manual_trigger_config + __props__.__dict__["name"] = name + __props__.__dict__["registries"] = registries + __props__.__dict__["replica_retry_limit"] = replica_retry_limit + if replica_timeout_in_seconds is None and not opts.urn: + raise TypeError("Missing required property 'replica_timeout_in_seconds'") + __props__.__dict__["replica_timeout_in_seconds"] = replica_timeout_in_seconds + 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__["schedule_trigger_config"] = schedule_trigger_config + __props__.__dict__["secrets"] = None if secrets is None else pulumi.Output.secret(secrets) + __props__.__dict__["tags"] = tags + if template is None and not opts.urn: + raise TypeError("Missing required property 'template'") + __props__.__dict__["template"] = template + __props__.__dict__["workload_profile_name"] = workload_profile_name + __props__.__dict__["event_stream_endpoint"] = None + __props__.__dict__["outbound_ip_addresses"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secrets"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Job, __self__).__init__( + 'azure:containerapp/job:Job', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + container_app_environment_id: Optional[pulumi.Input[str]] = None, + event_stream_endpoint: Optional[pulumi.Input[str]] = None, + event_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobEventTriggerConfigArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['JobIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + manual_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobManualTriggerConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + outbound_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobRegistryArgs']]]]] = None, + replica_retry_limit: Optional[pulumi.Input[int]] = None, + replica_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + schedule_trigger_config: Optional[pulumi.Input[pulumi.InputType['JobScheduleTriggerConfigArgs']]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobSecretArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None, + workload_profile_name: Optional[pulumi.Input[str]] = None) -> 'Job': + """ + Get an existing Job resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] container_app_environment_id: The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[str] event_stream_endpoint: The endpoint for the Container App Job event stream. + :param pulumi.Input[pulumi.InputType['JobEventTriggerConfigArgs']] event_trigger_config: A `event_trigger_config` block as defined below. + :param pulumi.Input[pulumi.InputType['JobIdentityArgs']] identity: A `identity` block as defined below. + :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['JobManualTriggerConfigArgs']] manual_trigger_config: A `manual_trigger_config` block as defined below. + :param pulumi.Input[str] name: Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] outbound_ip_addresses: A list of the Public IP Addresses which the Container App uses for outbound network access. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobRegistryArgs']]]] registries: A `registries` block as defined below. + :param pulumi.Input[int] replica_retry_limit: The maximum number of times a replica is allowed to retry. + :param pulumi.Input[int] replica_timeout_in_seconds: The maximum number of seconds a replica is allowed to run. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['JobScheduleTriggerConfigArgs']] schedule_trigger_config: A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobSecretArgs']]]] secrets: A `secrets` block as defined below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[pulumi.InputType['JobTemplateArgs']] template: A `template` block as defined below. + :param pulumi.Input[str] workload_profile_name: The name of the workload profile to use for the Container App Job. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _JobState.__new__(_JobState) + + __props__.__dict__["container_app_environment_id"] = container_app_environment_id + __props__.__dict__["event_stream_endpoint"] = event_stream_endpoint + __props__.__dict__["event_trigger_config"] = event_trigger_config + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + __props__.__dict__["manual_trigger_config"] = manual_trigger_config + __props__.__dict__["name"] = name + __props__.__dict__["outbound_ip_addresses"] = outbound_ip_addresses + __props__.__dict__["registries"] = registries + __props__.__dict__["replica_retry_limit"] = replica_retry_limit + __props__.__dict__["replica_timeout_in_seconds"] = replica_timeout_in_seconds + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["schedule_trigger_config"] = schedule_trigger_config + __props__.__dict__["secrets"] = secrets + __props__.__dict__["tags"] = tags + __props__.__dict__["template"] = template + __props__.__dict__["workload_profile_name"] = workload_profile_name + return Job(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="containerAppEnvironmentId") + def container_app_environment_id(self) -> pulumi.Output[str]: + """ + The ID of the Container App Environment in which to create the Container App Job. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "container_app_environment_id") + + @property + @pulumi.getter(name="eventStreamEndpoint") + def event_stream_endpoint(self) -> pulumi.Output[str]: + """ + The endpoint for the Container App Job event stream. + """ + return pulumi.get(self, "event_stream_endpoint") + + @property + @pulumi.getter(name="eventTriggerConfig") + def event_trigger_config(self) -> pulumi.Output[Optional['outputs.JobEventTriggerConfig']]: + """ + A `event_trigger_config` block as defined below. + """ + return pulumi.get(self, "event_trigger_config") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.JobIdentity']]: + """ + A `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="manualTriggerConfig") + def manual_trigger_config(self) -> pulumi.Output[Optional['outputs.JobManualTriggerConfig']]: + """ + A `manual_trigger_config` block as defined below. + """ + return pulumi.get(self, "manual_trigger_config") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Specifies the name of the Container App Job resource. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outboundIpAddresses") + def outbound_ip_addresses(self) -> pulumi.Output[Sequence[str]]: + """ + A list of the Public IP Addresses which the Container App uses for outbound network access. + """ + return pulumi.get(self, "outbound_ip_addresses") + + @property + @pulumi.getter + def registries(self) -> pulumi.Output[Optional[Sequence['outputs.JobRegistry']]]: + """ + A `registries` block as defined below. + """ + return pulumi.get(self, "registries") + + @property + @pulumi.getter(name="replicaRetryLimit") + def replica_retry_limit(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of times a replica is allowed to retry. + """ + return pulumi.get(self, "replica_retry_limit") + + @property + @pulumi.getter(name="replicaTimeoutInSeconds") + def replica_timeout_in_seconds(self) -> pulumi.Output[int]: + """ + The maximum number of seconds a replica is allowed to run. + """ + return pulumi.get(self, "replica_timeout_in_seconds") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Output[str]: + """ + The name of the resource group in which to create the Container App Job. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "resource_group_name") + + @property + @pulumi.getter(name="scheduleTriggerConfig") + def schedule_trigger_config(self) -> pulumi.Output[Optional['outputs.JobScheduleTriggerConfig']]: + """ + A `schedule_trigger_config` block as defined below. + + > ** NOTE **: Only one of `manual_trigger_config`, `event_trigger_config` or `schedule_trigger_config` can be specified. + """ + return pulumi.get(self, "schedule_trigger_config") + + @property + @pulumi.getter + def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.JobSecret']]]: + """ + A `secrets` block as defined below. + """ + return pulumi.get(self, "secrets") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A mapping of tags to assign to the resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def template(self) -> pulumi.Output['outputs.JobTemplate']: + """ + A `template` block as defined below. + """ + return pulumi.get(self, "template") + + @property + @pulumi.getter(name="workloadProfileName") + def workload_profile_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the workload profile to use for the Container App Job. + """ + return pulumi.get(self, "workload_profile_name") + diff --git a/sdk/python/pulumi_azure/containerapp/outputs.py b/sdk/python/pulumi_azure/containerapp/outputs.py index bb9bda4df1..73afe15d08 100644 --- a/sdk/python/pulumi_azure/containerapp/outputs.py +++ b/sdk/python/pulumi_azure/containerapp/outputs.py @@ -44,6 +44,29 @@ 'EnvironmentDaprComponentMetadata', 'EnvironmentDaprComponentSecret', 'EnvironmentWorkloadProfile', + 'JobEventTriggerConfig', + 'JobEventTriggerConfigScale', + 'JobEventTriggerConfigScaleRule', + 'JobEventTriggerConfigScaleRuleAuthentication', + 'JobIdentity', + 'JobManualTriggerConfig', + 'JobRegistry', + 'JobScheduleTriggerConfig', + 'JobSecret', + 'JobTemplate', + 'JobTemplateContainer', + 'JobTemplateContainerEnv', + 'JobTemplateContainerLivenessProbe', + 'JobTemplateContainerLivenessProbeHeader', + 'JobTemplateContainerReadinessProbe', + 'JobTemplateContainerReadinessProbeHeader', + 'JobTemplateContainerStartupProbe', + 'JobTemplateContainerStartupProbeHeader', + 'JobTemplateContainerVolumeMount', + 'JobTemplateInitContainer', + 'JobTemplateInitContainerEnv', + 'JobTemplateInitContainerVolumeMount', + 'JobTemplateVolume', 'GetAppDaprResult', 'GetAppIdentityResult', 'GetAppIngressResult', @@ -683,8 +706,6 @@ def __init__(__self__, *, :param str value: The value for this secret. !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - - !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. """ pulumi.set(__self__, "name", name) if identity is not None: @@ -729,8 +750,6 @@ def value(self) -> Optional[str]: The value for this secret. !> **Note:** `value` will be ignored if `key_vault_secret_id` and `identity` are provided. - - !> **Note:** Secrets cannot be removed from the service once added, attempting to do so will result in an error. Their values may be zeroed, i.e. set to `""`, but the named secret must persist. This is due to a technical limitation on the service which causes the service to become unmanageable. See [this issue](https://github.com/microsoft/azure-container-apps/issues/395) for more details. """ return pulumi.get(self, "value") @@ -2629,6 +2648,1704 @@ def minimum_count(self) -> Optional[int]: return pulumi.get(self, "minimum_count") +@pulumi.output_type +class JobEventTriggerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "replicaCompletionCount": + suggest = "replica_completion_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobEventTriggerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobEventTriggerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobEventTriggerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + parallelism: Optional[int] = None, + replica_completion_count: Optional[int] = None, + scales: Optional[Sequence['outputs.JobEventTriggerConfigScale']] = None): + """ + :param int parallelism: Number of parallel replicas of a job that can run at a given time. + :param int replica_completion_count: Minimum number of successful replica completions before overall job completion. + :param Sequence['JobEventTriggerConfigScaleArgs'] scales: A `scale` block as defined below. + """ + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + if scales is not None: + pulumi.set(__self__, "scales", scales) + + @property + @pulumi.getter + def parallelism(self) -> Optional[int]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[int]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + @property + @pulumi.getter + def scales(self) -> Optional[Sequence['outputs.JobEventTriggerConfigScale']]: + """ + A `scale` block as defined below. + """ + return pulumi.get(self, "scales") + + +@pulumi.output_type +class JobEventTriggerConfigScale(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxExecutions": + suggest = "max_executions" + elif key == "minExecutions": + suggest = "min_executions" + elif key == "pollingIntervalInSeconds": + suggest = "polling_interval_in_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobEventTriggerConfigScale. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobEventTriggerConfigScale.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobEventTriggerConfigScale.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_executions: Optional[int] = None, + min_executions: Optional[int] = None, + polling_interval_in_seconds: Optional[int] = None, + rules: Optional[Sequence['outputs.JobEventTriggerConfigScaleRule']] = None): + """ + :param int max_executions: Maximum number of job executions that are created for a trigger. + :param int min_executions: Minimum number of job executions that are created for a trigger. + :param int polling_interval_in_seconds: Interval to check each event source in seconds. + :param Sequence['JobEventTriggerConfigScaleRuleArgs'] rules: A `rules` block as defined below. + """ + if max_executions is not None: + pulumi.set(__self__, "max_executions", max_executions) + if min_executions is not None: + pulumi.set(__self__, "min_executions", min_executions) + if polling_interval_in_seconds is not None: + pulumi.set(__self__, "polling_interval_in_seconds", polling_interval_in_seconds) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="maxExecutions") + def max_executions(self) -> Optional[int]: + """ + Maximum number of job executions that are created for a trigger. + """ + return pulumi.get(self, "max_executions") + + @property + @pulumi.getter(name="minExecutions") + def min_executions(self) -> Optional[int]: + """ + Minimum number of job executions that are created for a trigger. + """ + return pulumi.get(self, "min_executions") + + @property + @pulumi.getter(name="pollingIntervalInSeconds") + def polling_interval_in_seconds(self) -> Optional[int]: + """ + Interval to check each event source in seconds. + """ + return pulumi.get(self, "polling_interval_in_seconds") + + @property + @pulumi.getter + def rules(self) -> Optional[Sequence['outputs.JobEventTriggerConfigScaleRule']]: + """ + A `rules` block as defined below. + """ + return pulumi.get(self, "rules") + + +@pulumi.output_type +class JobEventTriggerConfigScaleRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customRuleType": + suggest = "custom_rule_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobEventTriggerConfigScaleRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobEventTriggerConfigScaleRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobEventTriggerConfigScaleRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_rule_type: str, + metadata: Mapping[str, str], + name: str, + authentications: Optional[Sequence['outputs.JobEventTriggerConfigScaleRuleAuthentication']] = None): + """ + :param str custom_rule_type: Type of the scale rule. + :param Mapping[str, str] metadata: Metadata properties to describe the scale rule. + :param str name: Name of the scale rule. + :param Sequence['JobEventTriggerConfigScaleRuleAuthenticationArgs'] authentications: A `authentication` block as defined below. + """ + pulumi.set(__self__, "custom_rule_type", custom_rule_type) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "name", name) + if authentications is not None: + pulumi.set(__self__, "authentications", authentications) + + @property + @pulumi.getter(name="customRuleType") + def custom_rule_type(self) -> str: + """ + Type of the scale rule. + """ + return pulumi.get(self, "custom_rule_type") + + @property + @pulumi.getter + def metadata(self) -> Mapping[str, str]: + """ + Metadata properties to describe the scale rule. + """ + return pulumi.get(self, "metadata") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the scale rule. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def authentications(self) -> Optional[Sequence['outputs.JobEventTriggerConfigScaleRuleAuthentication']]: + """ + A `authentication` block as defined below. + """ + return pulumi.get(self, "authentications") + + +@pulumi.output_type +class JobEventTriggerConfigScaleRuleAuthentication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretName": + suggest = "secret_name" + elif key == "triggerParameter": + suggest = "trigger_parameter" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobEventTriggerConfigScaleRuleAuthentication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobEventTriggerConfigScaleRuleAuthentication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobEventTriggerConfigScaleRuleAuthentication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secret_name: str, + trigger_parameter: str): + """ + :param str secret_name: Name of the secret from which to pull the auth params. + :param str trigger_parameter: Trigger Parameter that uses the secret. + """ + pulumi.set(__self__, "secret_name", secret_name) + pulumi.set(__self__, "trigger_parameter", trigger_parameter) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + """ + Name of the secret from which to pull the auth params. + """ + return pulumi.get(self, "secret_name") + + @property + @pulumi.getter(name="triggerParameter") + def trigger_parameter(self) -> str: + """ + Trigger Parameter that uses the secret. + """ + return pulumi.get(self, "trigger_parameter") + + +@pulumi.output_type +class JobIdentity(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "identityIds": + suggest = "identity_ids" + elif key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobIdentity. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobIdentity.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobIdentity.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + identity_ids: Optional[Sequence[str]] = None, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None): + """ + :param str type: The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + :param Sequence[str] identity_ids: A list of Managed Identity IDs to assign to the Container App Job. + """ + pulumi.set(__self__, "type", type) + if identity_ids is not None: + pulumi.set(__self__, "identity_ids", identity_ids) + if principal_id is not None: + pulumi.set(__self__, "principal_id", principal_id) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of identity used for the Container App Job. Possible values are `SystemAssigned` and `None`. Defaults to `None`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="identityIds") + def identity_ids(self) -> Optional[Sequence[str]]: + """ + A list of Managed Identity IDs to assign to the Container App Job. + """ + return pulumi.get(self, "identity_ids") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[str]: + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[str]: + return pulumi.get(self, "tenant_id") + + +@pulumi.output_type +class JobManualTriggerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "replicaCompletionCount": + suggest = "replica_completion_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobManualTriggerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobManualTriggerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobManualTriggerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + parallelism: Optional[int] = None, + replica_completion_count: Optional[int] = None): + """ + :param int parallelism: Number of parallel replicas of a job that can run at a given time. + :param int replica_completion_count: Minimum number of successful replica completions before overall job completion. + """ + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + + @property + @pulumi.getter + def parallelism(self) -> Optional[int]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[int]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + +@pulumi.output_type +class JobRegistry(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "passwordSecretName": + suggest = "password_secret_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobRegistry. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobRegistry.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobRegistry.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + server: str, + identity: Optional[str] = None, + password_secret_name: Optional[str] = None, + username: Optional[str] = None): + """ + :param str server: The URL of the Azure Container Registry server. + :param str identity: A Managed Identity to use to authenticate with Azure Container Registry. + :param str password_secret_name: The name of the Secret that contains the registry login password. + :param str username: The username to use to authenticate with Azure Container Registry. + """ + pulumi.set(__self__, "server", server) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if password_secret_name is not None: + pulumi.set(__self__, "password_secret_name", password_secret_name) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def server(self) -> str: + """ + The URL of the Azure Container Registry server. + """ + return pulumi.get(self, "server") + + @property + @pulumi.getter + def identity(self) -> Optional[str]: + """ + A Managed Identity to use to authenticate with Azure Container Registry. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="passwordSecretName") + def password_secret_name(self) -> Optional[str]: + """ + The name of the Secret that contains the registry login password. + """ + return pulumi.get(self, "password_secret_name") + + @property + @pulumi.getter + def username(self) -> Optional[str]: + """ + The username to use to authenticate with Azure Container Registry. + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class JobScheduleTriggerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cronExpression": + suggest = "cron_expression" + elif key == "replicaCompletionCount": + suggest = "replica_completion_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobScheduleTriggerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobScheduleTriggerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobScheduleTriggerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cron_expression: str, + parallelism: Optional[int] = None, + replica_completion_count: Optional[int] = None): + """ + :param str cron_expression: Cron formatted repeating schedule of a Cron Job. + :param int parallelism: Number of parallel replicas of a job that can run at a given time. + :param int replica_completion_count: Minimum number of successful replica completions before overall job completion. + """ + pulumi.set(__self__, "cron_expression", cron_expression) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if replica_completion_count is not None: + pulumi.set(__self__, "replica_completion_count", replica_completion_count) + + @property + @pulumi.getter(name="cronExpression") + def cron_expression(self) -> str: + """ + Cron formatted repeating schedule of a Cron Job. + """ + return pulumi.get(self, "cron_expression") + + @property + @pulumi.getter + def parallelism(self) -> Optional[int]: + """ + Number of parallel replicas of a job that can run at a given time. + """ + return pulumi.get(self, "parallelism") + + @property + @pulumi.getter(name="replicaCompletionCount") + def replica_completion_count(self) -> Optional[int]: + """ + Minimum number of successful replica completions before overall job completion. + """ + return pulumi.get(self, "replica_completion_count") + + +@pulumi.output_type +class JobSecret(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultSecretId": + suggest = "key_vault_secret_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobSecret. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobSecret.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobSecret.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + identity: Optional[str] = None, + key_vault_secret_id: Optional[str] = None, + value: Optional[str] = None): + """ + :param str name: Name of the secret. + :param str identity: A `identity` block as defined below. + :param str key_vault_secret_id: The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + :param str value: Value of the secret. + """ + pulumi.set(__self__, "name", name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if key_vault_secret_id is not None: + pulumi.set(__self__, "key_vault_secret_id", key_vault_secret_id) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the secret. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def identity(self) -> Optional[str]: + """ + A `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="keyVaultSecretId") + def key_vault_secret_id(self) -> Optional[str]: + """ + The Key Vault Secret ID. Could be either one of `id` or `versionless_id`. + """ + return pulumi.get(self, "key_vault_secret_id") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the secret. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplate(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "initContainers": + suggest = "init_containers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplate. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplate.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplate.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + containers: Sequence['outputs.JobTemplateContainer'], + init_containers: Optional[Sequence['outputs.JobTemplateInitContainer']] = None, + volumes: Optional[Sequence['outputs.JobTemplateVolume']] = None): + """ + :param Sequence['JobTemplateContainerArgs'] containers: A `container` block as defined below. + :param Sequence['JobTemplateInitContainerArgs'] init_containers: A `init_container` block as defined below. + :param Sequence['JobTemplateVolumeArgs'] volumes: A `volume` block as defined below. + """ + pulumi.set(__self__, "containers", containers) + if init_containers is not None: + pulumi.set(__self__, "init_containers", init_containers) + if volumes is not None: + pulumi.set(__self__, "volumes", volumes) + + @property + @pulumi.getter + def containers(self) -> Sequence['outputs.JobTemplateContainer']: + """ + A `container` block as defined below. + """ + return pulumi.get(self, "containers") + + @property + @pulumi.getter(name="initContainers") + def init_containers(self) -> Optional[Sequence['outputs.JobTemplateInitContainer']]: + """ + A `init_container` block as defined below. + """ + return pulumi.get(self, "init_containers") + + @property + @pulumi.getter + def volumes(self) -> Optional[Sequence['outputs.JobTemplateVolume']]: + """ + A `volume` block as defined below. + """ + return pulumi.get(self, "volumes") + + +@pulumi.output_type +class JobTemplateContainer(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ephemeralStorage": + suggest = "ephemeral_storage" + elif key == "livenessProbes": + suggest = "liveness_probes" + elif key == "readinessProbes": + suggest = "readiness_probes" + elif key == "startupProbes": + suggest = "startup_probes" + elif key == "volumeMounts": + suggest = "volume_mounts" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateContainer. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateContainer.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateContainer.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cpu: float, + image: str, + memory: str, + name: str, + args: Optional[Sequence[str]] = None, + commands: Optional[Sequence[str]] = None, + envs: Optional[Sequence['outputs.JobTemplateContainerEnv']] = None, + ephemeral_storage: Optional[str] = None, + liveness_probes: Optional[Sequence['outputs.JobTemplateContainerLivenessProbe']] = None, + readiness_probes: Optional[Sequence['outputs.JobTemplateContainerReadinessProbe']] = None, + startup_probes: Optional[Sequence['outputs.JobTemplateContainerStartupProbe']] = None, + volume_mounts: Optional[Sequence['outputs.JobTemplateContainerVolumeMount']] = None): + """ + :param float cpu: The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + :param str image: The image to use to create the container. + :param str memory: The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + :param str name: The name of the container. + :param Sequence[str] args: A list of extra arguments to pass to the container. + :param Sequence[str] commands: A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + :param Sequence['JobTemplateContainerEnvArgs'] envs: One or more `env` blocks as detailed below. + :param str ephemeral_storage: The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + :param Sequence['JobTemplateContainerLivenessProbeArgs'] liveness_probes: A `liveness_probe` block as detailed below. + :param Sequence['JobTemplateContainerReadinessProbeArgs'] readiness_probes: A `readiness_probe` block as detailed below. + :param Sequence['JobTemplateContainerStartupProbeArgs'] startup_probes: A `startup_probe` block as detailed below. + :param Sequence['JobTemplateContainerVolumeMountArgs'] volume_mounts: A `volume_mounts` block as detailed below. + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "image", image) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "name", name) + if args is not None: + pulumi.set(__self__, "args", args) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if envs is not None: + pulumi.set(__self__, "envs", envs) + if ephemeral_storage is not None: + pulumi.set(__self__, "ephemeral_storage", ephemeral_storage) + if liveness_probes is not None: + pulumi.set(__self__, "liveness_probes", liveness_probes) + if readiness_probes is not None: + pulumi.set(__self__, "readiness_probes", readiness_probes) + if startup_probes is not None: + pulumi.set(__self__, "startup_probes", startup_probes) + if volume_mounts is not None: + pulumi.set(__self__, "volume_mounts", volume_mounts) + + @property + @pulumi.getter + def cpu(self) -> float: + """ + The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def image(self) -> str: + """ + The image to use to create the container. + """ + return pulumi.get(self, "image") + + @property + @pulumi.getter + def memory(self) -> str: + """ + The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the container. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def args(self) -> Optional[Sequence[str]]: + """ + A list of extra arguments to pass to the container. + """ + return pulumi.get(self, "args") + + @property + @pulumi.getter + def commands(self) -> Optional[Sequence[str]]: + """ + A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + """ + return pulumi.get(self, "commands") + + @property + @pulumi.getter + def envs(self) -> Optional[Sequence['outputs.JobTemplateContainerEnv']]: + """ + One or more `env` blocks as detailed below. + """ + return pulumi.get(self, "envs") + + @property + @pulumi.getter(name="ephemeralStorage") + def ephemeral_storage(self) -> Optional[str]: + """ + The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + """ + return pulumi.get(self, "ephemeral_storage") + + @property + @pulumi.getter(name="livenessProbes") + def liveness_probes(self) -> Optional[Sequence['outputs.JobTemplateContainerLivenessProbe']]: + """ + A `liveness_probe` block as detailed below. + """ + return pulumi.get(self, "liveness_probes") + + @property + @pulumi.getter(name="readinessProbes") + def readiness_probes(self) -> Optional[Sequence['outputs.JobTemplateContainerReadinessProbe']]: + """ + A `readiness_probe` block as detailed below. + """ + return pulumi.get(self, "readiness_probes") + + @property + @pulumi.getter(name="startupProbes") + def startup_probes(self) -> Optional[Sequence['outputs.JobTemplateContainerStartupProbe']]: + """ + A `startup_probe` block as detailed below. + """ + return pulumi.get(self, "startup_probes") + + @property + @pulumi.getter(name="volumeMounts") + def volume_mounts(self) -> Optional[Sequence['outputs.JobTemplateContainerVolumeMount']]: + """ + A `volume_mounts` block as detailed below. + """ + return pulumi.get(self, "volume_mounts") + + +@pulumi.output_type +class JobTemplateContainerEnv(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretName": + suggest = "secret_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateContainerEnv. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateContainerEnv.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateContainerEnv.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + secret_name: Optional[str] = None, + value: Optional[str] = None): + """ + :param str name: The name of the environment variable. + :param str secret_name: Name of the Container App secret from which to pull the environment variable value. + :param str value: The value of the environment variable. + """ + pulumi.set(__self__, "name", name) + if secret_name is not None: + pulumi.set(__self__, "secret_name", secret_name) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the environment variable. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> Optional[str]: + """ + Name of the Container App secret from which to pull the environment variable value. + """ + return pulumi.get(self, "secret_name") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplateContainerLivenessProbe(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureCountThreshold": + suggest = "failure_count_threshold" + elif key == "initialDelay": + suggest = "initial_delay" + elif key == "intervalSeconds": + suggest = "interval_seconds" + elif key == "terminationGracePeriodSeconds": + suggest = "termination_grace_period_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateContainerLivenessProbe. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateContainerLivenessProbe.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateContainerLivenessProbe.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + port: int, + transport: str, + failure_count_threshold: Optional[int] = None, + headers: Optional[Sequence['outputs.JobTemplateContainerLivenessProbeHeader']] = None, + host: Optional[str] = None, + initial_delay: Optional[int] = None, + interval_seconds: Optional[int] = None, + path: Optional[str] = None, + termination_grace_period_seconds: Optional[int] = None, + timeout: Optional[int] = None): + """ + :param int port: The port number on which to connect. Possible values are between `1` and `65535`. + :param str transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param int failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param Sequence['JobTemplateContainerLivenessProbeHeaderArgs'] headers: A `header` block as detailed below. + :param str host: The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param int initial_delay: The time in seconds to wait after the container has started before the probe is started. + :param int interval_seconds: How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + :param str path: The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param int termination_grace_period_seconds: The time in seconds after the container is sent the termination signal before the process if forcibly killed. + :param int timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if initial_delay is not None: + pulumi.set(__self__, "initial_delay", initial_delay) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> int: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def transport(self) -> str: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[int]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.JobTemplateContainerLivenessProbeHeader']]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @property + @pulumi.getter + def host(self) -> Optional[str]: + """ + The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter(name="initialDelay") + def initial_delay(self) -> Optional[int]: + """ + The time in seconds to wait after the container has started before the probe is started. + """ + return pulumi.get(self, "initial_delay") + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[int]: + """ + How often, in seconds, the probe should run. Possible values are in the range `1` - `240`. Defaults to `10`. + """ + return pulumi.get(self, "interval_seconds") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="terminationGracePeriodSeconds") + def termination_grace_period_seconds(self) -> Optional[int]: + """ + The time in seconds after the container is sent the termination signal before the process if forcibly killed. + """ + return pulumi.get(self, "termination_grace_period_seconds") + + @property + @pulumi.getter + def timeout(self) -> Optional[int]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + +@pulumi.output_type +class JobTemplateContainerLivenessProbeHeader(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: The HTTP Header Name. + :param str value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplateContainerReadinessProbe(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureCountThreshold": + suggest = "failure_count_threshold" + elif key == "intervalSeconds": + suggest = "interval_seconds" + elif key == "successCountThreshold": + suggest = "success_count_threshold" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateContainerReadinessProbe. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateContainerReadinessProbe.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateContainerReadinessProbe.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + port: int, + transport: str, + failure_count_threshold: Optional[int] = None, + headers: Optional[Sequence['outputs.JobTemplateContainerReadinessProbeHeader']] = None, + host: Optional[str] = None, + interval_seconds: Optional[int] = None, + path: Optional[str] = None, + success_count_threshold: Optional[int] = None, + timeout: Optional[int] = None): + """ + :param int port: The port number on which to connect. Possible values are between `1` and `65535`. + :param str transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param int failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param Sequence['JobTemplateContainerReadinessProbeHeaderArgs'] headers: A `header` block as detailed below. + :param str host: The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param int interval_seconds: How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + :param str path: The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param int success_count_threshold: The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + :param int timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if success_count_threshold is not None: + pulumi.set(__self__, "success_count_threshold", success_count_threshold) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> int: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def transport(self) -> str: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[int]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.JobTemplateContainerReadinessProbeHeader']]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @property + @pulumi.getter + def host(self) -> Optional[str]: + """ + The probe hostname. Defaults to the pod IP address. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[int]: + """ + How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + """ + return pulumi.get(self, "interval_seconds") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The URI to use for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="successCountThreshold") + def success_count_threshold(self) -> Optional[int]: + """ + The number of consecutive successful responses required to consider this probe as successful. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "success_count_threshold") + + @property + @pulumi.getter + def timeout(self) -> Optional[int]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + +@pulumi.output_type +class JobTemplateContainerReadinessProbeHeader(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: The HTTP Header Name. + :param str value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplateContainerStartupProbe(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureCountThreshold": + suggest = "failure_count_threshold" + elif key == "intervalSeconds": + suggest = "interval_seconds" + elif key == "terminationGracePeriodSeconds": + suggest = "termination_grace_period_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateContainerStartupProbe. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateContainerStartupProbe.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateContainerStartupProbe.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + port: int, + transport: str, + failure_count_threshold: Optional[int] = None, + headers: Optional[Sequence['outputs.JobTemplateContainerStartupProbeHeader']] = None, + host: Optional[str] = None, + interval_seconds: Optional[int] = None, + path: Optional[str] = None, + termination_grace_period_seconds: Optional[int] = None, + timeout: Optional[int] = None): + """ + :param int port: The port number on which to connect. Possible values are between `1` and `65535`. + :param str transport: Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + :param int failure_count_threshold: The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + :param Sequence['JobTemplateContainerStartupProbeHeaderArgs'] headers: A `header` block as detailed below. + :param str host: The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + :param int interval_seconds: How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + :param str path: The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + :param int termination_grace_period_seconds: The time in seconds after the container is sent the termination signal before the process if forcibly killed. + :param int timeout: Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "transport", transport) + if failure_count_threshold is not None: + pulumi.set(__self__, "failure_count_threshold", failure_count_threshold) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if host is not None: + pulumi.set(__self__, "host", host) + if interval_seconds is not None: + pulumi.set(__self__, "interval_seconds", interval_seconds) + if path is not None: + pulumi.set(__self__, "path", path) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def port(self) -> int: + """ + The port number on which to connect. Possible values are between `1` and `65535`. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def transport(self) -> str: + """ + Type of probe. Possible values are `TCP`, `HTTP`, and `HTTPS`. + """ + return pulumi.get(self, "transport") + + @property + @pulumi.getter(name="failureCountThreshold") + def failure_count_threshold(self) -> Optional[int]: + """ + The number of consecutive failures required to consider this probe as failed. Possible values are between `1` and `10`. Defaults to `3`. + """ + return pulumi.get(self, "failure_count_threshold") + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.JobTemplateContainerStartupProbeHeader']]: + """ + A `header` block as detailed below. + """ + return pulumi.get(self, "headers") + + @property + @pulumi.getter + def host(self) -> Optional[str]: + """ + The value for the host header which should be sent with this probe. If unspecified, the IP Address of the Pod is used as the host header. Setting a value for `Host` in `headers` can be used to override this for `HTTP` and `HTTPS` type probes. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter(name="intervalSeconds") + def interval_seconds(self) -> Optional[int]: + """ + How often, in seconds, the probe should run. Possible values are between `1` and `240`. Defaults to `10` + """ + return pulumi.get(self, "interval_seconds") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + The URI to use with the `host` for http type probes. Not valid for `TCP` type probes. Defaults to `/`. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="terminationGracePeriodSeconds") + def termination_grace_period_seconds(self) -> Optional[int]: + """ + The time in seconds after the container is sent the termination signal before the process if forcibly killed. + """ + return pulumi.get(self, "termination_grace_period_seconds") + + @property + @pulumi.getter + def timeout(self) -> Optional[int]: + """ + Time in seconds after which the probe times out. Possible values are in the range `1` - `240`. Defaults to `1`. + """ + return pulumi.get(self, "timeout") + + +@pulumi.output_type +class JobTemplateContainerStartupProbeHeader(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: The HTTP Header Name. + :param str value: The HTTP Header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The HTTP Header Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The HTTP Header value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplateContainerVolumeMount(dict): + def __init__(__self__, *, + name: str, + path: str): + """ + :param str name: The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + :param str path: The path within the container at which the volume should be mounted. Must not contain `:`. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def path(self) -> str: + """ + The path within the container at which the volume should be mounted. Must not contain `:`. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class JobTemplateInitContainer(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ephemeralStorage": + suggest = "ephemeral_storage" + elif key == "volumeMounts": + suggest = "volume_mounts" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateInitContainer. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateInitContainer.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateInitContainer.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + image: str, + name: str, + args: Optional[Sequence[str]] = None, + commands: Optional[Sequence[str]] = None, + cpu: Optional[float] = None, + envs: Optional[Sequence['outputs.JobTemplateInitContainerEnv']] = None, + ephemeral_storage: Optional[str] = None, + memory: Optional[str] = None, + volume_mounts: Optional[Sequence['outputs.JobTemplateInitContainerVolumeMount']] = None): + """ + :param str image: The image to use to create the container. + :param str name: The name of the container. + :param Sequence[str] args: A list of extra arguments to pass to the container. + :param Sequence[str] commands: A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + :param float cpu: The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + :param Sequence['JobTemplateInitContainerEnvArgs'] envs: One or more `env` blocks as detailed below. + :param str ephemeral_storage: The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + :param str memory: The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + :param Sequence['JobTemplateInitContainerVolumeMountArgs'] volume_mounts: A `volume_mounts` block as detailed below. + """ + pulumi.set(__self__, "image", image) + pulumi.set(__self__, "name", name) + if args is not None: + pulumi.set(__self__, "args", args) + if commands is not None: + pulumi.set(__self__, "commands", commands) + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if envs is not None: + pulumi.set(__self__, "envs", envs) + if ephemeral_storage is not None: + pulumi.set(__self__, "ephemeral_storage", ephemeral_storage) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if volume_mounts is not None: + pulumi.set(__self__, "volume_mounts", volume_mounts) + + @property + @pulumi.getter + def image(self) -> str: + """ + The image to use to create the container. + """ + return pulumi.get(self, "image") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the container. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def args(self) -> Optional[Sequence[str]]: + """ + A list of extra arguments to pass to the container. + """ + return pulumi.get(self, "args") + + @property + @pulumi.getter + def commands(self) -> Optional[Sequence[str]]: + """ + A command to pass to the container to override the default. This is provided as a list of command line elements without spaces. + """ + return pulumi.get(self, "commands") + + @property + @pulumi.getter + def cpu(self) -> Optional[float]: + """ + The amount of vCPU to allocate to the container. Possible values include `0.25`, `0.5`, `0.75`, `1.0`, `1.25`, `1.5`, `1.75`, and `2.0`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.0` / `2.0` or `0.5` / `1.0` + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def envs(self) -> Optional[Sequence['outputs.JobTemplateInitContainerEnv']]: + """ + One or more `env` blocks as detailed below. + """ + return pulumi.get(self, "envs") + + @property + @pulumi.getter(name="ephemeralStorage") + def ephemeral_storage(self) -> Optional[str]: + """ + The amount of ephemeral storage available to the Container App. + + > **NOTE:** `ephemeral_storage` is currently in preview and not configurable at this time. + """ + return pulumi.get(self, "ephemeral_storage") + + @property + @pulumi.getter + def memory(self) -> Optional[str]: + """ + The amount of memory to allocate to the container. Possible values are `0.5Gi`, `1Gi`, `1.5Gi`, `2Gi`, `2.5Gi`, `3Gi`, `3.5Gi` and `4Gi`. + + > **NOTE:** `cpu` and `memory` must be specified in `0.25'/'0.5Gi` combination increments. e.g. `1.25` / `2.5Gi` or `0.75` / `1.5Gi` + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="volumeMounts") + def volume_mounts(self) -> Optional[Sequence['outputs.JobTemplateInitContainerVolumeMount']]: + """ + A `volume_mounts` block as detailed below. + """ + return pulumi.get(self, "volume_mounts") + + +@pulumi.output_type +class JobTemplateInitContainerEnv(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretName": + suggest = "secret_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateInitContainerEnv. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateInitContainerEnv.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateInitContainerEnv.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + secret_name: Optional[str] = None, + value: Optional[str] = None): + """ + :param str name: The name of the environment variable. + :param str secret_name: Name of the Container App secret from which to pull the environment variable value. + :param str value: The value of the environment variable. + """ + pulumi.set(__self__, "name", name) + if secret_name is not None: + pulumi.set(__self__, "secret_name", secret_name) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the environment variable. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> Optional[str]: + """ + Name of the Container App secret from which to pull the environment variable value. + """ + return pulumi.get(self, "secret_name") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobTemplateInitContainerVolumeMount(dict): + def __init__(__self__, *, + name: str, + path: str): + """ + :param str name: The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + :param str path: The path within the container at which the volume should be mounted. Must not contain `:`. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the volume to mount. This must match the name of a volume defined in the `volume` block. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def path(self) -> str: + """ + The path within the container at which the volume should be mounted. Must not contain `:`. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class JobTemplateVolume(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageName": + suggest = "storage_name" + elif key == "storageType": + suggest = "storage_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobTemplateVolume. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobTemplateVolume.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobTemplateVolume.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + storage_name: Optional[str] = None, + storage_type: Optional[str] = None): + """ + :param str name: The name of the volume. + :param str storage_name: The name of the storage to use for the volume. + :param str storage_type: The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + """ + pulumi.set(__self__, "name", name) + if storage_name is not None: + pulumi.set(__self__, "storage_name", storage_name) + if storage_type is not None: + pulumi.set(__self__, "storage_type", storage_type) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the volume. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="storageName") + def storage_name(self) -> Optional[str]: + """ + The name of the storage to use for the volume. + """ + return pulumi.get(self, "storage_name") + + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> Optional[str]: + """ + The type of storage to use for the volume. Possible values are `AzureFile`, `EmptyDir` and `Secret`. + """ + return pulumi.get(self, "storage_type") + + @pulumi.output_type class GetAppDaprResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/datafactory/__init__.py b/sdk/python/pulumi_azure/datafactory/__init__.py index 0190ff6621..558e049b7c 100644 --- a/sdk/python/pulumi_azure/datafactory/__init__.py +++ b/sdk/python/pulumi_azure/datafactory/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .credential_service_principal import * from .credential_user_managed_identity import * from .custom_dataset import * from .data_flow import * diff --git a/sdk/python/pulumi_azure/datafactory/_inputs.py b/sdk/python/pulumi_azure/datafactory/_inputs.py index 88906bb0cf..aa0c7f4fe9 100644 --- a/sdk/python/pulumi_azure/datafactory/_inputs.py +++ b/sdk/python/pulumi_azure/datafactory/_inputs.py @@ -10,6 +10,7 @@ from .. import _utilities __all__ = [ + 'CredentialServicePrincipalServicePrincipalKeyArgs', 'CustomDatasetLinkedServiceArgs', 'DataFlowSinkArgs', 'DataFlowSinkDatasetArgs', @@ -113,6 +114,59 @@ 'TriggerTumblingWindowTriggerDependencyArgs', ] +@pulumi.input_type +class CredentialServicePrincipalServicePrincipalKeyArgs: + def __init__(__self__, *, + linked_service_name: pulumi.Input[str], + secret_name: pulumi.Input[str], + secret_version: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] linked_service_name: The name of the Linked Service to use for the Service Principal Key. + :param pulumi.Input[str] secret_name: The name of the Secret in the Key Vault. + :param pulumi.Input[str] secret_version: The version of the Secret in the Key Vault. + """ + pulumi.set(__self__, "linked_service_name", linked_service_name) + pulumi.set(__self__, "secret_name", secret_name) + if secret_version is not None: + pulumi.set(__self__, "secret_version", secret_version) + + @property + @pulumi.getter(name="linkedServiceName") + def linked_service_name(self) -> pulumi.Input[str]: + """ + The name of the Linked Service to use for the Service Principal Key. + """ + return pulumi.get(self, "linked_service_name") + + @linked_service_name.setter + def linked_service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "linked_service_name", value) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> pulumi.Input[str]: + """ + The name of the Secret in the Key Vault. + """ + return pulumi.get(self, "secret_name") + + @secret_name.setter + def secret_name(self, value: pulumi.Input[str]): + pulumi.set(self, "secret_name", value) + + @property + @pulumi.getter(name="secretVersion") + def secret_version(self) -> Optional[pulumi.Input[str]]: + """ + The version of the Secret in the Key Vault. + """ + return pulumi.get(self, "secret_version") + + @secret_version.setter + def secret_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_version", value) + + @pulumi.input_type class CustomDatasetLinkedServiceArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/datafactory/credential_service_principal.py b/sdk/python/pulumi_azure/datafactory/credential_service_principal.py new file mode 100644 index 0000000000..365916115b --- /dev/null +++ b/sdk/python/pulumi_azure/datafactory/credential_service_principal.py @@ -0,0 +1,570 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CredentialServicePrincipalArgs', 'CredentialServicePrincipal'] + +@pulumi.input_type +class CredentialServicePrincipalArgs: + def __init__(__self__, *, + data_factory_id: pulumi.Input[str], + service_principal_id: pulumi.Input[str], + tenant_id: pulumi.Input[str], + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_principal_key: Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']] = None): + """ + The set of arguments for constructing a CredentialServicePrincipal resource. + :param pulumi.Input[str] data_factory_id: The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + :param pulumi.Input[str] service_principal_id: The Client ID of the Service Principal. + :param pulumi.Input[str] tenant_id: The Tenant ID of the Service Principal. + :param pulumi.Input[Sequence[pulumi.Input[str]]] annotations: List of tags that can be used for describing the Data Factory Credential. + :param pulumi.Input[str] description: The description for the Data Factory Credential. + :param pulumi.Input[str] name: Specifies the name of the Credential. Changing this forces a new resource to be created. + :param pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs'] service_principal_key: A `service_principal_key` block as defined below. + """ + pulumi.set(__self__, "data_factory_id", data_factory_id) + pulumi.set(__self__, "service_principal_id", service_principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) + + @property + @pulumi.getter(name="dataFactoryId") + def data_factory_id(self) -> pulumi.Input[str]: + """ + The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + """ + return pulumi.get(self, "data_factory_id") + + @data_factory_id.setter + def data_factory_id(self, value: pulumi.Input[str]): + pulumi.set(self, "data_factory_id", value) + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> pulumi.Input[str]: + """ + The Client ID of the Service Principal. + """ + return pulumi.get(self, "service_principal_id") + + @service_principal_id.setter + def service_principal_id(self, value: pulumi.Input[str]): + pulumi.set(self, "service_principal_id", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> pulumi.Input[str]: + """ + The Tenant ID of the Service Principal. + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: pulumi.Input[str]): + pulumi.set(self, "tenant_id", value) + + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of tags that can be used for describing the Data Factory Credential. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "annotations", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description for the Data Factory Credential. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Credential. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']]: + """ + A `service_principal_key` block as defined below. + """ + return pulumi.get(self, "service_principal_key") + + @service_principal_key.setter + def service_principal_key(self, value: Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']]): + pulumi.set(self, "service_principal_key", value) + + +@pulumi.input_type +class _CredentialServicePrincipalState: + def __init__(__self__, *, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + data_factory_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_principal_id: Optional[pulumi.Input[str]] = None, + service_principal_key: Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']] = None, + tenant_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CredentialServicePrincipal resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] annotations: List of tags that can be used for describing the Data Factory Credential. + :param pulumi.Input[str] data_factory_id: The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + :param pulumi.Input[str] description: The description for the Data Factory Credential. + :param pulumi.Input[str] name: Specifies the name of the Credential. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_principal_id: The Client ID of the Service Principal. + :param pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs'] service_principal_key: A `service_principal_key` block as defined below. + :param pulumi.Input[str] tenant_id: The Tenant ID of the Service Principal. + """ + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if data_factory_id is not None: + pulumi.set(__self__, "data_factory_id", data_factory_id) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if service_principal_id is not None: + pulumi.set(__self__, "service_principal_id", service_principal_id) + if service_principal_key is not None: + pulumi.set(__self__, "service_principal_key", service_principal_key) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of tags that can be used for describing the Data Factory Credential. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "annotations", value) + + @property + @pulumi.getter(name="dataFactoryId") + def data_factory_id(self) -> Optional[pulumi.Input[str]]: + """ + The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + """ + return pulumi.get(self, "data_factory_id") + + @data_factory_id.setter + def data_factory_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_factory_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description for the Data Factory Credential. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Credential. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> Optional[pulumi.Input[str]]: + """ + The Client ID of the Service Principal. + """ + return pulumi.get(self, "service_principal_id") + + @service_principal_id.setter + def service_principal_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_principal_id", value) + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']]: + """ + A `service_principal_key` block as defined below. + """ + return pulumi.get(self, "service_principal_key") + + @service_principal_key.setter + def service_principal_key(self, value: Optional[pulumi.Input['CredentialServicePrincipalServicePrincipalKeyArgs']]): + pulumi.set(self, "service_principal_key", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + The Tenant ID of the Service Principal. + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + +class CredentialServicePrincipal(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + data_factory_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_principal_id: Optional[pulumi.Input[str]] = None, + service_principal_key: Optional[pulumi.Input[pulumi.InputType['CredentialServicePrincipalServicePrincipalKeyArgs']]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + current = azure.core.get_client_config() + example = azure.core.ResourceGroup("example", + name="example-resources", + location="westeurope") + example_factory = azure.datafactory.Factory("example", + name="example", + location=example.location, + resource_group_name=example.name) + example_key_vault = azure.keyvault.KeyVault("example", + name="example", + location=example.location, + resource_group_name=example.name, + tenant_id=current.tenant_id, + sku_name="premium", + soft_delete_retention_days=7, + access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs( + tenant_id=current.tenant_id, + object_id=current.object_id, + key_permissions=[ + "Create", + "Get", + ], + secret_permissions=[ + "Set", + "Get", + "Delete", + "Purge", + "Recover", + ], + )]) + example_secret = azure.keyvault.Secret("example", + name="example", + value="example-secret", + key_vault_id=example_key_vault.id) + example_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault("example", + name="example", + data_factory_id=example_factory.id, + key_vault_id=example_key_vault.id) + example_credential_service_principal = azure.datafactory.CredentialServicePrincipal("example", + name="example", + description="example description", + data_factory_id=example_factory.id, + tenant_id=current.tenant_id, + service_principal_id=current.client_id, + service_principal_key=azure.datafactory.CredentialServicePrincipalServicePrincipalKeyArgs( + linked_service_name=example_linked_service_key_vault.name, + secret_name=example_secret.name, + secret_version=example_secret.version, + ), + annotations=[ + "1", + "2", + ]) + ``` + + ## Import + + Data Factory Credentials can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] annotations: List of tags that can be used for describing the Data Factory Credential. + :param pulumi.Input[str] data_factory_id: The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + :param pulumi.Input[str] description: The description for the Data Factory Credential. + :param pulumi.Input[str] name: Specifies the name of the Credential. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_principal_id: The Client ID of the Service Principal. + :param pulumi.Input[pulumi.InputType['CredentialServicePrincipalServicePrincipalKeyArgs']] service_principal_key: A `service_principal_key` block as defined below. + :param pulumi.Input[str] tenant_id: The Tenant ID of the Service Principal. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CredentialServicePrincipalArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manage a Data Factory Service Principal credential resource. These resources are used by Data Factory to access data sources. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + current = azure.core.get_client_config() + example = azure.core.ResourceGroup("example", + name="example-resources", + location="westeurope") + example_factory = azure.datafactory.Factory("example", + name="example", + location=example.location, + resource_group_name=example.name) + example_key_vault = azure.keyvault.KeyVault("example", + name="example", + location=example.location, + resource_group_name=example.name, + tenant_id=current.tenant_id, + sku_name="premium", + soft_delete_retention_days=7, + access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs( + tenant_id=current.tenant_id, + object_id=current.object_id, + key_permissions=[ + "Create", + "Get", + ], + secret_permissions=[ + "Set", + "Get", + "Delete", + "Purge", + "Recover", + ], + )]) + example_secret = azure.keyvault.Secret("example", + name="example", + value="example-secret", + key_vault_id=example_key_vault.id) + example_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault("example", + name="example", + data_factory_id=example_factory.id, + key_vault_id=example_key_vault.id) + example_credential_service_principal = azure.datafactory.CredentialServicePrincipal("example", + name="example", + description="example description", + data_factory_id=example_factory.id, + tenant_id=current.tenant_id, + service_principal_id=current.client_id, + service_principal_key=azure.datafactory.CredentialServicePrincipalServicePrincipalKeyArgs( + linked_service_name=example_linked_service_key_vault.name, + secret_name=example_secret.name, + secret_version=example_secret.version, + ), + annotations=[ + "1", + "2", + ]) + ``` + + ## Import + + Data Factory Credentials can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example-resources/providers/Microsoft.DataFactory/factories/example/credentials/credential1 + ``` + + :param str resource_name: The name of the resource. + :param CredentialServicePrincipalArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CredentialServicePrincipalArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + data_factory_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_principal_id: Optional[pulumi.Input[str]] = None, + service_principal_key: Optional[pulumi.Input[pulumi.InputType['CredentialServicePrincipalServicePrincipalKeyArgs']]] = None, + tenant_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CredentialServicePrincipalArgs.__new__(CredentialServicePrincipalArgs) + + __props__.__dict__["annotations"] = annotations + if data_factory_id is None and not opts.urn: + raise TypeError("Missing required property 'data_factory_id'") + __props__.__dict__["data_factory_id"] = data_factory_id + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if service_principal_id is None and not opts.urn: + raise TypeError("Missing required property 'service_principal_id'") + __props__.__dict__["service_principal_id"] = service_principal_id + __props__.__dict__["service_principal_key"] = service_principal_key + if tenant_id is None and not opts.urn: + raise TypeError("Missing required property 'tenant_id'") + __props__.__dict__["tenant_id"] = tenant_id + super(CredentialServicePrincipal, __self__).__init__( + 'azure:datafactory/credentialServicePrincipal:CredentialServicePrincipal', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + data_factory_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_principal_id: Optional[pulumi.Input[str]] = None, + service_principal_key: Optional[pulumi.Input[pulumi.InputType['CredentialServicePrincipalServicePrincipalKeyArgs']]] = None, + tenant_id: Optional[pulumi.Input[str]] = None) -> 'CredentialServicePrincipal': + """ + Get an existing CredentialServicePrincipal resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] annotations: List of tags that can be used for describing the Data Factory Credential. + :param pulumi.Input[str] data_factory_id: The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + :param pulumi.Input[str] description: The description for the Data Factory Credential. + :param pulumi.Input[str] name: Specifies the name of the Credential. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_principal_id: The Client ID of the Service Principal. + :param pulumi.Input[pulumi.InputType['CredentialServicePrincipalServicePrincipalKeyArgs']] service_principal_key: A `service_principal_key` block as defined below. + :param pulumi.Input[str] tenant_id: The Tenant ID of the Service Principal. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CredentialServicePrincipalState.__new__(_CredentialServicePrincipalState) + + __props__.__dict__["annotations"] = annotations + __props__.__dict__["data_factory_id"] = data_factory_id + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["service_principal_id"] = service_principal_id + __props__.__dict__["service_principal_key"] = service_principal_key + __props__.__dict__["tenant_id"] = tenant_id + return CredentialServicePrincipal(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def annotations(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of tags that can be used for describing the Data Factory Credential. + """ + return pulumi.get(self, "annotations") + + @property + @pulumi.getter(name="dataFactoryId") + def data_factory_id(self) -> pulumi.Output[str]: + """ + The Data Factory ID in which to associate the Credential with. Changing this forces a new resource. + """ + return pulumi.get(self, "data_factory_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description for the Data Factory Credential. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Specifies the name of the Credential. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="servicePrincipalId") + def service_principal_id(self) -> pulumi.Output[str]: + """ + The Client ID of the Service Principal. + """ + return pulumi.get(self, "service_principal_id") + + @property + @pulumi.getter(name="servicePrincipalKey") + def service_principal_key(self) -> pulumi.Output[Optional['outputs.CredentialServicePrincipalServicePrincipalKey']]: + """ + A `service_principal_key` block as defined below. + """ + return pulumi.get(self, "service_principal_key") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> pulumi.Output[str]: + """ + The Tenant ID of the Service Principal. + """ + return pulumi.get(self, "tenant_id") + diff --git a/sdk/python/pulumi_azure/datafactory/outputs.py b/sdk/python/pulumi_azure/datafactory/outputs.py index b4ddf9f63f..703c99d660 100644 --- a/sdk/python/pulumi_azure/datafactory/outputs.py +++ b/sdk/python/pulumi_azure/datafactory/outputs.py @@ -11,6 +11,7 @@ from . import outputs __all__ = [ + 'CredentialServicePrincipalServicePrincipalKey', 'CustomDatasetLinkedService', 'DataFlowSink', 'DataFlowSinkDataset', @@ -119,6 +120,68 @@ 'GetTriggerScheduleScheduleMonthlyResult', ] +@pulumi.output_type +class CredentialServicePrincipalServicePrincipalKey(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "linkedServiceName": + suggest = "linked_service_name" + elif key == "secretName": + suggest = "secret_name" + elif key == "secretVersion": + suggest = "secret_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CredentialServicePrincipalServicePrincipalKey. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CredentialServicePrincipalServicePrincipalKey.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CredentialServicePrincipalServicePrincipalKey.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + linked_service_name: str, + secret_name: str, + secret_version: Optional[str] = None): + """ + :param str linked_service_name: The name of the Linked Service to use for the Service Principal Key. + :param str secret_name: The name of the Secret in the Key Vault. + :param str secret_version: The version of the Secret in the Key Vault. + """ + pulumi.set(__self__, "linked_service_name", linked_service_name) + pulumi.set(__self__, "secret_name", secret_name) + if secret_version is not None: + pulumi.set(__self__, "secret_version", secret_version) + + @property + @pulumi.getter(name="linkedServiceName") + def linked_service_name(self) -> str: + """ + The name of the Linked Service to use for the Service Principal Key. + """ + return pulumi.get(self, "linked_service_name") + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + """ + The name of the Secret in the Key Vault. + """ + return pulumi.get(self, "secret_name") + + @property + @pulumi.getter(name="secretVersion") + def secret_version(self) -> Optional[str]: + """ + The version of the Secret in the Key Vault. + """ + return pulumi.get(self, "secret_version") + + @pulumi.output_type class CustomDatasetLinkedService(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/kusto/cluster.py b/sdk/python/pulumi_azure/kusto/cluster.py index 455e594d58..0a267cf209 100644 --- a/sdk/python/pulumi_azure/kusto/cluster.py +++ b/sdk/python/pulumi_azure/kusto/cluster.py @@ -1260,7 +1260,7 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @property @pulumi.getter(name="trustedExternalTenants") - def trusted_external_tenants(self) -> pulumi.Output[Sequence[str]]: + def trusted_external_tenants(self) -> pulumi.Output[Optional[Sequence[str]]]: """ Specifies a list of tenant IDs that are trusted by the cluster. Default setting trusts all other tenants. Use `trusted_external_tenants = ["*"]` to explicitly allow all other tenants, `trusted_external_tenants = ["MyTenantOnly"]` for only your tenant or `trusted_external_tenants = ["", ""]` to allow specific other tenants. diff --git a/sdk/python/pulumi_azure/maintenance/__init__.py b/sdk/python/pulumi_azure/maintenance/__init__.py index 54d23c34d6..21aaa7c2f7 100644 --- a/sdk/python/pulumi_azure/maintenance/__init__.py +++ b/sdk/python/pulumi_azure/maintenance/__init__.py @@ -6,6 +6,7 @@ import typing # Export this package's modules as members: from .assignment_dedicated_host import * +from .assignment_dynamic_scope import * from .assignment_virtual_machine import * from .assignment_virtual_machine_scale_set import * from .configuration import * diff --git a/sdk/python/pulumi_azure/maintenance/_inputs.py b/sdk/python/pulumi_azure/maintenance/_inputs.py index 628ecf0e2c..d89870c701 100644 --- a/sdk/python/pulumi_azure/maintenance/_inputs.py +++ b/sdk/python/pulumi_azure/maintenance/_inputs.py @@ -10,12 +10,154 @@ from .. import _utilities __all__ = [ + 'AssignmentDynamicScopeFilterArgs', + 'AssignmentDynamicScopeFilterTagArgs', 'ConfigurationInstallPatchesArgs', 'ConfigurationInstallPatchesLinuxArgs', 'ConfigurationInstallPatchesWindowArgs', 'ConfigurationWindowArgs', ] +@pulumi.input_type +class AssignmentDynamicScopeFilterArgs: + def __init__(__self__, *, + locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + os_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resource_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tag_filter: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentDynamicScopeFilterTagArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: Specifies a list of locations to scope the query to. + :param pulumi.Input[Sequence[pulumi.Input[str]]] os_types: Specifies a list of allowed operating systems. + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specifies a list of allowed resource groups. + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: Specifies a list of allowed resources. + :param pulumi.Input[str] tag_filter: Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + :param pulumi.Input[Sequence[pulumi.Input['AssignmentDynamicScopeFilterTagArgs']]] tags: A mapping of tags for the VM + """ + if locations is not None: + pulumi.set(__self__, "locations", locations) + if os_types is not None: + pulumi.set(__self__, "os_types", os_types) + if resource_groups is not None: + pulumi.set(__self__, "resource_groups", resource_groups) + if resource_types is not None: + pulumi.set(__self__, "resource_types", resource_types) + if tag_filter is not None: + pulumi.set(__self__, "tag_filter", tag_filter) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of locations to scope the query to. + """ + return pulumi.get(self, "locations") + + @locations.setter + def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "locations", value) + + @property + @pulumi.getter(name="osTypes") + def os_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of allowed operating systems. + """ + return pulumi.get(self, "os_types") + + @os_types.setter + def os_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "os_types", value) + + @property + @pulumi.getter(name="resourceGroups") + def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of allowed resource groups. + """ + return pulumi.get(self, "resource_groups") + + @resource_groups.setter + def resource_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resource_groups", value) + + @property + @pulumi.getter(name="resourceTypes") + def resource_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of allowed resources. + """ + return pulumi.get(self, "resource_types") + + @resource_types.setter + def resource_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resource_types", value) + + @property + @pulumi.getter(name="tagFilter") + def tag_filter(self) -> Optional[pulumi.Input[str]]: + """ + Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + """ + return pulumi.get(self, "tag_filter") + + @tag_filter.setter + def tag_filter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_filter", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentDynamicScopeFilterTagArgs']]]]: + """ + A mapping of tags for the VM + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentDynamicScopeFilterTagArgs']]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class AssignmentDynamicScopeFilterTagArgs: + def __init__(__self__, *, + tag: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] tag: Specifies the tag to filter by. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specifies a list of values the defined tag can have. + """ + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def tag(self) -> pulumi.Input[str]: + """ + Specifies the tag to filter by. + """ + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: pulumi.Input[str]): + pulumi.set(self, "tag", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Specifies a list of values the defined tag can have. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + @pulumi.input_type class ConfigurationInstallPatchesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/maintenance/assignment_dynamic_scope.py b/sdk/python/pulumi_azure/maintenance/assignment_dynamic_scope.py new file mode 100644 index 0000000000..599b0a7234 --- /dev/null +++ b/sdk/python/pulumi_azure/maintenance/assignment_dynamic_scope.py @@ -0,0 +1,277 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AssignmentDynamicScopeArgs', 'AssignmentDynamicScope'] + +@pulumi.input_type +class AssignmentDynamicScopeArgs: + def __init__(__self__, *, + filter: pulumi.Input['AssignmentDynamicScopeFilterArgs'], + maintenance_configuration_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AssignmentDynamicScope resource. + :param pulumi.Input['AssignmentDynamicScopeFilterArgs'] filter: A `filter` block as defined below. + :param pulumi.Input[str] maintenance_configuration_id: The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + :param pulumi.Input[str] name: The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + pulumi.set(__self__, "filter", filter) + pulumi.set(__self__, "maintenance_configuration_id", maintenance_configuration_id) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def filter(self) -> pulumi.Input['AssignmentDynamicScopeFilterArgs']: + """ + A `filter` block as defined below. + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: pulumi.Input['AssignmentDynamicScopeFilterArgs']): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="maintenanceConfigurationId") + def maintenance_configuration_id(self) -> pulumi.Input[str]: + """ + The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + """ + return pulumi.get(self, "maintenance_configuration_id") + + @maintenance_configuration_id.setter + def maintenance_configuration_id(self, value: pulumi.Input[str]): + pulumi.set(self, "maintenance_configuration_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AssignmentDynamicScopeState: + def __init__(__self__, *, + filter: Optional[pulumi.Input['AssignmentDynamicScopeFilterArgs']] = None, + maintenance_configuration_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AssignmentDynamicScope resources. + :param pulumi.Input['AssignmentDynamicScopeFilterArgs'] filter: A `filter` block as defined below. + :param pulumi.Input[str] maintenance_configuration_id: The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + :param pulumi.Input[str] name: The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + if filter is not None: + pulumi.set(__self__, "filter", filter) + if maintenance_configuration_id is not None: + pulumi.set(__self__, "maintenance_configuration_id", maintenance_configuration_id) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def filter(self) -> Optional[pulumi.Input['AssignmentDynamicScopeFilterArgs']]: + """ + A `filter` block as defined below. + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: Optional[pulumi.Input['AssignmentDynamicScopeFilterArgs']]): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="maintenanceConfigurationId") + def maintenance_configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + """ + return pulumi.get(self, "maintenance_configuration_id") + + @maintenance_configuration_id.setter + def maintenance_configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_configuration_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class AssignmentDynamicScope(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + filter: Optional[pulumi.Input[pulumi.InputType['AssignmentDynamicScopeFilterArgs']]] = None, + maintenance_configuration_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Dynamic Maintenance Assignment. + + > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. + + ## Import + + Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AssignmentDynamicScopeFilterArgs']] filter: A `filter` block as defined below. + :param pulumi.Input[str] maintenance_configuration_id: The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + :param pulumi.Input[str] name: The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AssignmentDynamicScopeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Dynamic Maintenance Assignment. + + > **Note:** Only valid for `InGuestPatch` Maintenance Configuration Scopes. + + ## Import + + Dynamic Maintenance Assignments can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/configurationAssignments/assignmentName + ``` + + :param str resource_name: The name of the resource. + :param AssignmentDynamicScopeArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AssignmentDynamicScopeArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + filter: Optional[pulumi.Input[pulumi.InputType['AssignmentDynamicScopeFilterArgs']]] = None, + maintenance_configuration_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AssignmentDynamicScopeArgs.__new__(AssignmentDynamicScopeArgs) + + if filter is None and not opts.urn: + raise TypeError("Missing required property 'filter'") + __props__.__dict__["filter"] = filter + if maintenance_configuration_id is None and not opts.urn: + raise TypeError("Missing required property 'maintenance_configuration_id'") + __props__.__dict__["maintenance_configuration_id"] = maintenance_configuration_id + __props__.__dict__["name"] = name + super(AssignmentDynamicScope, __self__).__init__( + 'azure:maintenance/assignmentDynamicScope:AssignmentDynamicScope', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + filter: Optional[pulumi.Input[pulumi.InputType['AssignmentDynamicScopeFilterArgs']]] = None, + maintenance_configuration_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'AssignmentDynamicScope': + """ + Get an existing AssignmentDynamicScope resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AssignmentDynamicScopeFilterArgs']] filter: A `filter` block as defined below. + :param pulumi.Input[str] maintenance_configuration_id: The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + :param pulumi.Input[str] name: The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AssignmentDynamicScopeState.__new__(_AssignmentDynamicScopeState) + + __props__.__dict__["filter"] = filter + __props__.__dict__["maintenance_configuration_id"] = maintenance_configuration_id + __props__.__dict__["name"] = name + return AssignmentDynamicScope(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def filter(self) -> pulumi.Output['outputs.AssignmentDynamicScopeFilter']: + """ + A `filter` block as defined below. + """ + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="maintenanceConfigurationId") + def maintenance_configuration_id(self) -> pulumi.Output[str]: + """ + The ID of the Maintenance Configuration Resource. Changing this forces a new Dynamic Maintenance Assignment to be created. + """ + return pulumi.get(self, "maintenance_configuration_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name which should be used for this Dynamic Maintenance Assignment. Changing this forces a new Dynamic Maintenance Assignment to be created. + + > **Note:** The `name` must be unique per subscription. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_azure/maintenance/outputs.py b/sdk/python/pulumi_azure/maintenance/outputs.py index 580f4002df..2e6119cbbe 100644 --- a/sdk/python/pulumi_azure/maintenance/outputs.py +++ b/sdk/python/pulumi_azure/maintenance/outputs.py @@ -11,6 +11,8 @@ from . import outputs __all__ = [ + 'AssignmentDynamicScopeFilter', + 'AssignmentDynamicScopeFilterTag', 'ConfigurationInstallPatches', 'ConfigurationInstallPatchesLinux', 'ConfigurationInstallPatchesWindow', @@ -22,6 +24,137 @@ 'GetPublicConfigurationsConfigResult', ] +@pulumi.output_type +class AssignmentDynamicScopeFilter(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "osTypes": + suggest = "os_types" + elif key == "resourceGroups": + suggest = "resource_groups" + elif key == "resourceTypes": + suggest = "resource_types" + elif key == "tagFilter": + suggest = "tag_filter" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AssignmentDynamicScopeFilter. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AssignmentDynamicScopeFilter.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AssignmentDynamicScopeFilter.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + locations: Optional[Sequence[str]] = None, + os_types: Optional[Sequence[str]] = None, + resource_groups: Optional[Sequence[str]] = None, + resource_types: Optional[Sequence[str]] = None, + tag_filter: Optional[str] = None, + tags: Optional[Sequence['outputs.AssignmentDynamicScopeFilterTag']] = None): + """ + :param Sequence[str] locations: Specifies a list of locations to scope the query to. + :param Sequence[str] os_types: Specifies a list of allowed operating systems. + :param Sequence[str] resource_groups: Specifies a list of allowed resource groups. + :param Sequence[str] resource_types: Specifies a list of allowed resources. + :param str tag_filter: Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + :param Sequence['AssignmentDynamicScopeFilterTagArgs'] tags: A mapping of tags for the VM + """ + if locations is not None: + pulumi.set(__self__, "locations", locations) + if os_types is not None: + pulumi.set(__self__, "os_types", os_types) + if resource_groups is not None: + pulumi.set(__self__, "resource_groups", resource_groups) + if resource_types is not None: + pulumi.set(__self__, "resource_types", resource_types) + if tag_filter is not None: + pulumi.set(__self__, "tag_filter", tag_filter) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def locations(self) -> Optional[Sequence[str]]: + """ + Specifies a list of locations to scope the query to. + """ + return pulumi.get(self, "locations") + + @property + @pulumi.getter(name="osTypes") + def os_types(self) -> Optional[Sequence[str]]: + """ + Specifies a list of allowed operating systems. + """ + return pulumi.get(self, "os_types") + + @property + @pulumi.getter(name="resourceGroups") + def resource_groups(self) -> Optional[Sequence[str]]: + """ + Specifies a list of allowed resource groups. + """ + return pulumi.get(self, "resource_groups") + + @property + @pulumi.getter(name="resourceTypes") + def resource_types(self) -> Optional[Sequence[str]]: + """ + Specifies a list of allowed resources. + """ + return pulumi.get(self, "resource_types") + + @property + @pulumi.getter(name="tagFilter") + def tag_filter(self) -> Optional[str]: + """ + Filter VMs by `Any` or `All` specified tags. Defaults to `Any`. + """ + return pulumi.get(self, "tag_filter") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['outputs.AssignmentDynamicScopeFilterTag']]: + """ + A mapping of tags for the VM + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class AssignmentDynamicScopeFilterTag(dict): + def __init__(__self__, *, + tag: str, + values: Sequence[str]): + """ + :param str tag: Specifies the tag to filter by. + :param Sequence[str] values: Specifies a list of values the defined tag can have. + """ + pulumi.set(__self__, "tag", tag) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def tag(self) -> str: + """ + Specifies the tag to filter by. + """ + return pulumi.get(self, "tag") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Specifies a list of values the defined tag can have. + """ + return pulumi.get(self, "values") + + @pulumi.output_type class ConfigurationInstallPatches(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/mssql/database.py b/sdk/python/pulumi_azure/mssql/database.py index 126921f0a3..70ea1afe94 100644 --- a/sdk/python/pulumi_azure/mssql/database.py +++ b/sdk/python/pulumi_azure/mssql/database.py @@ -106,6 +106,8 @@ def __init__(__self__, *, > **NOTE:** `transparent_data_encryption_enabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. :param pulumi.Input[bool] transparent_data_encryption_key_automatic_rotation_enabled: Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. :param pulumi.Input[str] transparent_data_encryption_key_vault_key_id: The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`. @@ -590,6 +592,8 @@ def transparent_data_encryption_enabled(self, value: Optional[pulumi.Input[bool] def transparent_data_encryption_key_automatic_rotation_enabled(self) -> Optional[pulumi.Input[bool]]: """ Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. """ return pulumi.get(self, "transparent_data_encryption_key_automatic_rotation_enabled") @@ -717,6 +721,8 @@ def __init__(__self__, *, > **NOTE:** `transparent_data_encryption_enabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. :param pulumi.Input[bool] transparent_data_encryption_key_automatic_rotation_enabled: Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. :param pulumi.Input[str] transparent_data_encryption_key_vault_key_id: The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`. @@ -1202,6 +1208,8 @@ def transparent_data_encryption_enabled(self, value: Optional[pulumi.Input[bool] def transparent_data_encryption_key_automatic_rotation_enabled(self) -> Optional[pulumi.Input[bool]]: """ Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. """ return pulumi.get(self, "transparent_data_encryption_key_automatic_rotation_enabled") @@ -1467,6 +1475,8 @@ def __init__(__self__, > **NOTE:** `transparent_data_encryption_enabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. :param pulumi.Input[bool] transparent_data_encryption_key_automatic_rotation_enabled: Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. :param pulumi.Input[str] transparent_data_encryption_key_vault_key_id: The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`. @@ -1814,6 +1824,8 @@ def get(resource_name: str, > **NOTE:** `transparent_data_encryption_enabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs. :param pulumi.Input[bool] transparent_data_encryption_key_automatic_rotation_enabled: Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. :param pulumi.Input[str] transparent_data_encryption_key_vault_key_id: The fully versioned `Key Vault` `Key` URL (e.g. `'https://.vault.azure.net/keys//`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer. > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`. @@ -2141,6 +2153,8 @@ def transparent_data_encryption_enabled(self) -> pulumi.Output[Optional[bool]]: def transparent_data_encryption_key_automatic_rotation_enabled(self) -> pulumi.Output[Optional[bool]]: """ Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`. + + > **NOTE:** When the `sku_name` is `DW100c`, the `transparent_data_encryption_key_automatic_rotation_enabled` and the `transparent_data_encryption_key_vault_key_id` properties should not be specified, as database-level CMK is not supported for Data Warehouse SKUs. """ return pulumi.get(self, "transparent_data_encryption_key_automatic_rotation_enabled") diff --git a/sdk/python/pulumi_azure/network/__init__.py b/sdk/python/pulumi_azure/network/__init__.py index 38bf0b4e70..fa1a12d7f2 100644 --- a/sdk/python/pulumi_azure/network/__init__.py +++ b/sdk/python/pulumi_azure/network/__init__.py @@ -36,6 +36,7 @@ from .get_network_ddos_protection_plan import * from .get_network_interface import * from .get_network_manager import * +from .get_network_manager_connectivity_configuration import * from .get_network_manager_network_group import * from .get_network_security_group import * from .get_network_watcher import * diff --git a/sdk/python/pulumi_azure/network/_inputs.py b/sdk/python/pulumi_azure/network/_inputs.py index 4862afa704..df9adf8c7b 100644 --- a/sdk/python/pulumi_azure/network/_inputs.py +++ b/sdk/python/pulumi_azure/network/_inputs.py @@ -9841,6 +9841,8 @@ def __init__(__self__, *, enforcement: pulumi.Input[str]): """ :param pulumi.Input[str] enforcement: Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + + > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. """ pulumi.set(__self__, "enforcement", enforcement) @@ -9849,6 +9851,8 @@ def __init__(__self__, *, def enforcement(self) -> pulumi.Input[str]: """ Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + + > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. """ return pulumi.get(self, "enforcement") diff --git a/sdk/python/pulumi_azure/network/get_network_manager_connectivity_configuration.py b/sdk/python/pulumi_azure/network/get_network_manager_connectivity_configuration.py new file mode 100644 index 0000000000..4578a19b16 --- /dev/null +++ b/sdk/python/pulumi_azure/network/get_network_manager_connectivity_configuration.py @@ -0,0 +1,199 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetNetworkManagerConnectivityConfigurationResult', + 'AwaitableGetNetworkManagerConnectivityConfigurationResult', + 'get_network_manager_connectivity_configuration', + 'get_network_manager_connectivity_configuration_output', +] + +@pulumi.output_type +class GetNetworkManagerConnectivityConfigurationResult: + """ + A collection of values returned by getNetworkManagerConnectivityConfiguration. + """ + def __init__(__self__, applies_to_groups=None, connectivity_topology=None, delete_existing_peering_enabled=None, description=None, global_mesh_enabled=None, hubs=None, id=None, name=None, network_manager_id=None): + if applies_to_groups and not isinstance(applies_to_groups, list): + raise TypeError("Expected argument 'applies_to_groups' to be a list") + pulumi.set(__self__, "applies_to_groups", applies_to_groups) + if connectivity_topology and not isinstance(connectivity_topology, str): + raise TypeError("Expected argument 'connectivity_topology' to be a str") + pulumi.set(__self__, "connectivity_topology", connectivity_topology) + if delete_existing_peering_enabled and not isinstance(delete_existing_peering_enabled, bool): + raise TypeError("Expected argument 'delete_existing_peering_enabled' to be a bool") + pulumi.set(__self__, "delete_existing_peering_enabled", delete_existing_peering_enabled) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if global_mesh_enabled and not isinstance(global_mesh_enabled, bool): + raise TypeError("Expected argument 'global_mesh_enabled' to be a bool") + pulumi.set(__self__, "global_mesh_enabled", global_mesh_enabled) + if hubs and not isinstance(hubs, list): + raise TypeError("Expected argument 'hubs' to be a list") + pulumi.set(__self__, "hubs", hubs) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_manager_id and not isinstance(network_manager_id, str): + raise TypeError("Expected argument 'network_manager_id' to be a str") + pulumi.set(__self__, "network_manager_id", network_manager_id) + + @property + @pulumi.getter(name="appliesToGroups") + def applies_to_groups(self) -> Sequence['outputs.GetNetworkManagerConnectivityConfigurationAppliesToGroupResult']: + """ + An `applies_to_group` block as defined below. + """ + return pulumi.get(self, "applies_to_groups") + + @property + @pulumi.getter(name="connectivityTopology") + def connectivity_topology(self) -> str: + """ + The connectivity topology type. + """ + return pulumi.get(self, "connectivity_topology") + + @property + @pulumi.getter(name="deleteExistingPeeringEnabled") + def delete_existing_peering_enabled(self) -> bool: + """ + Whether to current existing Virtual Network Peering in the Connectivity Configuration affected scope. + """ + return pulumi.get(self, "delete_existing_peering_enabled") + + @property + @pulumi.getter + def description(self) -> str: + """ + The description of the Connectivity Configuration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="globalMeshEnabled") + def global_mesh_enabled(self) -> bool: + """ + Whether global mesh is supported. + """ + return pulumi.get(self, "global_mesh_enabled") + + @property + @pulumi.getter + def hubs(self) -> Sequence['outputs.GetNetworkManagerConnectivityConfigurationHubResult']: + """ + A `hub` block as defined below. + """ + return pulumi.get(self, "hubs") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkManagerId") + def network_manager_id(self) -> str: + return pulumi.get(self, "network_manager_id") + + +class AwaitableGetNetworkManagerConnectivityConfigurationResult(GetNetworkManagerConnectivityConfigurationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNetworkManagerConnectivityConfigurationResult( + applies_to_groups=self.applies_to_groups, + connectivity_topology=self.connectivity_topology, + delete_existing_peering_enabled=self.delete_existing_peering_enabled, + description=self.description, + global_mesh_enabled=self.global_mesh_enabled, + hubs=self.hubs, + id=self.id, + name=self.name, + network_manager_id=self.network_manager_id) + + +def get_network_manager_connectivity_configuration(name: Optional[str] = None, + network_manager_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkManagerConnectivityConfigurationResult: + """ + Use this data source to access information about an existing Network Manager Connectivity Configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.network.get_network_manager_connectivity_configuration(name="existing", + network_manager_id="TODO") + pulumi.export("id", example.id) + ``` + + + :param str name: The name of this Network Manager Connectivity Configuration. + :param str network_manager_id: The ID of the Network Manager. + """ + __args__ = dict() + __args__['name'] = name + __args__['networkManagerId'] = network_manager_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure:network/getNetworkManagerConnectivityConfiguration:getNetworkManagerConnectivityConfiguration', __args__, opts=opts, typ=GetNetworkManagerConnectivityConfigurationResult).value + + return AwaitableGetNetworkManagerConnectivityConfigurationResult( + applies_to_groups=pulumi.get(__ret__, 'applies_to_groups'), + connectivity_topology=pulumi.get(__ret__, 'connectivity_topology'), + delete_existing_peering_enabled=pulumi.get(__ret__, 'delete_existing_peering_enabled'), + description=pulumi.get(__ret__, 'description'), + global_mesh_enabled=pulumi.get(__ret__, 'global_mesh_enabled'), + hubs=pulumi.get(__ret__, 'hubs'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + network_manager_id=pulumi.get(__ret__, 'network_manager_id')) + + +@_utilities.lift_output_func(get_network_manager_connectivity_configuration) +def get_network_manager_connectivity_configuration_output(name: Optional[pulumi.Input[str]] = None, + network_manager_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkManagerConnectivityConfigurationResult]: + """ + Use this data source to access information about an existing Network Manager Connectivity Configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.network.get_network_manager_connectivity_configuration(name="existing", + network_manager_id="TODO") + pulumi.export("id", example.id) + ``` + + + :param str name: The name of this Network Manager Connectivity Configuration. + :param str network_manager_id: The ID of the Network Manager. + """ + ... diff --git a/sdk/python/pulumi_azure/network/get_subnet.py b/sdk/python/pulumi_azure/network/get_subnet.py index 788039e001..c14fa8a54f 100644 --- a/sdk/python/pulumi_azure/network/get_subnet.py +++ b/sdk/python/pulumi_azure/network/get_subnet.py @@ -21,7 +21,7 @@ class GetSubnetResult: """ A collection of values returned by getSubnet. """ - def __init__(__self__, address_prefix=None, address_prefixes=None, enforce_private_link_endpoint_network_policies=None, enforce_private_link_service_network_policies=None, id=None, name=None, network_security_group_id=None, private_endpoint_network_policies_enabled=None, private_link_service_network_policies_enabled=None, resource_group_name=None, route_table_id=None, service_endpoints=None, virtual_network_name=None): + def __init__(__self__, address_prefix=None, address_prefixes=None, enforce_private_link_endpoint_network_policies=None, enforce_private_link_service_network_policies=None, id=None, name=None, network_security_group_id=None, private_endpoint_network_policies=None, private_endpoint_network_policies_enabled=None, private_link_service_network_policies_enabled=None, resource_group_name=None, route_table_id=None, service_endpoints=None, virtual_network_name=None): if address_prefix and not isinstance(address_prefix, str): raise TypeError("Expected argument 'address_prefix' to be a str") pulumi.set(__self__, "address_prefix", address_prefix) @@ -43,6 +43,9 @@ def __init__(__self__, address_prefix=None, address_prefixes=None, enforce_priva if network_security_group_id and not isinstance(network_security_group_id, str): raise TypeError("Expected argument 'network_security_group_id' to be a str") pulumi.set(__self__, "network_security_group_id", network_security_group_id) + if private_endpoint_network_policies and not isinstance(private_endpoint_network_policies, str): + raise TypeError("Expected argument 'private_endpoint_network_policies' to be a str") + pulumi.set(__self__, "private_endpoint_network_policies", private_endpoint_network_policies) if private_endpoint_network_policies_enabled and not isinstance(private_endpoint_network_policies_enabled, bool): raise TypeError("Expected argument 'private_endpoint_network_policies_enabled' to be a bool") pulumi.set(__self__, "private_endpoint_network_policies_enabled", private_endpoint_network_policies_enabled) @@ -107,11 +110,19 @@ def network_security_group_id(self) -> str: return pulumi.get(self, "network_security_group_id") @property - @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") - def private_endpoint_network_policies_enabled(self) -> bool: + @pulumi.getter(name="privateEndpointNetworkPolicies") + def private_endpoint_network_policies(self) -> str: """ Enable or Disable network policies for the private endpoint on the subnet. """ + return pulumi.get(self, "private_endpoint_network_policies") + + @property + @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") + def private_endpoint_network_policies_enabled(self) -> bool: + warnings.warn("""This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider.""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: This property has been superseded by `private_endpoint_network_policies` and will be removed in v4.0 of the AzureRM Provider.""") + return pulumi.get(self, "private_endpoint_network_policies_enabled") @property @@ -162,6 +173,7 @@ def __await__(self): id=self.id, name=self.name, network_security_group_id=self.network_security_group_id, + private_endpoint_network_policies=self.private_endpoint_network_policies, private_endpoint_network_policies_enabled=self.private_endpoint_network_policies_enabled, private_link_service_network_policies_enabled=self.private_link_service_network_policies_enabled, resource_group_name=self.resource_group_name, @@ -209,6 +221,7 @@ def get_subnet(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), network_security_group_id=pulumi.get(__ret__, 'network_security_group_id'), + private_endpoint_network_policies=pulumi.get(__ret__, 'private_endpoint_network_policies'), private_endpoint_network_policies_enabled=pulumi.get(__ret__, 'private_endpoint_network_policies_enabled'), private_link_service_network_policies_enabled=pulumi.get(__ret__, 'private_link_service_network_policies_enabled'), resource_group_name=pulumi.get(__ret__, 'resource_group_name'), diff --git a/sdk/python/pulumi_azure/network/outputs.py b/sdk/python/pulumi_azure/network/outputs.py index b958572356..0ad0e8bd17 100644 --- a/sdk/python/pulumi_azure/network/outputs.py +++ b/sdk/python/pulumi_azure/network/outputs.py @@ -232,6 +232,8 @@ 'GetGatewayConnectionTrafficSelectorPolicyResult', 'GetLocalNetworkGatewayBgpSettingResult', 'GetNetworkInterfaceIpConfigurationResult', + 'GetNetworkManagerConnectivityConfigurationAppliesToGroupResult', + 'GetNetworkManagerConnectivityConfigurationHubResult', 'GetNetworkManagerCrossTenantScopeResult', 'GetNetworkManagerScopeResult', 'GetNetworkSecurityGroupSecurityRuleResult', @@ -9813,6 +9815,8 @@ def __init__(__self__, *, enforcement: str): """ :param str enforcement: Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + + > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. """ pulumi.set(__self__, "enforcement", enforcement) @@ -9821,6 +9825,8 @@ def __init__(__self__, *, def enforcement(self) -> str: """ Specifies if the encrypted Virtual Network allows VM that does not support encryption. Possible values are `DropUnencrypted` and `AllowUnencrypted`. + + > **NOTE:** Currently `AllowUnencrypted` is the only supported value for the `enforcement` property as `DropUnencrypted` is not yet in public preview or general availability. Please see the [official documentation](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#limitations) for more information. """ return pulumi.get(self, "enforcement") @@ -15864,6 +15870,86 @@ def subnet_id(self) -> str: return pulumi.get(self, "subnet_id") +@pulumi.output_type +class GetNetworkManagerConnectivityConfigurationAppliesToGroupResult(dict): + def __init__(__self__, *, + global_mesh_enabled: bool, + group_connectivity: str, + network_group_id: str, + use_hub_gateway: bool): + """ + :param bool global_mesh_enabled: Whether global mesh is supported. + :param str group_connectivity: The group connectivity type. + :param str network_group_id: The ID of the Network Manager Network Group. + :param bool use_hub_gateway: Whether hub gateway is used. + """ + pulumi.set(__self__, "global_mesh_enabled", global_mesh_enabled) + pulumi.set(__self__, "group_connectivity", group_connectivity) + pulumi.set(__self__, "network_group_id", network_group_id) + pulumi.set(__self__, "use_hub_gateway", use_hub_gateway) + + @property + @pulumi.getter(name="globalMeshEnabled") + def global_mesh_enabled(self) -> bool: + """ + Whether global mesh is supported. + """ + return pulumi.get(self, "global_mesh_enabled") + + @property + @pulumi.getter(name="groupConnectivity") + def group_connectivity(self) -> str: + """ + The group connectivity type. + """ + return pulumi.get(self, "group_connectivity") + + @property + @pulumi.getter(name="networkGroupId") + def network_group_id(self) -> str: + """ + The ID of the Network Manager Network Group. + """ + return pulumi.get(self, "network_group_id") + + @property + @pulumi.getter(name="useHubGateway") + def use_hub_gateway(self) -> bool: + """ + Whether hub gateway is used. + """ + return pulumi.get(self, "use_hub_gateway") + + +@pulumi.output_type +class GetNetworkManagerConnectivityConfigurationHubResult(dict): + def __init__(__self__, *, + resource_id: str, + resource_type: str): + """ + :param str resource_id: The resource ID used as hub in Hub and Spoke topology. + :param str resource_type: The resource type used as hub in Hub and Spoke topology. + """ + pulumi.set(__self__, "resource_id", resource_id) + pulumi.set(__self__, "resource_type", resource_type) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> str: + """ + The resource ID used as hub in Hub and Spoke topology. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> str: + """ + The resource type used as hub in Hub and Spoke topology. + """ + return pulumi.get(self, "resource_type") + + @pulumi.output_type class GetNetworkManagerCrossTenantScopeResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/network/profile.py b/sdk/python/pulumi_azure/network/profile.py index 50cb465694..44e710a702 100644 --- a/sdk/python/pulumi_azure/network/profile.py +++ b/sdk/python/pulumi_azure/network/profile.py @@ -27,7 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the resource. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Network Profile. Changing this forces a new resource to be created. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags assigned to the resource. """ pulumi.set(__self__, "container_network_interface", container_network_interface) pulumi.set(__self__, "resource_group_name", resource_group_name) @@ -90,7 +90,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A mapping of tags to assign to the resource. + A mapping of tags assigned to the resource. """ return pulumi.get(self, "tags") @@ -115,7 +115,7 @@ def __init__(__self__, *, :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Network Profile. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the resource. Changing this forces a new resource to be created. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags assigned to the resource. """ if container_network_interface is not None: pulumi.set(__self__, "container_network_interface", container_network_interface) @@ -194,7 +194,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A mapping of tags to assign to the resource. + A mapping of tags assigned to the resource. """ return pulumi.get(self, "tags") @@ -270,7 +270,7 @@ def __init__(__self__, :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Network Profile. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the resource. Changing this forces a new resource to be created. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags assigned to the resource. """ ... @overload @@ -395,7 +395,7 @@ def get(resource_name: str, :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Network Profile. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the resource. Changing this forces a new resource to be created. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags assigned to the resource. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -453,7 +453,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A mapping of tags to assign to the resource. + A mapping of tags assigned to the resource. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_azure/network/subnet.py b/sdk/python/pulumi_azure/network/subnet.py index a41e663be9..fc1133d756 100644 --- a/sdk/python/pulumi_azure/network/subnet.py +++ b/sdk/python/pulumi_azure/network/subnet.py @@ -23,6 +23,7 @@ def __init__(__self__, *, enforce_private_link_endpoint_network_policies: Optional[pulumi.Input[bool]] = None, enforce_private_link_service_network_policies: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_endpoint_network_policies: Optional[pulumi.Input[str]] = None, private_endpoint_network_policies_enabled: Optional[pulumi.Input[bool]] = None, private_link_service_network_policies_enabled: Optional[pulumi.Input[bool]] = None, service_endpoint_policy_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -32,13 +33,13 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] address_prefixes: The address prefixes to use for the subnet. > **NOTE:** Currently only a single address prefix can be set as the [Multiple Subnet Address Prefixes Feature](https://github.com/Azure/azure-cli/issues/18194#issuecomment-880484269) is not yet in public preview or general availability. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. :param pulumi.Input[str] virtual_network_name: The name of the virtual network to which to attach the subnet. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input['SubnetDelegationArgs']]] delegations: One or more `delegation` blocks as defined below. :param pulumi.Input[str] name: The name of the subnet. Changing this forces a new resource to be created. - :param pulumi.Input[bool] private_endpoint_network_policies_enabled: Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + :param pulumi.Input[str] private_endpoint_network_policies: Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. :param pulumi.Input[bool] private_link_service_network_policies_enabled: Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `private_link_service_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. @@ -53,8 +54,8 @@ def __init__(__self__, *, if delegations is not None: pulumi.set(__self__, "delegations", delegations) if enforce_private_link_endpoint_network_policies is not None: - warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""", DeprecationWarning) - pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""") + warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") if enforce_private_link_endpoint_network_policies is not None: pulumi.set(__self__, "enforce_private_link_endpoint_network_policies", enforce_private_link_endpoint_network_policies) if enforce_private_link_service_network_policies is not None: @@ -64,6 +65,11 @@ def __init__(__self__, *, pulumi.set(__self__, "enforce_private_link_service_network_policies", enforce_private_link_service_network_policies) if name is not None: pulumi.set(__self__, "name", name) + if private_endpoint_network_policies is not None: + pulumi.set(__self__, "private_endpoint_network_policies", private_endpoint_network_policies) + if private_endpoint_network_policies_enabled is not None: + warnings.warn("""`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") if private_endpoint_network_policies_enabled is not None: pulumi.set(__self__, "private_endpoint_network_policies_enabled", private_endpoint_network_policies_enabled) if private_link_service_network_policies_enabled is not None: @@ -91,7 +97,7 @@ def address_prefixes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> pulumi.Input[str]: """ - The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. """ return pulumi.get(self, "resource_group_name") @@ -126,8 +132,8 @@ def delegations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Subnet @property @pulumi.getter(name="enforcePrivateLinkEndpointNetworkPolicies") def enforce_private_link_endpoint_network_policies(self) -> Optional[pulumi.Input[bool]]: - warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""", DeprecationWarning) - pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""") + warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") return pulumi.get(self, "enforce_private_link_endpoint_network_policies") @@ -160,13 +166,25 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") - def private_endpoint_network_policies_enabled(self) -> Optional[pulumi.Input[bool]]: + @pulumi.getter(name="privateEndpointNetworkPolicies") + def private_endpoint_network_policies(self) -> Optional[pulumi.Input[str]]: """ - Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. """ + return pulumi.get(self, "private_endpoint_network_policies") + + @private_endpoint_network_policies.setter + def private_endpoint_network_policies(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_network_policies", value) + + @property + @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") + def private_endpoint_network_policies_enabled(self) -> Optional[pulumi.Input[bool]]: + warnings.warn("""`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") + return pulumi.get(self, "private_endpoint_network_policies_enabled") @private_endpoint_network_policies_enabled.setter @@ -222,6 +240,7 @@ def __init__(__self__, *, enforce_private_link_endpoint_network_policies: Optional[pulumi.Input[bool]] = None, enforce_private_link_service_network_policies: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_endpoint_network_policies: Optional[pulumi.Input[str]] = None, private_endpoint_network_policies_enabled: Optional[pulumi.Input[bool]] = None, private_link_service_network_policies_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -235,13 +254,13 @@ def __init__(__self__, *, > **NOTE:** Currently only a single address prefix can be set as the [Multiple Subnet Address Prefixes Feature](https://github.com/Azure/azure-cli/issues/18194#issuecomment-880484269) is not yet in public preview or general availability. :param pulumi.Input[Sequence[pulumi.Input['SubnetDelegationArgs']]] delegations: One or more `delegation` blocks as defined below. :param pulumi.Input[str] name: The name of the subnet. Changing this forces a new resource to be created. - :param pulumi.Input[bool] private_endpoint_network_policies_enabled: Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + :param pulumi.Input[str] private_endpoint_network_policies: Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. :param pulumi.Input[bool] private_link_service_network_policies_enabled: Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `private_link_service_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoint_policy_ids: The list of IDs of Service Endpoint Policies to associate with the subnet. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoints: The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`. @@ -253,8 +272,8 @@ def __init__(__self__, *, if delegations is not None: pulumi.set(__self__, "delegations", delegations) if enforce_private_link_endpoint_network_policies is not None: - warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""", DeprecationWarning) - pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""") + warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") if enforce_private_link_endpoint_network_policies is not None: pulumi.set(__self__, "enforce_private_link_endpoint_network_policies", enforce_private_link_endpoint_network_policies) if enforce_private_link_service_network_policies is not None: @@ -264,6 +283,11 @@ def __init__(__self__, *, pulumi.set(__self__, "enforce_private_link_service_network_policies", enforce_private_link_service_network_policies) if name is not None: pulumi.set(__self__, "name", name) + if private_endpoint_network_policies is not None: + pulumi.set(__self__, "private_endpoint_network_policies", private_endpoint_network_policies) + if private_endpoint_network_policies_enabled is not None: + warnings.warn("""`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") if private_endpoint_network_policies_enabled is not None: pulumi.set(__self__, "private_endpoint_network_policies_enabled", private_endpoint_network_policies_enabled) if private_link_service_network_policies_enabled is not None: @@ -306,8 +330,8 @@ def delegations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Subnet @property @pulumi.getter(name="enforcePrivateLinkEndpointNetworkPolicies") def enforce_private_link_endpoint_network_policies(self) -> Optional[pulumi.Input[bool]]: - warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""", DeprecationWarning) - pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""") + warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") return pulumi.get(self, "enforce_private_link_endpoint_network_policies") @@ -340,13 +364,25 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") - def private_endpoint_network_policies_enabled(self) -> Optional[pulumi.Input[bool]]: + @pulumi.getter(name="privateEndpointNetworkPolicies") + def private_endpoint_network_policies(self) -> Optional[pulumi.Input[str]]: """ - Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. """ + return pulumi.get(self, "private_endpoint_network_policies") + + @private_endpoint_network_policies.setter + def private_endpoint_network_policies(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_network_policies", value) + + @property + @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") + def private_endpoint_network_policies_enabled(self) -> Optional[pulumi.Input[bool]]: + warnings.warn("""`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") + return pulumi.get(self, "private_endpoint_network_policies_enabled") @private_endpoint_network_policies_enabled.setter @@ -371,7 +407,7 @@ def private_link_service_network_policies_enabled(self, value: Optional[pulumi.I @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> Optional[pulumi.Input[str]]: """ - The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. """ return pulumi.get(self, "resource_group_name") @@ -428,6 +464,7 @@ def __init__(__self__, enforce_private_link_endpoint_network_policies: Optional[pulumi.Input[bool]] = None, enforce_private_link_service_network_policies: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_endpoint_network_policies: Optional[pulumi.Input[str]] = None, private_endpoint_network_policies_enabled: Optional[pulumi.Input[bool]] = None, private_link_service_network_policies_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -488,13 +525,13 @@ def __init__(__self__, > **NOTE:** Currently only a single address prefix can be set as the [Multiple Subnet Address Prefixes Feature](https://github.com/Azure/azure-cli/issues/18194#issuecomment-880484269) is not yet in public preview or general availability. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SubnetDelegationArgs']]]] delegations: One or more `delegation` blocks as defined below. :param pulumi.Input[str] name: The name of the subnet. Changing this forces a new resource to be created. - :param pulumi.Input[bool] private_endpoint_network_policies_enabled: Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + :param pulumi.Input[str] private_endpoint_network_policies: Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. :param pulumi.Input[bool] private_link_service_network_policies_enabled: Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `private_link_service_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoint_policy_ids: The list of IDs of Service Endpoint Policies to associate with the subnet. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoints: The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`. @@ -573,6 +610,7 @@ def _internal_init(__self__, enforce_private_link_endpoint_network_policies: Optional[pulumi.Input[bool]] = None, enforce_private_link_service_network_policies: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_endpoint_network_policies: Optional[pulumi.Input[str]] = None, private_endpoint_network_policies_enabled: Optional[pulumi.Input[bool]] = None, private_link_service_network_policies_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -595,6 +633,7 @@ def _internal_init(__self__, __props__.__dict__["enforce_private_link_endpoint_network_policies"] = enforce_private_link_endpoint_network_policies __props__.__dict__["enforce_private_link_service_network_policies"] = enforce_private_link_service_network_policies __props__.__dict__["name"] = name + __props__.__dict__["private_endpoint_network_policies"] = private_endpoint_network_policies __props__.__dict__["private_endpoint_network_policies_enabled"] = private_endpoint_network_policies_enabled __props__.__dict__["private_link_service_network_policies_enabled"] = private_link_service_network_policies_enabled if resource_group_name is None and not opts.urn: @@ -620,6 +659,7 @@ def get(resource_name: str, enforce_private_link_endpoint_network_policies: Optional[pulumi.Input[bool]] = None, enforce_private_link_service_network_policies: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_endpoint_network_policies: Optional[pulumi.Input[str]] = None, private_endpoint_network_policies_enabled: Optional[pulumi.Input[bool]] = None, private_link_service_network_policies_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -638,13 +678,13 @@ def get(resource_name: str, > **NOTE:** Currently only a single address prefix can be set as the [Multiple Subnet Address Prefixes Feature](https://github.com/Azure/azure-cli/issues/18194#issuecomment-880484269) is not yet in public preview or general availability. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SubnetDelegationArgs']]]] delegations: One or more `delegation` blocks as defined below. :param pulumi.Input[str] name: The name of the subnet. Changing this forces a new resource to be created. - :param pulumi.Input[bool] private_endpoint_network_policies_enabled: Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + :param pulumi.Input[str] private_endpoint_network_policies: Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. :param pulumi.Input[bool] private_link_service_network_policies_enabled: Enable or Disable network policies for the private link service on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. > **NOTE:** In order to deploy a Private Link Service on a given subnet, you must set the `private_link_service_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Service, for all other resources in the subnet access is controlled based on the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoint_policy_ids: The list of IDs of Service Endpoint Policies to associate with the subnet. :param pulumi.Input[Sequence[pulumi.Input[str]]] service_endpoints: The list of Service endpoints to associate with the subnet. Possible values include: `Microsoft.AzureActiveDirectory`, `Microsoft.AzureCosmosDB`, `Microsoft.ContainerRegistry`, `Microsoft.EventHub`, `Microsoft.KeyVault`, `Microsoft.ServiceBus`, `Microsoft.Sql`, `Microsoft.Storage`, `Microsoft.Storage.Global` and `Microsoft.Web`. @@ -660,6 +700,7 @@ def get(resource_name: str, __props__.__dict__["enforce_private_link_endpoint_network_policies"] = enforce_private_link_endpoint_network_policies __props__.__dict__["enforce_private_link_service_network_policies"] = enforce_private_link_service_network_policies __props__.__dict__["name"] = name + __props__.__dict__["private_endpoint_network_policies"] = private_endpoint_network_policies __props__.__dict__["private_endpoint_network_policies_enabled"] = private_endpoint_network_policies_enabled __props__.__dict__["private_link_service_network_policies_enabled"] = private_link_service_network_policies_enabled __props__.__dict__["resource_group_name"] = resource_group_name @@ -689,8 +730,8 @@ def delegations(self) -> pulumi.Output[Optional[Sequence['outputs.SubnetDelegati @property @pulumi.getter(name="enforcePrivateLinkEndpointNetworkPolicies") def enforce_private_link_endpoint_network_policies(self) -> pulumi.Output[bool]: - warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""", DeprecationWarning) - pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies_enabled` in version 4.0 of the AzureRM Provider""") + warnings.warn("""`enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""enforce_private_link_endpoint_network_policies is deprecated: `enforce_private_link_endpoint_network_policies` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") return pulumi.get(self, "enforce_private_link_endpoint_network_policies") @@ -711,13 +752,21 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") - def private_endpoint_network_policies_enabled(self) -> pulumi.Output[bool]: + @pulumi.getter(name="privateEndpointNetworkPolicies") + def private_endpoint_network_policies(self) -> pulumi.Output[str]: """ - Enable or Disable network policies for the private endpoint on the subnet. Setting this to `true` will **Enable** the policy and setting this to `false` will **Disable** the policy. Defaults to `true`. + Enable or Disable network policies for the private endpoint on the subnet. Possible values are `Disabled`, `Enabled`, `NetworkSecurityGroupEnabled` and `RouteTableEnabled`. Defaults to `Disabled`. - > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies_enabled` attribute to `false`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. + > **NOTE:** Network policies, like network security groups (NSG), are not supported for Private Link Endpoints or Private Link Services. In order to deploy a Private Link Endpoint on a given subnet, you must set the `private_endpoint_network_policies` attribute to `Disabled`. This setting is only applicable for the Private Link Endpoint, for all other resources in the subnet access is controlled based via the Network Security Group which can be configured using the `network.SubnetNetworkSecurityGroupAssociation` resource. """ + return pulumi.get(self, "private_endpoint_network_policies") + + @property + @pulumi.getter(name="privateEndpointNetworkPoliciesEnabled") + def private_endpoint_network_policies_enabled(self) -> pulumi.Output[bool]: + warnings.warn("""`private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""", DeprecationWarning) + pulumi.log.warn("""private_endpoint_network_policies_enabled is deprecated: `private_endpoint_network_policies_enabled` will be removed in favour of the property `private_endpoint_network_policies` in version 4.0 of the AzureRM Provider""") + return pulumi.get(self, "private_endpoint_network_policies_enabled") @property @@ -734,7 +783,7 @@ def private_link_service_network_policies_enabled(self) -> pulumi.Output[bool]: @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> pulumi.Output[str]: """ - The name of the resource group in which to create the subnet. Changing this forces a new resource to be created. + The name of the resource group in which to create the subnet. This must be the resource group that the virtual network resides in. Changing this forces a new resource to be created. """ return pulumi.get(self, "resource_group_name") diff --git a/sdk/python/pulumi_azure/postgresql/flexible_server.py b/sdk/python/pulumi_azure/postgresql/flexible_server.py index 1e3c9d7b53..7f1c6c79eb 100644 --- a/sdk/python/pulumi_azure/postgresql/flexible_server.py +++ b/sdk/python/pulumi_azure/postgresql/flexible_server.py @@ -53,7 +53,9 @@ def __init__(__self__, *, :param pulumi.Input['FlexibleServerAuthenticationArgs'] authentication: An `authentication` block as defined below. :param pulumi.Input[bool] auto_grow_enabled: Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`. :param pulumi.Input[int] backup_retention_days: The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. - :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. :param pulumi.Input['FlexibleServerCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. Changing this forces a new resource to be created. @@ -218,7 +220,9 @@ def backup_retention_days(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="createMode") def create_mode(self) -> Optional[pulumi.Input[str]]: """ - The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. """ @@ -497,7 +501,9 @@ def __init__(__self__, *, :param pulumi.Input['FlexibleServerAuthenticationArgs'] authentication: An `authentication` block as defined below. :param pulumi.Input[bool] auto_grow_enabled: Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`. :param pulumi.Input[int] backup_retention_days: The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. - :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. :param pulumi.Input['FlexibleServerCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. Changing this forces a new resource to be created. @@ -658,7 +664,9 @@ def backup_retention_days(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="createMode") def create_mode(self) -> Optional[pulumi.Input[str]]: """ - The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. """ @@ -1056,7 +1064,9 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['FlexibleServerAuthenticationArgs']] authentication: An `authentication` block as defined below. :param pulumi.Input[bool] auto_grow_enabled: Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`. :param pulumi.Input[int] backup_retention_days: The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. - :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. :param pulumi.Input[pulumi.InputType['FlexibleServerCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. Changing this forces a new resource to be created. @@ -1313,7 +1323,9 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['FlexibleServerAuthenticationArgs']] authentication: An `authentication` block as defined below. :param pulumi.Input[bool] auto_grow_enabled: Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`. :param pulumi.Input[int] backup_retention_days: The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days. - :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + :param pulumi.Input[str] create_mode: The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. :param pulumi.Input[pulumi.InputType['FlexibleServerCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. Changing this forces a new resource to be created. @@ -1432,7 +1444,9 @@ def backup_retention_days(self) -> pulumi.Output[int]: @pulumi.getter(name="createMode") def create_mode(self) -> pulumi.Output[Optional[str]]: """ - The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. + The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`. Changing this forces a new PostgreSQL Flexible Server to be created. + + > **Note:** `create_mode` cannot be changed once it's set since it's a parameter at creation. > **Note:** While creating the resource, `create_mode` cannot be set to `Update`. """ diff --git a/sdk/python/pulumi_azure/storage/_inputs.py b/sdk/python/pulumi_azure/storage/_inputs.py index aea7623b5f..8f7e8224ef 100644 --- a/sdk/python/pulumi_azure/storage/_inputs.py +++ b/sdk/python/pulumi_azure/storage/_inputs.py @@ -487,12 +487,18 @@ def max_age_in_seconds(self, value: pulumi.Input[int]): @pulumi.input_type class AccountBlobPropertiesDeleteRetentionPolicyArgs: def __init__(__self__, *, - days: Optional[pulumi.Input[int]] = None): + days: Optional[pulumi.Input[int]] = None, + permanent_delete_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[int] days: Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. + :param pulumi.Input[bool] permanent_delete_enabled: Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + + > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. """ if days is not None: pulumi.set(__self__, "days", days) + if permanent_delete_enabled is not None: + pulumi.set(__self__, "permanent_delete_enabled", permanent_delete_enabled) @property @pulumi.getter @@ -506,6 +512,20 @@ def days(self) -> Optional[pulumi.Input[int]]: def days(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "days", value) + @property + @pulumi.getter(name="permanentDeleteEnabled") + def permanent_delete_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + + > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + """ + return pulumi.get(self, "permanent_delete_enabled") + + @permanent_delete_enabled.setter + def permanent_delete_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "permanent_delete_enabled", value) + @pulumi.input_type class AccountBlobPropertiesRestorePolicyArgs: diff --git a/sdk/python/pulumi_azure/storage/outputs.py b/sdk/python/pulumi_azure/storage/outputs.py index 18d69796ba..f8f3fb286a 100644 --- a/sdk/python/pulumi_azure/storage/outputs.py +++ b/sdk/python/pulumi_azure/storage/outputs.py @@ -512,13 +512,36 @@ def max_age_in_seconds(self) -> int: @pulumi.output_type class AccountBlobPropertiesDeleteRetentionPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "permanentDeleteEnabled": + suggest = "permanent_delete_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccountBlobPropertiesDeleteRetentionPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccountBlobPropertiesDeleteRetentionPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccountBlobPropertiesDeleteRetentionPolicy.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - days: Optional[int] = None): + days: Optional[int] = None, + permanent_delete_enabled: Optional[bool] = None): """ :param int days: Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`. + :param bool permanent_delete_enabled: Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + + > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. """ if days is not None: pulumi.set(__self__, "days", days) + if permanent_delete_enabled is not None: + pulumi.set(__self__, "permanent_delete_enabled", permanent_delete_enabled) @property @pulumi.getter @@ -528,6 +551,16 @@ def days(self) -> Optional[int]: """ return pulumi.get(self, "days") + @property + @pulumi.getter(name="permanentDeleteEnabled") + def permanent_delete_enabled(self) -> Optional[bool]: + """ + Indicates whether permanent deletion of the soft deleted blob versions and snapshots is allowed. Defaults to `false`. + + > **NOTE:** `permanent_delete_enabled` cannot be set to true if a `restore_policy` block is defined. + """ + return pulumi.get(self, "permanent_delete_enabled") + @pulumi.output_type class AccountBlobPropertiesRestorePolicy(dict): diff --git a/upstream b/upstream index a79abeae9b..02ac4e008c 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit a79abeae9bf1f0d25cfa8c0908d766676587ee10 +Subproject commit 02ac4e008ca1adfd384e20dc0f0c9390863a737a