From e2865d14c31204d814f08b35893e03ca42ef648c Mon Sep 17 00:00:00 2001 From: "bot@pulumi.com" Date: Tue, 21 Jan 2025 03:23:42 +0000 Subject: [PATCH 1/2] make tfgen --- ...app_schema-use_dotnet_isolated_runti.patch | 4 +- patches/0013-Update-documentation.patch | 12 +- .../bridge-metadata.json | 20 + .../cmd/pulumi-resource-azure/schema.json | 627 +++++++++++++----- provider/go.mod | 6 +- provider/go.sum | 12 +- upstream | 2 +- 7 files changed, 488 insertions(+), 195 deletions(-) diff --git a/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch b/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch index 6bd9357d58..19d083d6da 100644 --- a/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch +++ b/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Remove function_app_schema use_dotnet_isolated_runtime diff --git a/internal/services/appservice/helpers/function_app_schema.go b/internal/services/appservice/helpers/function_app_schema.go -index d99d6e9160..9a77ff31e8 100644 +index 83aebea14f..f2f776e87f 100644 --- a/internal/services/appservice/helpers/function_app_schema.go +++ b/internal/services/appservice/helpers/function_app_schema.go -@@ -1085,10 +1085,11 @@ func linuxFunctionAppStackSchema() *pluginsdk.Schema { +@@ -1062,10 +1062,11 @@ func linuxFunctionAppStackSchema() *pluginsdk.Schema { Description: "The version of .Net. Possible values are `3.1`, `6.0`, `7.0`, `8.0` and `9.0`", }, diff --git a/patches/0013-Update-documentation.patch b/patches/0013-Update-documentation.patch index 3472ff4e07..92a41dd439 100644 --- a/patches/0013-Update-documentation.patch +++ b/patches/0013-Update-documentation.patch @@ -1800,10 +1800,10 @@ index dd3898b6c5..f8cb8ab6f7 100644 The `ingress_application_gateway` block exports the following: diff --git a/website/docs/r/kubernetes_cluster_node_pool.html.markdown b/website/docs/r/kubernetes_cluster_node_pool.html.markdown -index 32533569cf..f1279cb02b 100644 +index 41f3ee87c3..58938319cb 100644 --- a/website/docs/r/kubernetes_cluster_node_pool.html.markdown +++ b/website/docs/r/kubernetes_cluster_node_pool.html.markdown -@@ -10,13 +10,11 @@ description: |- +@@ -10,15 +10,13 @@ description: |- Manages a Node Pool within a Kubernetes Cluster @@ -1811,6 +1811,8 @@ index 32533569cf..f1279cb02b 100644 - ~> **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. + -> **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`. + ## Example Usage -This example provisions a basic Kubernetes Node Pool. Other examples of the `azurerm_kubernetes_cluster_node_pool` resource can be found in [the `./examples/kubernetes` directory within the GitHub Repository](https://github.com/hashicorp/terraform-provider-azurerm/tree/main/examples/kubernetes) @@ -1818,7 +1820,7 @@ index 32533569cf..f1279cb02b 100644 ```hcl resource "azurerm_resource_group" "example" { -@@ -138,7 +136,7 @@ The following arguments are supported: +@@ -140,7 +138,7 @@ The following arguments are supported: * `tags` - (Optional) A mapping of tags to assign to the resource. @@ -1827,7 +1829,7 @@ index 32533569cf..f1279cb02b 100644 * `scale_down_mode` - (Optional) Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. -@@ -168,7 +166,7 @@ If `auto_scaling_enabled` is set to `true`, then the following fields can also b +@@ -172,7 +170,7 @@ If `auto_scaling_enabled` is set to `true`, then the following fields can also b * `node_count` - (Optional) The initial number of nodes which should exist within this Node Pool. Valid values are between `0` and `1000` (inclusive) for user pools and between `1` and `1000` (inclusive) for system pools and must be a value in the range `min_count` - `max_count`. @@ -2439,7 +2441,7 @@ index 3795e39b28..e401b9f4a0 100644 -> **NOTE** Since `route` can be configured both inline and via the separate `azurerm_route` resource, we have to explicitly set it to empty slice (`[]`) to remove it. diff --git a/website/docs/r/servicebus_namespace.html.markdown b/website/docs/r/servicebus_namespace.html.markdown -index 94d2d20cf3..51fea1fa2d 100644 +index f1e474773c..2d26b03f1e 100644 --- a/website/docs/r/servicebus_namespace.html.markdown +++ b/website/docs/r/servicebus_namespace.html.markdown @@ -18,7 +18,7 @@ provider "azurerm" { diff --git a/provider/cmd/pulumi-resource-azure/bridge-metadata.json b/provider/cmd/pulumi-resource-azure/bridge-metadata.json index d1e8c1ed4f..e5339feebe 100644 --- a/provider/cmd/pulumi-resource-azure/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-azure/bridge-metadata.json @@ -4400,6 +4400,18 @@ "current": "azure:containerservice/registryCacheRule:RegistryCacheRule", "majorVersion": 6 }, + "azurerm_container_registry_credential_set": { + "current": "azure:containerservice/registryCredentialSet:RegistryCredentialSet", + "majorVersion": 6, + "fields": { + "authentication_credentials": { + "maxItemsOne": true + }, + "identity": { + "maxItemsOne": true + } + } + }, "azurerm_container_registry_scope_map": { "current": "azure:containerservice/registryScopeMap:RegistryScopeMap", "majorVersion": 6, @@ -14719,6 +14731,10 @@ "current": "azure:mssql/firewallRule:FirewallRule", "majorVersion": 6 }, + "azurerm_mssql_job": { + "current": "azure:mssql/job:Job", + "majorVersion": 6 + }, "azurerm_mssql_job_agent": { "current": "azure:mssql/jobAgent:JobAgent", "majorVersion": 6 @@ -14727,6 +14743,10 @@ "current": "azure:mssql/jobCredential:JobCredential", "majorVersion": 6 }, + "azurerm_mssql_job_schedule": { + "current": "azure:mssql/jobSchedule:JobSchedule", + "majorVersion": 6 + }, "azurerm_mssql_managed_database": { "current": "azure:mssql/managedDatabase:ManagedDatabase", "majorVersion": 6, diff --git a/provider/cmd/pulumi-resource-azure/schema.json b/provider/cmd/pulumi-resource-azure/schema.json index 4fb1d47a09..41e469eda9 100644 --- a/provider/cmd/pulumi-resource-azure/schema.json +++ b/provider/cmd/pulumi-resource-azure/schema.json @@ -8743,7 +8743,7 @@ }, "nodeVersion": { "type": "string", - "description": "The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`.\n" + "description": "The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`.\n" }, "powershellCoreVersion": { "type": "string", @@ -11562,7 +11562,7 @@ }, "javaVersion": { "type": "string", - "description": "The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`.\n\n\u003e **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`.\n\n\u003e **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app\n" + "description": "The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`.\n\n\u003e **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`.\n\n\u003e **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app\n" }, "nodeVersion": { "type": "string", @@ -13099,7 +13099,7 @@ }, "javaVersion": { "type": "string", - "description": "The Version of Java to use. Possible values include `8`, `11`, and `17`.\n\n\u003e **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`.\n" + "description": "The Version of Java to use. Possible values include `8`, `11`, and `17`.\n\n\u003e **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`.\n" }, "nodeVersion": { "type": "string", @@ -15640,7 +15640,7 @@ }, "nodeVersion": { "type": "string", - "description": "The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`.\n" + "description": "The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`.\n" }, "powershellCoreVersion": { "type": "string", @@ -44517,6 +44517,10 @@ }, "description": "One or more `tcp_scale_rule` blocks as defined below.\n" }, + "terminationGracePeriodSeconds": { + "type": "integer", + "description": "The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n" + }, "volumes": { "type": "array", "items": { @@ -46330,6 +46334,10 @@ "$ref": "#/types/azure:containerapp/getAppTemplateTcpScaleRule:getAppTemplateTcpScaleRule" } }, + "terminationGracePeriodSeconds": { + "type": "integer", + "description": "The time in seconds after the container is sent the termination signal before the process if forcibly killed.\n" + }, "volumes": { "type": "array", "items": { @@ -46348,6 +46356,7 @@ "minReplicas", "revisionSuffix", "tcpScaleRules", + "terminationGracePeriodSeconds", "volumes" ], "language": { @@ -49708,53 +49717,43 @@ "items": { "type": "string" }, - "description": "Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the allow list of unsafe sysctls command or patterns (ending in `*`).\n" }, "containerLogMaxLine": { "type": "integer", - "description": "Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the maximum number of container log files that can be present for a container. must be at least 2.\n" }, "containerLogMaxSizeMb": { "type": "integer", - "description": "Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.\n" }, "cpuCfsQuotaEnabled": { "type": "boolean", - "description": "Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Is CPU CFS quota enforcement for containers enabled? Defaults to `true`.\n" }, "cpuCfsQuotaPeriod": { "type": "string", - "description": "Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the CPU CFS quota period value.\n" }, "cpuManagerPolicy": { "type": "string", - "description": "Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the CPU Manager policy to use. Possible values are `none` and `static`,\n" }, "imageGcHighThreshold": { "type": "integer", - "description": "Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`.\n" }, "imageGcLowThreshold": { "type": "integer", - "description": "Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`.\n" }, "podMaxPid": { "type": "integer", - "description": "Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the maximum number of processes per pod.\n" }, "topologyManagerPolicy": { "type": "string", - "description": "Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`.\n" } }, "type": "object" @@ -49763,23 +49762,19 @@ "properties": { "swapFileSizeMb": { "type": "integer", - "description": "Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the size of swap file on each node in MB.\n" }, "sysctlConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig:KubernetesClusterNodePoolLinuxOsConfigSysctlConfig", - "description": "A `sysctl_config` block as defined below. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "A `sysctl_config` block as defined below.\n" }, "transparentHugePageDefrag": { "type": "string", - "description": "specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`.\n" }, "transparentHugePageEnabled": { "type": "string", - "description": "Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`.\n" } }, "type": "object" @@ -49788,148 +49783,119 @@ "properties": { "fsAioMaxNr": { "type": "integer", - "description": "The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`.\n" }, "fsFileMax": { "type": "integer", - "description": "The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting fs.file-max. Must be between `8192` and `12000500`.\n" }, "fsInotifyMaxUserWatches": { "type": "integer", - "description": "The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`.\n" }, "fsNrOpen": { "type": "integer", - "description": "The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting fs.nr_open. Must be between `8192` and `20000500`.\n" }, "kernelThreadsMax": { "type": "integer", - "description": "The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting kernel.threads-max. Must be between `20` and `513785`.\n" }, "netCoreNetdevMaxBacklog": { "type": "integer", - "description": "The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`.\n" }, "netCoreOptmemMax": { "type": "integer", - "description": "The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`.\n" }, "netCoreRmemDefault": { "type": "integer", - "description": "The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`.\n" }, "netCoreRmemMax": { "type": "integer", - "description": "The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`.\n" }, "netCoreSomaxconn": { "type": "integer", - "description": "The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`.\n" }, "netCoreWmemDefault": { "type": "integer", - "description": "The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`.\n" }, "netCoreWmemMax": { "type": "integer", - "description": "The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`.\n" }, "netIpv4IpLocalPortRangeMax": { "type": "integer", - "description": "The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`.\n" }, "netIpv4IpLocalPortRangeMin": { "type": "integer", - "description": "The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`.\n" }, "netIpv4NeighDefaultGcThresh1": { "type": "integer", - "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`.\n" }, "netIpv4NeighDefaultGcThresh2": { "type": "integer", - "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`.\n" }, "netIpv4NeighDefaultGcThresh3": { "type": "integer", - "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`.\n" }, "netIpv4TcpFinTimeout": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`.\n" }, "netIpv4TcpKeepaliveIntvl": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`.\n" }, "netIpv4TcpKeepaliveProbes": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`.\n" }, "netIpv4TcpKeepaliveTime": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`.\n" }, "netIpv4TcpMaxSynBacklog": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`.\n" }, "netIpv4TcpMaxTwBuckets": { "type": "integer", - "description": "The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`.\n" }, "netIpv4TcpTwReuse": { "type": "boolean", - "description": "Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Is sysctl setting net.ipv4.tcp_tw_reuse enabled?\n" }, "netNetfilterNfConntrackBuckets": { "type": "integer", - "description": "The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`.\n" }, "netNetfilterNfConntrackMax": { "type": "integer", - "description": "The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`.\n" }, "vmMaxMapCount": { "type": "integer", - "description": "The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting vm.max_map_count. Must be between `65530` and `262144`.\n" }, "vmSwappiness": { "type": "integer", - "description": "The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting vm.swappiness. Must be between `0` and `100`.\n" }, "vmVfsCachePressure": { "type": "integer", - "description": "The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`.\n" } }, "type": "object" @@ -49990,7 +49956,7 @@ }, "nodeSoakDurationInMinutes": { "type": "integer", - "description": "The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`.\n" + "description": "The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.\n" } }, "type": "object", @@ -50307,6 +50273,52 @@ } } }, + "azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials": { + "properties": { + "passwordSecretId": { + "type": "string", + "description": "The URI of the secret containing the password in a Key Vault.\n\n\u003e NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource.\n" + }, + "usernameSecretId": { + "type": "string", + "description": "The URI of the secret containing the username in a Key Vault.\n" + } + }, + "type": "object", + "required": [ + "passwordSecretId", + "usernameSecretId" + ] + }, + "azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity": { + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID of the Identity.\n" + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of the Identity.\n" + }, + "type": { + "type": "string", + "description": "The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`.\n" + } + }, + "type": "object", + "required": [ + "type" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "principalId", + "tenantId", + "type" + ] + } + } + }, "azure:containerservice/RegistryEncryption:RegistryEncryption": { "properties": { "identityClientId": { @@ -153816,7 +153828,7 @@ } }, "azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool": { - "description": "Manages a Node Pool within a Kubernetes Cluster\n\n\u003e **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets.\n\n## Example Usage\n\nThis example provisions a basic Kubernetes Node Pool.\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 exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n name: \"example-aks1\",\n location: example.location,\n resourceGroupName: example.name,\n dnsPrefix: \"exampleaks1\",\n defaultNodePool: {\n name: \"default\",\n nodeCount: 1,\n vmSize: \"Standard_D2_v2\",\n },\n servicePrincipal: {\n clientId: \"00000000-0000-0000-0000-000000000000\",\n clientSecret: \"00000000000000000000000000000000\",\n },\n});\nconst exampleKubernetesClusterNodePool = new azure.containerservice.KubernetesClusterNodePool(\"example\", {\n name: \"internal\",\n kubernetesClusterId: exampleKubernetesCluster.id,\n vmSize: \"Standard_DS2_v2\",\n nodeCount: 1,\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_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n name=\"example-aks1\",\n location=example.location,\n resource_group_name=example.name,\n dns_prefix=\"exampleaks1\",\n default_node_pool={\n \"name\": \"default\",\n \"node_count\": 1,\n \"vm_size\": \"Standard_D2_v2\",\n },\n service_principal={\n \"client_id\": \"00000000-0000-0000-0000-000000000000\",\n \"client_secret\": \"00000000000000000000000000000000\",\n })\nexample_kubernetes_cluster_node_pool = azure.containerservice.KubernetesClusterNodePool(\"example\",\n name=\"internal\",\n kubernetes_cluster_id=example_kubernetes_cluster.id,\n vm_size=\"Standard_DS2_v2\",\n node_count=1,\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 exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n {\n Name = \"example-aks1\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n DnsPrefix = \"exampleaks1\",\n DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n {\n Name = \"default\",\n NodeCount = 1,\n VmSize = \"Standard_D2_v2\",\n },\n ServicePrincipal = new Azure.ContainerService.Inputs.KubernetesClusterServicePrincipalArgs\n {\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"00000000000000000000000000000000\",\n },\n });\n\n var exampleKubernetesClusterNodePool = new Azure.ContainerService.KubernetesClusterNodePool(\"example\", new()\n {\n Name = \"internal\",\n KubernetesClusterId = exampleKubernetesCluster.Id,\n VmSize = \"Standard_DS2_v2\",\n NodeCount = 1,\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/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"example-aks1\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix: pulumi.String(\"exampleaks1\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize: pulumi.String(\"Standard_D2_v2\"),\n\t\t\t},\n\t\t\tServicePrincipal: \u0026containerservice.KubernetesClusterServicePrincipalArgs{\n\t\t\t\tClientId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\tClientSecret: pulumi.String(\"00000000000000000000000000000000\"),\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.NewKubernetesClusterNodePool(ctx, \"example\", \u0026containerservice.KubernetesClusterNodePoolArgs{\n\t\t\tName: pulumi.String(\"internal\"),\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\tNodeCount: pulumi.Int(1),\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.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterServicePrincipalArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePool;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePoolArgs;\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 exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n .name(\"example-aks1\")\n .location(example.location())\n .resourceGroupName(example.name())\n .dnsPrefix(\"exampleaks1\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"default\")\n .nodeCount(1)\n .vmSize(\"Standard_D2_v2\")\n .build())\n .servicePrincipal(KubernetesClusterServicePrincipalArgs.builder()\n .clientId(\"00000000-0000-0000-0000-000000000000\")\n .clientSecret(\"00000000000000000000000000000000\")\n .build())\n .build());\n\n var exampleKubernetesClusterNodePool = new KubernetesClusterNodePool(\"exampleKubernetesClusterNodePool\", KubernetesClusterNodePoolArgs.builder()\n .name(\"internal\")\n .kubernetesClusterId(exampleKubernetesCluster.id())\n .vmSize(\"Standard_DS2_v2\")\n .nodeCount(1)\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 exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example-aks1\n location: ${example.location}\n resourceGroupName: ${example.name}\n dnsPrefix: exampleaks1\n defaultNodePool:\n name: default\n nodeCount: 1\n vmSize: Standard_D2_v2\n servicePrincipal:\n clientId: 00000000-0000-0000-0000-000000000000\n clientSecret: '00000000000000000000000000000000'\n exampleKubernetesClusterNodePool:\n type: azure:containerservice:KubernetesClusterNodePool\n name: example\n properties:\n name: internal\n kubernetesClusterId: ${exampleKubernetesCluster.id}\n vmSize: Standard_DS2_v2\n nodeCount: 1\n tags:\n Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKubernetes Cluster Node Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool pool1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool1\n```\n\n", + "description": "Manages a Node Pool within a Kubernetes Cluster\n\n\u003e **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets.\n\n\u003e **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`.\n\n## Example Usage\n\nThis example provisions a basic Kubernetes Node Pool.\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 exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n name: \"example-aks1\",\n location: example.location,\n resourceGroupName: example.name,\n dnsPrefix: \"exampleaks1\",\n defaultNodePool: {\n name: \"default\",\n nodeCount: 1,\n vmSize: \"Standard_D2_v2\",\n },\n servicePrincipal: {\n clientId: \"00000000-0000-0000-0000-000000000000\",\n clientSecret: \"00000000000000000000000000000000\",\n },\n});\nconst exampleKubernetesClusterNodePool = new azure.containerservice.KubernetesClusterNodePool(\"example\", {\n name: \"internal\",\n kubernetesClusterId: exampleKubernetesCluster.id,\n vmSize: \"Standard_DS2_v2\",\n nodeCount: 1,\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_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n name=\"example-aks1\",\n location=example.location,\n resource_group_name=example.name,\n dns_prefix=\"exampleaks1\",\n default_node_pool={\n \"name\": \"default\",\n \"node_count\": 1,\n \"vm_size\": \"Standard_D2_v2\",\n },\n service_principal={\n \"client_id\": \"00000000-0000-0000-0000-000000000000\",\n \"client_secret\": \"00000000000000000000000000000000\",\n })\nexample_kubernetes_cluster_node_pool = azure.containerservice.KubernetesClusterNodePool(\"example\",\n name=\"internal\",\n kubernetes_cluster_id=example_kubernetes_cluster.id,\n vm_size=\"Standard_DS2_v2\",\n node_count=1,\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 exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n {\n Name = \"example-aks1\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n DnsPrefix = \"exampleaks1\",\n DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n {\n Name = \"default\",\n NodeCount = 1,\n VmSize = \"Standard_D2_v2\",\n },\n ServicePrincipal = new Azure.ContainerService.Inputs.KubernetesClusterServicePrincipalArgs\n {\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"00000000000000000000000000000000\",\n },\n });\n\n var exampleKubernetesClusterNodePool = new Azure.ContainerService.KubernetesClusterNodePool(\"example\", new()\n {\n Name = \"internal\",\n KubernetesClusterId = exampleKubernetesCluster.Id,\n VmSize = \"Standard_DS2_v2\",\n NodeCount = 1,\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/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"example-aks1\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix: pulumi.String(\"exampleaks1\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize: pulumi.String(\"Standard_D2_v2\"),\n\t\t\t},\n\t\t\tServicePrincipal: \u0026containerservice.KubernetesClusterServicePrincipalArgs{\n\t\t\t\tClientId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\tClientSecret: pulumi.String(\"00000000000000000000000000000000\"),\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.NewKubernetesClusterNodePool(ctx, \"example\", \u0026containerservice.KubernetesClusterNodePoolArgs{\n\t\t\tName: pulumi.String(\"internal\"),\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\tNodeCount: pulumi.Int(1),\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.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterServicePrincipalArgs;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePool;\nimport com.pulumi.azure.containerservice.KubernetesClusterNodePoolArgs;\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 exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n .name(\"example-aks1\")\n .location(example.location())\n .resourceGroupName(example.name())\n .dnsPrefix(\"exampleaks1\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"default\")\n .nodeCount(1)\n .vmSize(\"Standard_D2_v2\")\n .build())\n .servicePrincipal(KubernetesClusterServicePrincipalArgs.builder()\n .clientId(\"00000000-0000-0000-0000-000000000000\")\n .clientSecret(\"00000000000000000000000000000000\")\n .build())\n .build());\n\n var exampleKubernetesClusterNodePool = new KubernetesClusterNodePool(\"exampleKubernetesClusterNodePool\", KubernetesClusterNodePoolArgs.builder()\n .name(\"internal\")\n .kubernetesClusterId(exampleKubernetesCluster.id())\n .vmSize(\"Standard_DS2_v2\")\n .nodeCount(1)\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 exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example-aks1\n location: ${example.location}\n resourceGroupName: ${example.name}\n dnsPrefix: exampleaks1\n defaultNodePool:\n name: default\n nodeCount: 1\n vmSize: Standard_D2_v2\n servicePrincipal:\n clientId: 00000000-0000-0000-0000-000000000000\n clientSecret: '00000000000000000000000000000000'\n exampleKubernetesClusterNodePool:\n type: azure:containerservice:KubernetesClusterNodePool\n name: example\n properties:\n name: internal\n kubernetesClusterId: ${exampleKubernetesCluster.id}\n vmSize: Standard_DS2_v2\n nodeCount: 1\n tags:\n Environment: Production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKubernetes Cluster Node Pools can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool pool1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool1\n```\n\n", "properties": { "autoScalingEnabled": { "type": "boolean", @@ -153832,7 +153844,7 @@ }, "fipsEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n" + "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n" }, "gpuInstance": { "type": "string", @@ -153840,7 +153852,7 @@ }, "hostEncryptionEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n" + "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n" }, "hostGroupId": { "type": "string", @@ -153848,7 +153860,7 @@ }, "kubeletConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig", - "description": "A `kubelet_config` block as defined below. Changing this forces a new resource to be created.\n" + "description": "A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "kubeletDiskType": { "type": "string", @@ -153860,14 +153872,14 @@ }, "linuxOsConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig", - "description": "A `linux_os_config` block as defined below. Changing this forces a new resource to be created.\n" + "description": "A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "maxCount": { "type": "integer" }, "maxPods": { "type": "integer", - "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n" + "description": "The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "minCount": { "type": "integer" @@ -153896,7 +153908,7 @@ }, "nodePublicIpEnabled": { "type": "boolean", - "description": "Should each node have a Public IP Address? Changing this forces a new resource to be created.\n" + "description": "Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "nodePublicIpPrefixId": { "type": "string", @@ -153915,11 +153927,11 @@ }, "osDiskSizeGb": { "type": "integer", - "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\n" + "description": "The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osDiskType": { "type": "string", - "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created.\n" + "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osSku": { "type": "string", @@ -153931,7 +153943,7 @@ }, "podSubnetId": { "type": "string", - "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.\n" + "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "priority": { "type": "string", @@ -153947,7 +153959,7 @@ }, "snapshotId": { "type": "string", - "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.\n" + "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "spotMaxPrice": { "type": "number", @@ -153960,9 +153972,13 @@ }, "description": "A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n" }, + "temporaryNameForRotation": { + "type": "string", + "description": "Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n" + }, "ultraSsdEnabled": { "type": "boolean", - "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created.\n" + "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "upgradeSettings": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings", @@ -153970,11 +153986,11 @@ }, "vmSize": { "type": "string", - "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n" + "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "vnetSubnetId": { "type": "string", - "description": "The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n" + "description": "The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile", @@ -153989,7 +154005,7 @@ "items": { "type": "string" }, - "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.\n" + "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`.\n" } }, "required": [ @@ -154021,8 +154037,7 @@ }, "fipsEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n", - "willReplaceOnChanges": true + "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n" }, "gpuInstance": { "type": "string", @@ -154031,8 +154046,7 @@ }, "hostEncryptionEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n", - "willReplaceOnChanges": true + "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n" }, "hostGroupId": { "type": "string", @@ -154041,8 +154055,7 @@ }, "kubeletConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig", - "description": "A `kubelet_config` block as defined below. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "kubeletDiskType": { "type": "string", @@ -154055,16 +154068,14 @@ }, "linuxOsConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig", - "description": "A `linux_os_config` block as defined below. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "maxCount": { "type": "integer" }, "maxPods": { "type": "integer", - "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "minCount": { "type": "integer" @@ -154094,8 +154105,7 @@ }, "nodePublicIpEnabled": { "type": "boolean", - "description": "Should each node have a Public IP Address? Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "nodePublicIpPrefixId": { "type": "string", @@ -154115,13 +154125,11 @@ }, "osDiskSizeGb": { "type": "integer", - "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osDiskType": { "type": "string", - "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osSku": { "type": "string", @@ -154134,8 +154142,7 @@ }, "podSubnetId": { "type": "string", - "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "priority": { "type": "string", @@ -154153,8 +154160,7 @@ }, "snapshotId": { "type": "string", - "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "spotMaxPrice": { "type": "number", @@ -154168,10 +154174,13 @@ }, "description": "A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n" }, + "temporaryNameForRotation": { + "type": "string", + "description": "Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n" + }, "ultraSsdEnabled": { "type": "boolean", - "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "upgradeSettings": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings", @@ -154179,13 +154188,11 @@ }, "vmSize": { "type": "string", - "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "vnetSubnetId": { "type": "string", - "description": "The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n", - "willReplaceOnChanges": true + "description": "The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile", @@ -154201,8 +154208,7 @@ "items": { "type": "string" }, - "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`.\n" } }, "requiredInputs": [ @@ -154228,8 +154234,7 @@ }, "fipsEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n", - "willReplaceOnChanges": true + "description": "Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview).\n" }, "gpuInstance": { "type": "string", @@ -154238,8 +154243,7 @@ }, "hostEncryptionEnabled": { "type": "boolean", - "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n", - "willReplaceOnChanges": true + "description": "Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** Additional fields must be configured depending on the value of this field - see below.\n" }, "hostGroupId": { "type": "string", @@ -154248,8 +154252,7 @@ }, "kubeletConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolKubeletConfig:KubernetesClusterNodePoolKubeletConfig", - "description": "A `kubelet_config` block as defined below. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "kubeletDiskType": { "type": "string", @@ -154262,16 +154265,14 @@ }, "linuxOsConfig": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolLinuxOsConfig:KubernetesClusterNodePoolLinuxOsConfig", - "description": "A `linux_os_config` block as defined below. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`.\n" }, "maxCount": { "type": "integer" }, "maxPods": { "type": "integer", - "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "minCount": { "type": "integer" @@ -154301,8 +154302,7 @@ }, "nodePublicIpEnabled": { "type": "boolean", - "description": "Should each node have a Public IP Address? Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "nodePublicIpPrefixId": { "type": "string", @@ -154322,13 +154322,11 @@ }, "osDiskSizeGb": { "type": "integer", - "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osDiskType": { "type": "string", - "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "osSku": { "type": "string", @@ -154341,8 +154339,7 @@ }, "podSubnetId": { "type": "string", - "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "priority": { "type": "string", @@ -154360,8 +154357,7 @@ }, "snapshotId": { "type": "string", - "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "spotMaxPrice": { "type": "number", @@ -154375,10 +154371,13 @@ }, "description": "A mapping of tags to assign to the resource.\n\n\u003e At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API.\n" }, + "temporaryNameForRotation": { + "type": "string", + "description": "Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.\n" + }, "ultraSsdEnabled": { "type": "boolean", - "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "upgradeSettings": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolUpgradeSettings:KubernetesClusterNodePoolUpgradeSettings", @@ -154386,13 +154385,11 @@ }, "vmSize": { "type": "string", - "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`.\n" }, "vnetSubnetId": { "type": "string", - "description": "The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n", - "willReplaceOnChanges": true + "description": "The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`.\n\n\u003e **NOTE:** A route table must be configured on this Subnet.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterNodePoolWindowsProfile:KubernetesClusterNodePoolWindowsProfile", @@ -154408,8 +154405,7 @@ "items": { "type": "string" }, - "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`.\n" } }, "type": "object" @@ -155053,6 +155049,98 @@ "type": "object" } }, + "azure:containerservice/registryCredentialSet:RegistryCredentialSet": { + "description": "Manages a Container Registry Credential Set.\n\n## Example Usage\n\n### Minimal)\n\n\u003e NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource.\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 exampleRegistry = new azure.containerservice.Registry(\"example\", {\n name: \"exampleContainerRegistry\",\n resourceGroupName: example.name,\n location: example.location,\n sku: \"Basic\",\n});\nconst exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet(\"example\", {\n name: \"exampleCredentialSet\",\n containerRegistryId: \"azurerm_container_registry.example.id\",\n loginServer: \"docker.io\",\n identity: {\n type: \"SystemAssigned\",\n },\n authenticationCredentials: {\n usernameSecretId: \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n passwordSecretId: \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\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_registry = azure.containerservice.Registry(\"example\",\n name=\"exampleContainerRegistry\",\n resource_group_name=example.name,\n location=example.location,\n sku=\"Basic\")\nexample_registry_credential_set = azure.containerservice.RegistryCredentialSet(\"example\",\n name=\"exampleCredentialSet\",\n container_registry_id=\"azurerm_container_registry.example.id\",\n login_server=\"docker.io\",\n identity={\n \"type\": \"SystemAssigned\",\n },\n authentication_credentials={\n \"username_secret_id\": \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n \"password_secret_id\": \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\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 exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n {\n Name = \"exampleContainerRegistry\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Sku = \"Basic\",\n });\n\n var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet(\"example\", new()\n {\n Name = \"exampleCredentialSet\",\n ContainerRegistryId = \"azurerm_container_registry.example.id\",\n LoginServer = \"docker.io\",\n Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs\n {\n UsernameSecretId = \"https://example-keyvault.vault.azure.net/secrets/example-user-name\",\n PasswordSecretId = \"https://example-keyvault.vault.azure.net/secrets/example-user-password\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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 = containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName: pulumi.String(\"exampleContainerRegistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tSku: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistryCredentialSet(ctx, \"example\", \u0026containerservice.RegistryCredentialSetArgs{\n\t\t\tName: pulumi.String(\"exampleCredentialSet\"),\n\t\t\tContainerRegistryId: pulumi.String(\"azurerm_container_registry.example.id\"),\n\t\t\tLoginServer: pulumi.String(\"docker.io\"),\n\t\t\tIdentity: \u0026containerservice.RegistryCredentialSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tAuthenticationCredentials: \u0026containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{\n\t\t\t\tUsernameSecretId: pulumi.String(\"https://example-keyvault.vault.azure.net/secrets/example-user-name\"),\n\t\t\t\tPasswordSecretId: pulumi.String(\"https://example-keyvault.vault.azure.net/secrets/example-user-password\"),\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.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryCredentialSet;\nimport com.pulumi.azure.containerservice.RegistryCredentialSetArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;\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 exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n .name(\"exampleContainerRegistry\")\n .resourceGroupName(example.name())\n .location(example.location())\n .sku(\"Basic\")\n .build());\n\n var exampleRegistryCredentialSet = new RegistryCredentialSet(\"exampleRegistryCredentialSet\", RegistryCredentialSetArgs.builder()\n .name(\"exampleCredentialSet\")\n .containerRegistryId(\"azurerm_container_registry.example.id\")\n .loginServer(\"docker.io\")\n .identity(RegistryCredentialSetIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()\n .usernameSecretId(\"https://example-keyvault.vault.azure.net/secrets/example-user-name\")\n .passwordSecretId(\"https://example-keyvault.vault.azure.net/secrets/example-user-password\")\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 exampleRegistry:\n type: azure:containerservice:Registry\n name: example\n properties:\n name: exampleContainerRegistry\n resourceGroupName: ${example.name}\n location: ${example.location}\n sku: Basic\n exampleRegistryCredentialSet:\n type: azure:containerservice:RegistryCredentialSet\n name: example\n properties:\n name: exampleCredentialSet\n containerRegistryId: azurerm_container_registry.example.id\n loginServer: docker.io\n identity:\n type: SystemAssigned\n authenticationCredentials:\n usernameSecretId: https://example-keyvault.vault.azure.net/secrets/example-user-name\n passwordSecretId: https://example-keyvault.vault.azure.net/secrets/example-user-password\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Full)\n\nThis example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault.\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 current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"example\", {\n name: \"examplekeyvault\",\n location: example.location,\n resourceGroupName: example.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n softDeleteRetentionDays: 7,\n accessPolicies: [{\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n certificatePermissions: [],\n keyPermissions: [],\n secretPermissions: [\n \"Get\",\n \"Set\",\n \"Delete\",\n \"Purge\",\n ],\n }],\n});\nconst exampleUser = new azure.keyvault.Secret(\"example_user\", {\n keyVaultId: exampleKeyVault.id,\n name: \"example-user-name\",\n value: \"name\",\n});\nconst examplePassword = new azure.keyvault.Secret(\"example_password\", {\n keyVaultId: exampleKeyVault.id,\n name: \"example-user-password\",\n value: \"password\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n name: \"exampleContainerRegistry\",\n resourceGroupName: example.name,\n location: example.location,\n sku: \"Basic\",\n});\nconst exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet(\"example\", {\n name: \"exampleCredentialSet\",\n containerRegistryId: \"azurerm_container_registry.example.id\",\n loginServer: \"docker.io\",\n identity: {\n type: \"SystemAssigned\",\n },\n authenticationCredentials: {\n usernameSecretId: exampleUser.versionlessId,\n passwordSecretId: examplePassword.versionlessId,\n },\n});\nconst readSecrets = new azure.keyvault.AccessPolicy(\"read_secrets\", {\n keyVaultId: exampleKeyVault.id,\n tenantId: exampleRegistryCredentialSet.identity.apply(identity =\u003e identity.tenantId),\n objectId: exampleRegistryCredentialSet.identity.apply(identity =\u003e identity.principalId),\n secretPermissions: [\"Get\"],\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\")\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"example\",\n name=\"examplekeyvault\",\n location=example.location,\n resource_group_name=example.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n soft_delete_retention_days=7,\n access_policies=[{\n \"tenant_id\": current.tenant_id,\n \"object_id\": current.object_id,\n \"certificate_permissions\": [],\n \"key_permissions\": [],\n \"secret_permissions\": [\n \"Get\",\n \"Set\",\n \"Delete\",\n \"Purge\",\n ],\n }])\nexample_user = azure.keyvault.Secret(\"example_user\",\n key_vault_id=example_key_vault.id,\n name=\"example-user-name\",\n value=\"name\")\nexample_password = azure.keyvault.Secret(\"example_password\",\n key_vault_id=example_key_vault.id,\n name=\"example-user-password\",\n value=\"password\")\nexample_registry = azure.containerservice.Registry(\"example\",\n name=\"exampleContainerRegistry\",\n resource_group_name=example.name,\n location=example.location,\n sku=\"Basic\")\nexample_registry_credential_set = azure.containerservice.RegistryCredentialSet(\"example\",\n name=\"exampleCredentialSet\",\n container_registry_id=\"azurerm_container_registry.example.id\",\n login_server=\"docker.io\",\n identity={\n \"type\": \"SystemAssigned\",\n },\n authentication_credentials={\n \"username_secret_id\": example_user.versionless_id,\n \"password_secret_id\": example_password.versionless_id,\n })\nread_secrets = azure.keyvault.AccessPolicy(\"read_secrets\",\n key_vault_id=example_key_vault.id,\n tenant_id=example_registry_credential_set.identity.tenant_id,\n object_id=example_registry_credential_set.identity.principal_id,\n secret_permissions=[\"Get\"])\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 current = Azure.Core.GetClientConfig.Invoke();\n\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"example\", new()\n {\n Name = \"examplekeyvault\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n TenantId = current.Apply(getClientConfigResult =\u003e getClientConfigResult.TenantId),\n SkuName = \"standard\",\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 CertificatePermissions = new() { },\n KeyPermissions = new() { },\n SecretPermissions = new[]\n {\n \"Get\",\n \"Set\",\n \"Delete\",\n \"Purge\",\n },\n },\n },\n });\n\n var exampleUser = new Azure.KeyVault.Secret(\"example_user\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n Name = \"example-user-name\",\n Value = \"name\",\n });\n\n var examplePassword = new Azure.KeyVault.Secret(\"example_password\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n Name = \"example-user-password\",\n Value = \"password\",\n });\n\n var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n {\n Name = \"exampleContainerRegistry\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Sku = \"Basic\",\n });\n\n var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet(\"example\", new()\n {\n Name = \"exampleCredentialSet\",\n ContainerRegistryId = \"azurerm_container_registry.example.id\",\n LoginServer = \"docker.io\",\n Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs\n {\n UsernameSecretId = exampleUser.VersionlessId,\n PasswordSecretId = examplePassword.VersionlessId,\n },\n });\n\n var readSecrets = new Azure.KeyVault.AccessPolicy(\"read_secrets\", new()\n {\n KeyVaultId = exampleKeyVault.Id,\n TenantId = exampleRegistryCredentialSet.Identity.Apply(identity =\u003e identity.TenantId),\n ObjectId = exampleRegistryCredentialSet.Identity.Apply(identity =\u003e identity.PrincipalId),\n SecretPermissions = new[]\n {\n \"Get\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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\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\tcurrent, err := core.GetClientConfig(ctx, map[string]interface{}{}, 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(\"examplekeyvault\"),\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(\"standard\"),\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\tCertificatePermissions: pulumi.StringArray{},\n\t\t\t\t\tKeyPermissions: pulumi.StringArray{},\n\t\t\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Get\"),\n\t\t\t\t\t\tpulumi.String(\"Set\"),\n\t\t\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\t\t\tpulumi.String(\"Purge\"),\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\texampleUser, err := keyvault.NewSecret(ctx, \"example_user\", \u0026keyvault.SecretArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tName: pulumi.String(\"example-user-name\"),\n\t\t\tValue: pulumi.String(\"name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePassword, err := keyvault.NewSecret(ctx, \"example_password\", \u0026keyvault.SecretArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tName: pulumi.String(\"example-user-password\"),\n\t\t\tValue: pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName: pulumi.String(\"exampleContainerRegistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tSku: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRegistryCredentialSet, err := containerservice.NewRegistryCredentialSet(ctx, \"example\", \u0026containerservice.RegistryCredentialSetArgs{\n\t\t\tName: pulumi.String(\"exampleCredentialSet\"),\n\t\t\tContainerRegistryId: pulumi.String(\"azurerm_container_registry.example.id\"),\n\t\t\tLoginServer: pulumi.String(\"docker.io\"),\n\t\t\tIdentity: \u0026containerservice.RegistryCredentialSetIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t\tAuthenticationCredentials: \u0026containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{\n\t\t\t\tUsernameSecretId: exampleUser.VersionlessId,\n\t\t\t\tPasswordSecretId: examplePassword.VersionlessId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewAccessPolicy(ctx, \"read_secrets\", \u0026keyvault.AccessPolicyArgs{\n\t\t\tKeyVaultId: exampleKeyVault.ID(),\n\t\t\tTenantId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.TenantId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tObjectId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) {\n\t\t\t\treturn \u0026identity.PrincipalId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSecretPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Get\"),\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.core.CoreFunctions;\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.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.RegistryCredentialSet;\nimport com.pulumi.azure.containerservice.RegistryCredentialSetArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;\nimport com.pulumi.azure.keyvault.AccessPolicy;\nimport com.pulumi.azure.keyvault.AccessPolicyArgs;\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 final var current = CoreFunctions.getClientConfig();\n\n var exampleKeyVault = new KeyVault(\"exampleKeyVault\", KeyVaultArgs.builder()\n .name(\"examplekeyvault\")\n .location(example.location())\n .resourceGroupName(example.name())\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .skuName(\"standard\")\n .softDeleteRetentionDays(7)\n .accessPolicies(KeyVaultAccessPolicyArgs.builder()\n .tenantId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.tenantId()))\n .objectId(current.applyValue(getClientConfigResult -\u003e getClientConfigResult.objectId()))\n .certificatePermissions()\n .keyPermissions()\n .secretPermissions( \n \"Get\",\n \"Set\",\n \"Delete\",\n \"Purge\")\n .build())\n .build());\n\n var exampleUser = new Secret(\"exampleUser\", SecretArgs.builder()\n .keyVaultId(exampleKeyVault.id())\n .name(\"example-user-name\")\n .value(\"name\")\n .build());\n\n var examplePassword = new Secret(\"examplePassword\", SecretArgs.builder()\n .keyVaultId(exampleKeyVault.id())\n .name(\"example-user-password\")\n .value(\"password\")\n .build());\n\n var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n .name(\"exampleContainerRegistry\")\n .resourceGroupName(example.name())\n .location(example.location())\n .sku(\"Basic\")\n .build());\n\n var exampleRegistryCredentialSet = new RegistryCredentialSet(\"exampleRegistryCredentialSet\", RegistryCredentialSetArgs.builder()\n .name(\"exampleCredentialSet\")\n .containerRegistryId(\"azurerm_container_registry.example.id\")\n .loginServer(\"docker.io\")\n .identity(RegistryCredentialSetIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()\n .usernameSecretId(exampleUser.versionlessId())\n .passwordSecretId(examplePassword.versionlessId())\n .build())\n .build());\n\n var readSecrets = new AccessPolicy(\"readSecrets\", AccessPolicyArgs.builder()\n .keyVaultId(exampleKeyVault.id())\n .tenantId(exampleRegistryCredentialSet.identity().applyValue(identity -\u003e identity.tenantId()))\n .objectId(exampleRegistryCredentialSet.identity().applyValue(identity -\u003e identity.principalId()))\n .secretPermissions(\"Get\")\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 exampleKeyVault:\n type: azure:keyvault:KeyVault\n name: example\n properties:\n name: examplekeyvault\n location: ${example.location}\n resourceGroupName: ${example.name}\n tenantId: ${current.tenantId}\n skuName: standard\n softDeleteRetentionDays: 7\n accessPolicies:\n - tenantId: ${current.tenantId}\n objectId: ${current.objectId}\n certificatePermissions: []\n keyPermissions: []\n secretPermissions:\n - Get\n - Set\n - Delete\n - Purge\n exampleUser:\n type: azure:keyvault:Secret\n name: example_user\n properties:\n keyVaultId: ${exampleKeyVault.id}\n name: example-user-name\n value: name\n examplePassword:\n type: azure:keyvault:Secret\n name: example_password\n properties:\n keyVaultId: ${exampleKeyVault.id}\n name: example-user-password\n value: password\n exampleRegistry:\n type: azure:containerservice:Registry\n name: example\n properties:\n name: exampleContainerRegistry\n resourceGroupName: ${example.name}\n location: ${example.location}\n sku: Basic\n exampleRegistryCredentialSet:\n type: azure:containerservice:RegistryCredentialSet\n name: example\n properties:\n name: exampleCredentialSet\n containerRegistryId: azurerm_container_registry.example.id\n loginServer: docker.io\n identity:\n type: SystemAssigned\n authenticationCredentials:\n usernameSecretId: ${exampleUser.versionlessId}\n passwordSecretId: ${examplePassword.versionlessId}\n readSecrets:\n type: azure:keyvault:AccessPolicy\n name: read_secrets\n properties:\n keyVaultId: ${exampleKeyVault.id}\n tenantId: ${exampleRegistryCredentialSet.identity.tenantId}\n objectId: ${exampleRegistryCredentialSet.identity.principalId}\n secretPermissions:\n - Get\nvariables:\n current:\n fn::invoke:\n function: azure:core:getClientConfig\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry Credential Sets can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1\n```\n\n", + "properties": { + "authenticationCredentials": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials", + "description": "A `authentication_credentials` block as defined below.\n" + }, + "containerRegistryId": { + "type": "string", + "description": "The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n" + }, + "identity": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity", + "description": "An `identity` block as defined below.\n" + }, + "loginServer": { + "type": "string", + "description": "The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n" + } + }, + "required": [ + "authenticationCredentials", + "containerRegistryId", + "identity", + "loginServer", + "name" + ], + "inputProperties": { + "authenticationCredentials": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials", + "description": "A `authentication_credentials` block as defined below.\n" + }, + "containerRegistryId": { + "type": "string", + "description": "The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + }, + "identity": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity", + "description": "An `identity` block as defined below.\n" + }, + "loginServer": { + "type": "string", + "description": "The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "authenticationCredentials", + "containerRegistryId", + "identity", + "loginServer" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RegistryCredentialSet resources.\n", + "properties": { + "authenticationCredentials": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetAuthenticationCredentials:RegistryCredentialSetAuthenticationCredentials", + "description": "A `authentication_credentials` block as defined below.\n" + }, + "containerRegistryId": { + "type": "string", + "description": "The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + }, + "identity": { + "$ref": "#/types/azure:containerservice/RegistryCredentialSetIdentity:RegistryCredentialSetIdentity", + "description": "An `identity` block as defined below.\n" + }, + "loginServer": { + "type": "string", + "description": "The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:containerservice/registryScopeMap:RegistryScopeMap": { "description": "Manages an Azure Container Registry scope map. Scope Maps are a preview feature only available in Premium SKU Container registries.\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-resource-group\",\n location: \"West Europe\",\n});\nconst exampleRegistry = new azure.containerservice.Registry(\"example\", {\n name: \"exampleregistry\",\n resourceGroupName: example.name,\n location: example.location,\n sku: \"Premium\",\n adminEnabled: false,\n georeplications: [\n {\n location: \"East US\",\n },\n {\n location: \"West Europe\",\n },\n ],\n});\nconst exampleRegistryScopeMap = new azure.containerservice.RegistryScopeMap(\"example\", {\n name: \"example-scope-map\",\n containerRegistryName: exampleRegistry.name,\n resourceGroupName: example.name,\n actions: [\n \"repositories/repo1/content/read\",\n \"repositories/repo1/content/write\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resource-group\",\n location=\"West Europe\")\nexample_registry = azure.containerservice.Registry(\"example\",\n name=\"exampleregistry\",\n resource_group_name=example.name,\n location=example.location,\n sku=\"Premium\",\n admin_enabled=False,\n georeplications=[\n {\n \"location\": \"East US\",\n },\n {\n \"location\": \"West Europe\",\n },\n ])\nexample_registry_scope_map = azure.containerservice.RegistryScopeMap(\"example\",\n name=\"example-scope-map\",\n container_registry_name=example_registry.name,\n resource_group_name=example.name,\n actions=[\n \"repositories/repo1/content/read\",\n \"repositories/repo1/content/write\",\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-resource-group\",\n Location = \"West Europe\",\n });\n\n var exampleRegistry = new Azure.ContainerService.Registry(\"example\", new()\n {\n Name = \"exampleregistry\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Sku = \"Premium\",\n AdminEnabled = false,\n Georeplications = new[]\n {\n new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n {\n Location = \"East US\",\n },\n new Azure.ContainerService.Inputs.RegistryGeoreplicationArgs\n {\n Location = \"West Europe\",\n },\n },\n });\n\n var exampleRegistryScopeMap = new Azure.ContainerService.RegistryScopeMap(\"example\", new()\n {\n Name = \"example-scope-map\",\n ContainerRegistryName = exampleRegistry.Name,\n ResourceGroupName = example.Name,\n Actions = new[]\n {\n \"repositories/repo1/content/read\",\n \"repositories/repo1/content/write\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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-resource-group\"),\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\texampleRegistry, err := containerservice.NewRegistry(ctx, \"example\", \u0026containerservice.RegistryArgs{\n\t\t\tName: pulumi.String(\"exampleregistry\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tSku: pulumi.String(\"Premium\"),\n\t\t\tAdminEnabled: pulumi.Bool(false),\n\t\t\tGeoreplications: containerservice.RegistryGeoreplicationArray{\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t\t\t},\n\t\t\t\t\u0026containerservice.RegistryGeoreplicationArgs{\n\t\t\t\t\tLocation: pulumi.String(\"West Europe\"),\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 = containerservice.NewRegistryScopeMap(ctx, \"example\", \u0026containerservice.RegistryScopeMapArgs{\n\t\t\tName: pulumi.String(\"example-scope-map\"),\n\t\t\tContainerRegistryName: exampleRegistry.Name,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"repositories/repo1/content/read\"),\n\t\t\t\tpulumi.String(\"repositories/repo1/content/write\"),\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.containerservice.Registry;\nimport com.pulumi.azure.containerservice.RegistryArgs;\nimport com.pulumi.azure.containerservice.inputs.RegistryGeoreplicationArgs;\nimport com.pulumi.azure.containerservice.RegistryScopeMap;\nimport com.pulumi.azure.containerservice.RegistryScopeMapArgs;\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-resource-group\")\n .location(\"West Europe\")\n .build());\n\n var exampleRegistry = new Registry(\"exampleRegistry\", RegistryArgs.builder()\n .name(\"exampleregistry\")\n .resourceGroupName(example.name())\n .location(example.location())\n .sku(\"Premium\")\n .adminEnabled(false)\n .georeplications( \n RegistryGeoreplicationArgs.builder()\n .location(\"East US\")\n .build(),\n RegistryGeoreplicationArgs.builder()\n .location(\"West Europe\")\n .build())\n .build());\n\n var exampleRegistryScopeMap = new RegistryScopeMap(\"exampleRegistryScopeMap\", RegistryScopeMapArgs.builder()\n .name(\"example-scope-map\")\n .containerRegistryName(exampleRegistry.name())\n .resourceGroupName(example.name())\n .actions( \n \"repositories/repo1/content/read\",\n \"repositories/repo1/content/write\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resource-group\n location: West Europe\n exampleRegistry:\n type: azure:containerservice:Registry\n name: example\n properties:\n name: exampleregistry\n resourceGroupName: ${example.name}\n location: ${example.location}\n sku: Premium\n adminEnabled: false\n georeplications:\n - location: East US\n - location: West Europe\n exampleRegistryScopeMap:\n type: azure:containerservice:RegistryScopeMap\n name: example\n properties:\n name: example-scope-map\n containerRegistryName: ${exampleRegistry.name}\n resourceGroupName: ${example.name}\n actions:\n - repositories/repo1/content/read\n - repositories/repo1/content/write\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registries can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:containerservice/registryScopeMap:RegistryScopeMap example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ContainerRegistry/registries/myregistry1/scopeMaps/scopemap1\n```\n\n", "properties": { @@ -163452,6 +163540,10 @@ "type": "string", "description": "The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n" }, + "notificationEmail": { + "type": "string", + "description": "The email address of the point of contact that should get the unsubscribe requests and notification emails.\n" + }, "subscriptionId": { "type": "string", "description": "The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n" @@ -163462,6 +163554,7 @@ "emailAddresses", "emailSubject", "name", + "notificationEmail", "subscriptionId" ], "inputProperties": { @@ -163489,6 +163582,10 @@ "description": "The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n", "willReplaceOnChanges": true }, + "notificationEmail": { + "type": "string", + "description": "The email address of the point of contact that should get the unsubscribe requests and notification emails.\n" + }, "subscriptionId": { "type": "string", "description": "The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n", @@ -163527,6 +163624,10 @@ "description": "The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens.\n", "willReplaceOnChanges": true }, + "notificationEmail": { + "type": "string", + "description": "The email address of the point of contact that should get the unsubscribe requests and notification emails.\n" + }, "subscriptionId": { "type": "string", "description": "The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider.\n", @@ -176452,6 +176553,10 @@ "$ref": "#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity", "description": "An `identity` block as defined below.\n" }, + "immutability": { + "type": "string", + "description": "The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created.\n" + }, "location": { "type": "string", "description": "The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n" @@ -176474,7 +176579,7 @@ }, "softDelete": { "type": "string", - "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" }, "tags": { "type": "object", @@ -176505,6 +176610,10 @@ "$ref": "#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity", "description": "An `identity` block as defined below.\n" }, + "immutability": { + "type": "string", + "description": "The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created.\n" + }, "location": { "type": "string", "description": "The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n", @@ -176531,7 +176640,7 @@ }, "softDelete": { "type": "string", - "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" }, "tags": { "type": "object", @@ -176562,6 +176671,10 @@ "$ref": "#/types/azure:dataprotection/BackupVaultIdentity:BackupVaultIdentity", "description": "An `identity` block as defined below.\n" }, + "immutability": { + "type": "string", + "description": "The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created.\n" + }, "location": { "type": "string", "description": "The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n", @@ -176588,7 +176701,7 @@ }, "softDelete": { "type": "string", - "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" }, "tags": { "type": "object", @@ -187497,7 +187610,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -187567,7 +187680,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -187658,7 +187771,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -217457,6 +217570,66 @@ } ] }, + "azure:mssql/job:Job": { + "description": "Manages an Elastic 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-resource-group\",\n location: \"East US\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n name: \"example-server\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n name: \"example-db\",\n serverId: exampleServer.id,\n collation: \"SQL_Latin1_General_CP1_CI_AS\",\n skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n name: \"example-job-agent\",\n location: example.location,\n databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n name: \"example-job-credential\",\n jobAgentId: exampleJobAgent.id,\n username: \"my-username\",\n password: \"MyP4ssw0rd!!!\",\n});\nconst exampleJob = new azure.mssql.Job(\"example\", {\n name: \"example-job\",\n jobAgentId: exampleJobAgent.id,\n description: \"example description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resource-group\",\n location=\"East US\")\nexample_server = azure.mssql.Server(\"example\",\n name=\"example-server\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n name=\"example-db\",\n server_id=example_server.id,\n collation=\"SQL_Latin1_General_CP1_CI_AS\",\n sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n name=\"example-job-agent\",\n location=example.location,\n database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n name=\"example-job-credential\",\n job_agent_id=example_job_agent.id,\n username=\"my-username\",\n password=\"MyP4ssw0rd!!!\")\nexample_job = azure.mssql.Job(\"example\",\n name=\"example-job\",\n job_agent_id=example_job_agent.id,\n description=\"example description\")\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-resource-group\",\n Location = \"East US\",\n });\n\n var exampleServer = new Azure.MSSql.Server(\"example\", new()\n {\n Name = \"example-server\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n\n var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n {\n Name = \"example-db\",\n ServerId = exampleServer.Id,\n Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n SkuName = \"S1\",\n });\n\n var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n {\n Name = \"example-job-agent\",\n Location = example.Location,\n DatabaseId = exampleDatabase.Id,\n });\n\n var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n {\n Name = \"example-job-credential\",\n JobAgentId = exampleJobAgent.Id,\n Username = \"my-username\",\n Password = \"MyP4ssw0rd!!!\",\n });\n\n var exampleJob = new Azure.MSSql.Job(\"example\", new()\n {\n Name = \"example-job\",\n JobAgentId = exampleJobAgent.Id,\n Description = \"example description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\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-resource-group\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName: pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName: pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName: pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName: pulumi.String(\"example-job-agent\"),\n\t\t\tLocation: example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName: pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername: pulumi.String(\"my-username\"),\n\t\t\tPassword: pulumi.String(\"MyP4ssw0rd!!!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJob(ctx, \"example\", \u0026mssql.JobArgs{\n\t\t\tName: pulumi.String(\"example-job\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tDescription: pulumi.String(\"example description\"),\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.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.Job;\nimport com.pulumi.azure.mssql.JobArgs;\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-resource-group\")\n .location(\"East US\")\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .name(\"example-server\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12.0\")\n .administratorLogin(\"4dm1n157r470r\")\n .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .name(\"example-db\")\n .serverId(exampleServer.id())\n .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n .skuName(\"S1\")\n .build());\n\n var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n .name(\"example-job-agent\")\n .location(example.location())\n .databaseId(exampleDatabase.id())\n .build());\n\n var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n .name(\"example-job-credential\")\n .jobAgentId(exampleJobAgent.id())\n .username(\"my-username\")\n .password(\"MyP4ssw0rd!!!\")\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n .name(\"example-job\")\n .jobAgentId(exampleJobAgent.id())\n .description(\"example description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resource-group\n location: East US\n exampleServer:\n type: azure:mssql:Server\n name: example\n properties:\n name: example-server\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12.0'\n administratorLogin: 4dm1n157r470r\n administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n exampleDatabase:\n type: azure:mssql:Database\n name: example\n properties:\n name: example-db\n serverId: ${exampleServer.id}\n collation: SQL_Latin1_General_CP1_CI_AS\n skuName: S1\n exampleJobAgent:\n type: azure:mssql:JobAgent\n name: example\n properties:\n name: example-job-agent\n location: ${example.location}\n databaseId: ${exampleDatabase.id}\n exampleJobCredential:\n type: azure:mssql:JobCredential\n name: example\n properties:\n name: example-job-credential\n jobAgentId: ${exampleJobAgent.id}\n username: my-username\n password: MyP4ssw0rd!!!\n exampleJob:\n type: azure:mssql:Job\n name: example\n properties:\n name: example-job\n jobAgentId: ${exampleJobAgent.id}\n description: example description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Jobs can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1\n```\n\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the Elastic Job.\n" + }, + "jobAgentId": { + "type": "string", + "description": "The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n" + } + }, + "required": [ + "jobAgentId", + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the Elastic Job.\n" + }, + "jobAgentId": { + "type": "string", + "description": "The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "jobAgentId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Job resources.\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the Elastic Job.\n" + }, + "jobAgentId": { + "type": "string", + "description": "The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:mssql/jobAgent:JobAgent": { "description": "Manages an Elastic Job Agent.\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\",\n location: \"northeurope\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n name: \"example-server\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n name: \"example-db\",\n serverId: exampleServer.id,\n collation: \"SQL_Latin1_General_CP1_CI_AS\",\n skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n name: \"example-job-agent\",\n location: example.location,\n databaseId: exampleDatabase.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example\",\n location=\"northeurope\")\nexample_server = azure.mssql.Server(\"example\",\n name=\"example-server\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n name=\"example-db\",\n server_id=example_server.id,\n collation=\"SQL_Latin1_General_CP1_CI_AS\",\n sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n name=\"example-job-agent\",\n location=example.location,\n database_id=example_database.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\",\n Location = \"northeurope\",\n });\n\n var exampleServer = new Azure.MSSql.Server(\"example\", new()\n {\n Name = \"example-server\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n\n var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n {\n Name = \"example-db\",\n ServerId = exampleServer.Id,\n Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n SkuName = \"S1\",\n });\n\n var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n {\n Name = \"example-job-agent\",\n Location = example.Location,\n DatabaseId = exampleDatabase.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\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\"),\n\t\t\tLocation: pulumi.String(\"northeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName: pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName: pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName: pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName: pulumi.String(\"example-job-agent\"),\n\t\t\tLocation: example.Location,\n\t\t\tDatabaseId: exampleDatabase.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.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\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\")\n .location(\"northeurope\")\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .name(\"example-server\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12.0\")\n .administratorLogin(\"4dm1n157r470r\")\n .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .name(\"example-db\")\n .serverId(exampleServer.id())\n .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n .skuName(\"S1\")\n .build());\n\n var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n .name(\"example-job-agent\")\n .location(example.location())\n .databaseId(exampleDatabase.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example\n location: northeurope\n exampleServer:\n type: azure:mssql:Server\n name: example\n properties:\n name: example-server\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12.0'\n administratorLogin: 4dm1n157r470r\n administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n exampleDatabase:\n type: azure:mssql:Database\n name: example\n properties:\n name: example-db\n serverId: ${exampleServer.id}\n collation: SQL_Latin1_General_CP1_CI_AS\n skuName: S1\n exampleJobAgent:\n type: azure:mssql:JobAgent\n name: example\n properties:\n name: example-job-agent\n location: ${example.location}\n databaseId: ${exampleDatabase.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Job Agents can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobAgent:JobAgent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1\n```\n\n", "properties": { @@ -217620,6 +217793,104 @@ "type": "object" } }, + "azure:mssql/jobSchedule:JobSchedule": { + "description": "Manages an Elastic Job Schedule.\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-resource-group\",\n location: \"East US\",\n});\nconst exampleServer = new azure.mssql.Server(\"example\", {\n name: \"example-server\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"example\", {\n name: \"example-db\",\n serverId: exampleServer.id,\n collation: \"SQL_Latin1_General_CP1_CI_AS\",\n skuName: \"S1\",\n});\nconst exampleJobAgent = new azure.mssql.JobAgent(\"example\", {\n name: \"example-job-agent\",\n location: example.location,\n databaseId: exampleDatabase.id,\n});\nconst exampleJobCredential = new azure.mssql.JobCredential(\"example\", {\n name: \"example-job-credential\",\n jobAgentId: exampleJobAgent.id,\n username: \"my-username\",\n password: \"MyP4ssw0rd!!!\",\n});\nconst exampleJob = new azure.mssql.Job(\"example\", {\n name: \"example-job\",\n jobAgentId: exampleJobAgent.id,\n});\nconst exampleJobSchedule = new azure.mssql.JobSchedule(\"example\", {\n jobId: exampleJob.id,\n type: \"Recurring\",\n enabled: true,\n endTime: \"2025-12-01T00:00:00Z\",\n interval: \"PT5M\",\n startTime: \"2025-01-01T00:00:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resource-group\",\n location=\"East US\")\nexample_server = azure.mssql.Server(\"example\",\n name=\"example-server\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_database = azure.mssql.Database(\"example\",\n name=\"example-db\",\n server_id=example_server.id,\n collation=\"SQL_Latin1_General_CP1_CI_AS\",\n sku_name=\"S1\")\nexample_job_agent = azure.mssql.JobAgent(\"example\",\n name=\"example-job-agent\",\n location=example.location,\n database_id=example_database.id)\nexample_job_credential = azure.mssql.JobCredential(\"example\",\n name=\"example-job-credential\",\n job_agent_id=example_job_agent.id,\n username=\"my-username\",\n password=\"MyP4ssw0rd!!!\")\nexample_job = azure.mssql.Job(\"example\",\n name=\"example-job\",\n job_agent_id=example_job_agent.id)\nexample_job_schedule = azure.mssql.JobSchedule(\"example\",\n job_id=example_job.id,\n type=\"Recurring\",\n enabled=True,\n end_time=\"2025-12-01T00:00:00Z\",\n interval=\"PT5M\",\n start_time=\"2025-01-01T00:00:00Z\")\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-resource-group\",\n Location = \"East US\",\n });\n\n var exampleServer = new Azure.MSSql.Server(\"example\", new()\n {\n Name = \"example-server\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n\n var exampleDatabase = new Azure.MSSql.Database(\"example\", new()\n {\n Name = \"example-db\",\n ServerId = exampleServer.Id,\n Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n SkuName = \"S1\",\n });\n\n var exampleJobAgent = new Azure.MSSql.JobAgent(\"example\", new()\n {\n Name = \"example-job-agent\",\n Location = example.Location,\n DatabaseId = exampleDatabase.Id,\n });\n\n var exampleJobCredential = new Azure.MSSql.JobCredential(\"example\", new()\n {\n Name = \"example-job-credential\",\n JobAgentId = exampleJobAgent.Id,\n Username = \"my-username\",\n Password = \"MyP4ssw0rd!!!\",\n });\n\n var exampleJob = new Azure.MSSql.Job(\"example\", new()\n {\n Name = \"example-job\",\n JobAgentId = exampleJobAgent.Id,\n });\n\n var exampleJobSchedule = new Azure.MSSql.JobSchedule(\"example\", new()\n {\n JobId = exampleJob.Id,\n Type = \"Recurring\",\n Enabled = true,\n EndTime = \"2025-12-01T00:00:00Z\",\n Interval = \"PT5M\",\n StartTime = \"2025-01-01T00:00:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\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-resource-group\"),\n\t\t\tLocation: pulumi.String(\"East US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName: pulumi.String(\"example-server\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"example\", \u0026mssql.DatabaseArgs{\n\t\t\tName: pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleServer.ID(),\n\t\t\tCollation: pulumi.String(\"SQL_Latin1_General_CP1_CI_AS\"),\n\t\t\tSkuName: pulumi.String(\"S1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJobAgent, err := mssql.NewJobAgent(ctx, \"example\", \u0026mssql.JobAgentArgs{\n\t\t\tName: pulumi.String(\"example-job-agent\"),\n\t\t\tLocation: example.Location,\n\t\t\tDatabaseId: exampleDatabase.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobCredential(ctx, \"example\", \u0026mssql.JobCredentialArgs{\n\t\t\tName: pulumi.String(\"example-job-credential\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t\tUsername: pulumi.String(\"my-username\"),\n\t\t\tPassword: pulumi.String(\"MyP4ssw0rd!!!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleJob, err := mssql.NewJob(ctx, \"example\", \u0026mssql.JobArgs{\n\t\t\tName: pulumi.String(\"example-job\"),\n\t\t\tJobAgentId: exampleJobAgent.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewJobSchedule(ctx, \"example\", \u0026mssql.JobScheduleArgs{\n\t\t\tJobId: exampleJob.ID(),\n\t\t\tType: pulumi.String(\"Recurring\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tEndTime: pulumi.String(\"2025-12-01T00:00:00Z\"),\n\t\t\tInterval: pulumi.String(\"PT5M\"),\n\t\t\tStartTime: pulumi.String(\"2025-01-01T00:00:00Z\"),\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.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.mssql.Database;\nimport com.pulumi.azure.mssql.DatabaseArgs;\nimport com.pulumi.azure.mssql.JobAgent;\nimport com.pulumi.azure.mssql.JobAgentArgs;\nimport com.pulumi.azure.mssql.JobCredential;\nimport com.pulumi.azure.mssql.JobCredentialArgs;\nimport com.pulumi.azure.mssql.Job;\nimport com.pulumi.azure.mssql.JobArgs;\nimport com.pulumi.azure.mssql.JobSchedule;\nimport com.pulumi.azure.mssql.JobScheduleArgs;\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-resource-group\")\n .location(\"East US\")\n .build());\n\n var exampleServer = new Server(\"exampleServer\", ServerArgs.builder()\n .name(\"example-server\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12.0\")\n .administratorLogin(\"4dm1n157r470r\")\n .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .name(\"example-db\")\n .serverId(exampleServer.id())\n .collation(\"SQL_Latin1_General_CP1_CI_AS\")\n .skuName(\"S1\")\n .build());\n\n var exampleJobAgent = new JobAgent(\"exampleJobAgent\", JobAgentArgs.builder()\n .name(\"example-job-agent\")\n .location(example.location())\n .databaseId(exampleDatabase.id())\n .build());\n\n var exampleJobCredential = new JobCredential(\"exampleJobCredential\", JobCredentialArgs.builder()\n .name(\"example-job-credential\")\n .jobAgentId(exampleJobAgent.id())\n .username(\"my-username\")\n .password(\"MyP4ssw0rd!!!\")\n .build());\n\n var exampleJob = new Job(\"exampleJob\", JobArgs.builder()\n .name(\"example-job\")\n .jobAgentId(exampleJobAgent.id())\n .build());\n\n var exampleJobSchedule = new JobSchedule(\"exampleJobSchedule\", JobScheduleArgs.builder()\n .jobId(exampleJob.id())\n .type(\"Recurring\")\n .enabled(true)\n .endTime(\"2025-12-01T00:00:00Z\")\n .interval(\"PT5M\")\n .startTime(\"2025-01-01T00:00:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resource-group\n location: East US\n exampleServer:\n type: azure:mssql:Server\n name: example\n properties:\n name: example-server\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12.0'\n administratorLogin: 4dm1n157r470r\n administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n exampleDatabase:\n type: azure:mssql:Database\n name: example\n properties:\n name: example-db\n serverId: ${exampleServer.id}\n collation: SQL_Latin1_General_CP1_CI_AS\n skuName: S1\n exampleJobAgent:\n type: azure:mssql:JobAgent\n name: example\n properties:\n name: example-job-agent\n location: ${example.location}\n databaseId: ${exampleDatabase.id}\n exampleJobCredential:\n type: azure:mssql:JobCredential\n name: example\n properties:\n name: example-job-credential\n jobAgentId: ${exampleJobAgent.id}\n username: my-username\n password: MyP4ssw0rd!!!\n exampleJob:\n type: azure:mssql:Job\n name: example\n properties:\n name: example-job\n jobAgentId: ${exampleJobAgent.id}\n exampleJobSchedule:\n type: azure:mssql:JobSchedule\n name: example\n properties:\n jobId: ${exampleJob.id}\n type: Recurring\n enabled: true\n endTime: 2025-12-01T00:00:00Z\n interval: PT5M\n startTime: 2025-01-01T00:00:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Job Schedules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1\n```\n\n", + "properties": { + "enabled": { + "type": "boolean", + "description": "Should the Elastic Job Schedule be enabled? Defaults to `false`.\n\n\u003e **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed.\n" + }, + "endTime": { + "type": "string", + "description": "The end time of the schedule. Must be in RFC3339 format.\n" + }, + "interval": { + "type": "string", + "description": "The interval between job executions. Must be in ISO8601 duration format.\n" + }, + "jobId": { + "type": "string", + "description": "The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n" + }, + "startTime": { + "type": "string", + "description": "The start time of the schedule. Must be in RFC3339 format.\n" + }, + "type": { + "type": "string", + "description": "The type of schedule. Possible values are `Once` and `Recurring`.\n" + } + }, + "required": [ + "enabled", + "endTime", + "jobId", + "startTime", + "type" + ], + "inputProperties": { + "enabled": { + "type": "boolean", + "description": "Should the Elastic Job Schedule be enabled? Defaults to `false`.\n\n\u003e **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed.\n" + }, + "endTime": { + "type": "string", + "description": "The end time of the schedule. Must be in RFC3339 format.\n" + }, + "interval": { + "type": "string", + "description": "The interval between job executions. Must be in ISO8601 duration format.\n" + }, + "jobId": { + "type": "string", + "description": "The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n", + "willReplaceOnChanges": true + }, + "startTime": { + "type": "string", + "description": "The start time of the schedule. Must be in RFC3339 format.\n" + }, + "type": { + "type": "string", + "description": "The type of schedule. Possible values are `Once` and `Recurring`.\n" + } + }, + "requiredInputs": [ + "jobId", + "type" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering JobSchedule resources.\n", + "properties": { + "enabled": { + "type": "boolean", + "description": "Should the Elastic Job Schedule be enabled? Defaults to `false`.\n\n\u003e **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed.\n" + }, + "endTime": { + "type": "string", + "description": "The end time of the schedule. Must be in RFC3339 format.\n" + }, + "interval": { + "type": "string", + "description": "The interval between job executions. Must be in ISO8601 duration format.\n" + }, + "jobId": { + "type": "string", + "description": "The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created.\n", + "willReplaceOnChanges": true + }, + "startTime": { + "type": "string", + "description": "The start time of the schedule. Must be in RFC3339 format.\n" + }, + "type": { + "type": "string", + "description": "The type of schedule. Possible values are `Once` and `Recurring`.\n" + } + }, + "type": "object" + } + }, "azure:mssql/managedDatabase:ManagedDatabase": { "description": "## 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\",\n location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"example\",\n location: example.location,\n resourceGroupName: example.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"example\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleManagedInstance = new azure.mssql.ManagedInstance(\"example\", {\n name: \"managedsqlinstance\",\n resourceGroupName: example.name,\n location: example.location,\n licenseType: \"BasePrice\",\n skuName: \"GP_Gen5\",\n storageSizeInGb: 32,\n subnetId: exampleSubnet.id,\n vcores: 4,\n administratorLogin: \"msadministrator\",\n administratorLoginPassword: \"thisIsDog11\",\n});\nconst exampleManagedDatabase = new azure.mssql.ManagedDatabase(\"example\", {\n name: \"example\",\n managedInstanceId: exampleManagedInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example\",\n location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"example\",\n location=example.location,\n resource_group_name=example.name,\n address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"example\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"])\nexample_managed_instance = azure.mssql.ManagedInstance(\"example\",\n name=\"managedsqlinstance\",\n resource_group_name=example.name,\n location=example.location,\n license_type=\"BasePrice\",\n sku_name=\"GP_Gen5\",\n storage_size_in_gb=32,\n subnet_id=example_subnet.id,\n vcores=4,\n administrator_login=\"msadministrator\",\n administrator_login_password=\"thisIsDog11\")\nexample_managed_database = azure.mssql.ManagedDatabase(\"example\",\n name=\"example\",\n managed_instance_id=example_managed_instance.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\",\n Location = \"West Europe\",\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"example\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"example\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n });\n\n var exampleManagedInstance = new Azure.MSSql.ManagedInstance(\"example\", new()\n {\n Name = \"managedsqlinstance\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n LicenseType = \"BasePrice\",\n SkuName = \"GP_Gen5\",\n StorageSizeInGb = 32,\n SubnetId = exampleSubnet.Id,\n Vcores = 4,\n AdministratorLogin = \"msadministrator\",\n AdministratorLoginPassword = \"thisIsDog11\",\n });\n\n var exampleManagedDatabase = new Azure.MSSql.ManagedDatabase(\"example\", new()\n {\n Name = \"example\",\n ManagedInstanceId = exampleManagedInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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\"),\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\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\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(\"example\"),\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\texampleManagedInstance, err := mssql.NewManagedInstance(ctx, \"example\", \u0026mssql.ManagedInstanceArgs{\n\t\t\tName: pulumi.String(\"managedsqlinstance\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tLicenseType: pulumi.String(\"BasePrice\"),\n\t\t\tSkuName: pulumi.String(\"GP_Gen5\"),\n\t\t\tStorageSizeInGb: pulumi.Int(32),\n\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\tVcores: pulumi.Int(4),\n\t\t\tAdministratorLogin: pulumi.String(\"msadministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewManagedDatabase(ctx, \"example\", \u0026mssql.ManagedDatabaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tManagedInstanceId: exampleManagedInstance.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.mssql.ManagedInstance;\nimport com.pulumi.azure.mssql.ManagedInstanceArgs;\nimport com.pulumi.azure.mssql.ManagedDatabase;\nimport com.pulumi.azure.mssql.ManagedDatabaseArgs;\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\")\n .location(\"West Europe\")\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n .name(\"example\")\n .location(example.location())\n .resourceGroupName(example.name())\n .addressSpaces(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .name(\"example\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .build());\n\n var exampleManagedInstance = new ManagedInstance(\"exampleManagedInstance\", ManagedInstanceArgs.builder()\n .name(\"managedsqlinstance\")\n .resourceGroupName(example.name())\n .location(example.location())\n .licenseType(\"BasePrice\")\n .skuName(\"GP_Gen5\")\n .storageSizeInGb(32)\n .subnetId(exampleSubnet.id())\n .vcores(4)\n .administratorLogin(\"msadministrator\")\n .administratorLoginPassword(\"thisIsDog11\")\n .build());\n\n var exampleManagedDatabase = new ManagedDatabase(\"exampleManagedDatabase\", ManagedDatabaseArgs.builder()\n .name(\"example\")\n .managedInstanceId(exampleManagedInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example\n location: West Europe\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: example\n location: ${example.location}\n resourceGroupName: ${example.name}\n addressSpaces:\n - 10.0.0.0/16\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: example\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n exampleManagedInstance:\n type: azure:mssql:ManagedInstance\n name: example\n properties:\n name: managedsqlinstance\n resourceGroupName: ${example.name}\n location: ${example.location}\n licenseType: BasePrice\n skuName: GP_Gen5\n storageSizeInGb: 32\n subnetId: ${exampleSubnet.id}\n vcores: 4\n administratorLogin: msadministrator\n administratorLoginPassword: thisIsDog11\n exampleManagedDatabase:\n type: azure:mssql:ManagedDatabase\n name: example\n properties:\n name: example\n managedInstanceId: ${exampleManagedInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSQL Managed Databases can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:mssql/managedDatabase:ManagedDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver/databases/mydatabase\n```\n\n", "properties": { @@ -245527,7 +245798,7 @@ }, "skuName": { "type": "string", - "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n" + "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n" }, "tags": { "type": "object", @@ -245574,7 +245845,7 @@ }, "skuName": { "type": "string", - "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n", + "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n", "willReplaceOnChanges": true }, "tags": { @@ -245626,7 +245897,7 @@ }, "skuName": { "type": "string", - "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n", + "description": "The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.\n", "willReplaceOnChanges": true }, "tags": { @@ -252566,7 +252837,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -252636,7 +252907,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -252727,7 +252998,7 @@ }, "minimumTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n" + "description": "The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n" }, "name": { "type": "string", @@ -258640,7 +258911,7 @@ }, "minTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" + "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" }, "name": { "type": "string", @@ -259186,7 +259457,7 @@ }, "minTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" + "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" }, "name": { "type": "string", @@ -259363,7 +259634,7 @@ }, "minTlsVersion": { "type": "string", - "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" + "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts.\n\n\u003e **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more.\n\n\u003e **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud.\n" }, "name": { "type": "string", @@ -260317,7 +260588,7 @@ } }, "azure:storage/container:Container": { - "description": "Manages a Container within an Azure Storage Account.\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 exampleAccount = new azure.storage.Account(\"example\", {\n name: \"examplestoraccount\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"vhds\",\n storageAccountId: exampleAccount.id,\n containerAccessType: \"private\",\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_account = azure.storage.Account(\"example\",\n name=\"examplestoraccount\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_container = azure.storage.Container(\"example\",\n name=\"vhds\",\n storage_account_id=example_account.id,\n container_access_type=\"private\")\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 exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"examplestoraccount\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"vhds\",\n StorageAccountId = exampleAccount.Id,\n ContainerAccessType = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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-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\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"examplestoraccount\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"vhds\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\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.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\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 exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .name(\"examplestoraccount\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .tags(Map.of(\"environment\", \"staging\"))\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n .name(\"vhds\")\n .storageAccountId(exampleAccount.id())\n .containerAccessType(\"private\")\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 exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: examplestoraccount\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: LRS\n tags:\n environment: staging\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: vhds\n storageAccountId: ${exampleAccount.id}\n containerAccessType: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Containers can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container\n```\n\n", + "description": "Manages a Container within an Azure Storage Account.\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 exampleAccount = new azure.storage.Account(\"example\", {\n name: \"examplestoraccount\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"vhds\",\n storageAccountId: exampleAccount.id,\n containerAccessType: \"private\",\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_account = azure.storage.Account(\"example\",\n name=\"examplestoraccount\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_container = azure.storage.Container(\"example\",\n name=\"vhds\",\n storage_account_id=example_account.id,\n container_access_type=\"private\")\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 exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"examplestoraccount\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"vhds\",\n StorageAccountId = exampleAccount.Id,\n ContainerAccessType = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/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-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\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"examplestoraccount\"),\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\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"vhds\"),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\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.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\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 exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .name(\"examplestoraccount\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .tags(Map.of(\"environment\", \"staging\"))\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder()\n .name(\"vhds\")\n .storageAccountId(exampleAccount.id())\n .containerAccessType(\"private\")\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 exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: examplestoraccount\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: LRS\n tags:\n environment: staging\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: vhds\n storageAccountId: ${exampleAccount.id}\n containerAccessType: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Containers can be imported using the `resource manager id`, e.g.\n\n```sh\n$ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer\n```\n\n", "properties": { "containerAccessType": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 7d95a099d4..8110ddb538 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.7 require ( github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 - github.com/hashicorp/go-azure-sdk/sdk v0.20241212.1154051 + github.com/hashicorp/go-azure-sdk/sdk v0.20250115.1141151 github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 github.com/hashicorp/terraform-provider-azurerm v1.44.1-0.20220923005104-eaa801c358ff github.com/pulumi/providertest v0.1.3 @@ -121,7 +121,7 @@ require ( 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.71.0 // indirect - github.com/hashicorp/go-azure-sdk/resource-manager v0.20241212.1154051 // indirect + github.com/hashicorp/go-azure-sdk/resource-manager v0.20250115.1141151 // 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 @@ -157,6 +157,7 @@ require ( github.com/imdario/mergo v0.3.15 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/iwdgo/sigintwindows v0.2.2 // indirect + github.com/jackofallops/giovanni v0.28.0 // indirect github.com/jackofallops/kermit v0.20241010.1180132 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -225,7 +226,6 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/teekennedy/goldmark-markdown v0.3.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect - github.com/tombuildsstuff/giovanni v0.27.0 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/ulikunitz/xz v0.5.11 // indirect diff --git a/provider/go.sum b/provider/go.sum index 7580223d36..5c0f3868c6 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1632,10 +1632,10 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-azure-helpers v0.71.0 h1:ra3aIRzg01g6MLKQ+yABcb6WJtrqRUDDgyuPLmyZ9lY= github.com/hashicorp/go-azure-helpers v0.71.0/go.mod h1:BmbF4JDYXK5sEmFeU5hcn8Br21uElcqLfdQxjatwQKw= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20241212.1154051 h1:jFgd3bzeRViGTzicIn9gDw2O/Gk6WjVJCTTefPNOGPY= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20241212.1154051/go.mod h1:XapOZ9HiCtXz3qb5yNFiCuWbOBj2I3WU1K2jwqgK2zA= -github.com/hashicorp/go-azure-sdk/sdk v0.20241212.1154051 h1:4fCKJPSeLVvwl7ZCqU7MOUKyx/M7kl/J6wlw2O3xn40= -github.com/hashicorp/go-azure-sdk/sdk v0.20241212.1154051/go.mod h1:oI5R0fTbBx3K/sJBK5R/OlEy8ozdQjvctxVU9v3EDkc= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20250115.1141151 h1:bPvF5BpQiyd6lAcS+YEcYZOPPsszEV2ElwtrlxjF6aM= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20250115.1141151/go.mod h1:h5yWlutmMw0h3tvfQ8hFoI37CT51ybYfqDfIFFiI1tg= +github.com/hashicorp/go-azure-sdk/sdk v0.20250115.1141151 h1:1Z1Y7QIHf1J9rzJTrRtgOhQYldhF1bOqny4uYn8aj/A= +github.com/hashicorp/go-azure-sdk/sdk v0.20250115.1141151/go.mod h1:oI5R0fTbBx3K/sJBK5R/OlEy8ozdQjvctxVU9v3EDkc= 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= @@ -1758,6 +1758,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/iwdgo/sigintwindows v0.2.2 h1:P6oWzpvV7MrEAmhUgs+zmarrWkyL77ycZz4v7+1gYAE= github.com/iwdgo/sigintwindows v0.2.2/go.mod h1:70wPb8oz8OnxPvsj2QMUjgIVhb8hMu5TUgX8KfFl7QY= +github.com/jackofallops/giovanni v0.28.0 h1:fxn55SnxL2Rj3hgkkgQS9UKlIRXkkTZ5WcnE04JCBRE= +github.com/jackofallops/giovanni v0.28.0/go.mod h1:CyzRgZyts4YSI/1iZF8poqdn9I6J8xpmg1iMpvhthTs= github.com/jackofallops/kermit v0.20241010.1180132 h1:3EwOQarDKNhtJ1zmtQAwtozYEayxN1AHT3/AMTDZNmw= github.com/jackofallops/kermit v0.20241010.1180132/go.mod h1:3Qf3rz0MOUsmzd3mxRb5ehTZ0+zhf7fOraV6jJxntLU= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= @@ -2094,8 +2096,6 @@ github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= -github.com/tombuildsstuff/giovanni v0.27.0 h1:3CDNjauK78FIhvvCp0SAHlvNcPTcofR6zQXvxwhk4zY= -github.com/tombuildsstuff/giovanni v0.27.0/go.mod h1:SviBdlwdVn2HyArdRABBqMUODBJ2adQHi+RFEVaO05I= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= diff --git a/upstream b/upstream index 1756d4c064..f54480d7ee 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 1756d4c0648e1adf0498aa1a5fba7ff21c8094aa +Subproject commit f54480d7ee71730bcee6af01fbd50e129a78eb05 From 895cc4c47523dea83711659136a6249e353f4fce Mon Sep 17 00:00:00 2001 From: "bot@pulumi.com" Date: Tue, 21 Jan 2025 03:33:05 +0000 Subject: [PATCH 2/2] make build_sdks --- ...nctionAppSiteConfigApplicationStackArgs.cs | 2 +- ...ionAppSiteConfigApplicationStackGetArgs.cs | 2 +- ...nuxWebAppSiteConfigApplicationStackArgs.cs | 2 +- ...WebAppSiteConfigApplicationStackGetArgs.cs | 2 +- ...ebAppSlotSiteConfigApplicationStackArgs.cs | 2 +- ...ppSlotSiteConfigApplicationStackGetArgs.cs | 2 +- ...nctionAppSiteConfigApplicationStackArgs.cs | 2 +- ...ionAppSiteConfigApplicationStackGetArgs.cs | 2 +- ...uxFunctionAppSiteConfigApplicationStack.cs | 2 +- .../LinuxWebAppSiteConfigApplicationStack.cs | 2 +- ...nuxWebAppSlotSiteConfigApplicationStack.cs | 2 +- ...wsFunctionAppSiteConfigApplicationStack.cs | 2 +- .../ContainerApp/Inputs/AppTemplateArgs.cs | 6 + .../ContainerApp/Inputs/AppTemplateGetArgs.cs | 6 + .../ContainerApp/Outputs/AppTemplate.cs | 7 + .../Outputs/GetAppTemplateResult.cs | 7 + ...ernetesClusterNodePoolKubeletConfigArgs.cs | 20 +- ...etesClusterNodePoolKubeletConfigGetArgs.cs | 20 +- ...ernetesClusterNodePoolLinuxOsConfigArgs.cs | 8 +- ...etesClusterNodePoolLinuxOsConfigGetArgs.cs | 8 +- ...erNodePoolLinuxOsConfigSysctlConfigArgs.cs | 58 +- ...odePoolLinuxOsConfigSysctlConfigGetArgs.cs | 58 +- ...netesClusterNodePoolUpgradeSettingsArgs.cs | 2 +- ...esClusterNodePoolUpgradeSettingsGetArgs.cs | 2 +- ...dentialSetAuthenticationCredentialsArgs.cs | 34 + ...tialSetAuthenticationCredentialsGetArgs.cs | 34 + .../RegistryCredentialSetIdentityArgs.cs | 38 + .../RegistryCredentialSetIdentityGetArgs.cs | 38 + .../KubernetesClusterNodePool.cs | 104 +-- .../KubernetesClusterNodePoolKubeletConfig.cs | 20 +- .../KubernetesClusterNodePoolLinuxOsConfig.cs | 8 +- ...lusterNodePoolLinuxOsConfigSysctlConfig.cs | 58 +- ...ubernetesClusterNodePoolUpgradeSettings.cs | 2 +- ...yCredentialSetAuthenticationCredentials.cs | 37 + .../Outputs/RegistryCredentialSetIdentity.cs | 42 ++ .../ContainerService/RegistryCredentialSet.cs | 321 ++++++++ sdk/dotnet/CostManagement/AnomalyAlert.cs | 18 + sdk/dotnet/DataProtection/BackupVault.cs | 24 +- sdk/dotnet/EventHub/Namespace.cs | 6 + sdk/dotnet/MSSql/Job.cs | 198 +++++ sdk/dotnet/MSSql/JobSchedule.cs | 267 +++++++ sdk/dotnet/Redis/EnterpriseCluster.cs | 6 +- sdk/dotnet/ServiceBus/Namespace.cs | 6 + sdk/dotnet/Storage/Account.cs | 6 + sdk/dotnet/Storage/Container.cs | 4 +- sdk/go/azure/appservice/pulumiTypes.go | 32 +- sdk/go/azure/containerapp/pulumiTypes.go | 28 + sdk/go/azure/containerservice/init.go | 7 + .../kubernetesClusterNodePool.go | 185 ++--- sdk/go/azure/containerservice/pulumiTypes.go | 699 +++++++++++++----- .../containerservice/registryCredentialSet.go | 469 ++++++++++++ sdk/go/azure/costmanagement/anomalyAlert.go | 15 + sdk/go/azure/dataprotection/backupVault.go | 27 +- sdk/go/azure/eventhub/namespace.go | 12 + sdk/go/azure/mssql/init.go | 14 + sdk/go/azure/mssql/job.go | 330 +++++++++ sdk/go/azure/mssql/jobSchedule.go | 400 ++++++++++ sdk/go/azure/redis/enterpriseCluster.go | 12 +- sdk/go/azure/servicebus/namespace.go | 12 + sdk/go/azure/storage/account.go | 12 + sdk/go/azure/storage/container.go | 4 +- ...tionAppSiteConfigApplicationStackArgs.java | 8 +- ...xWebAppSiteConfigApplicationStackArgs.java | 8 +- ...AppSlotSiteConfigApplicationStackArgs.java | 8 +- ...tionAppSiteConfigApplicationStackArgs.java | 8 +- ...FunctionAppSiteConfigApplicationStack.java | 4 +- ...LinuxWebAppSiteConfigApplicationStack.java | 4 +- ...xWebAppSlotSiteConfigApplicationStack.java | 4 +- ...FunctionAppSiteConfigApplicationStack.java | 4 +- .../containerapp/inputs/AppTemplateArgs.java | 37 + .../containerapp/outputs/AppTemplate.java | 21 + .../containerapp/outputs/GetAppTemplate.java | 23 + .../KubernetesClusterNodePool.java | 72 +- .../KubernetesClusterNodePoolArgs.java | 151 ++-- .../RegistryCredentialSet.java | 337 +++++++++ .../RegistryCredentialSetArgs.java | 246 ++++++ ...netesClusterNodePoolKubeletConfigArgs.java | 82 +- ...netesClusterNodePoolLinuxOsConfigArgs.java | 32 +- ...NodePoolLinuxOsConfigSysctlConfigArgs.java | 232 +++--- .../KubernetesClusterNodePoolState.java | 151 ++-- ...tesClusterNodePoolUpgradeSettingsArgs.java | 8 +- ...ntialSetAuthenticationCredentialsArgs.java | 133 ++++ .../RegistryCredentialSetIdentityArgs.java | 161 ++++ .../inputs/RegistryCredentialSetState.java | 233 ++++++ ...ubernetesClusterNodePoolKubeletConfig.java | 40 +- ...ubernetesClusterNodePoolLinuxOsConfig.java | 16 +- ...sterNodePoolLinuxOsConfigSysctlConfig.java | 116 +-- ...ernetesClusterNodePoolUpgradeSettings.java | 4 +- ...redentialSetAuthenticationCredentials.java | 85 +++ .../RegistryCredentialSetIdentity.java | 102 +++ .../azure/costmanagement/AnomalyAlert.java | 14 + .../costmanagement/AnomalyAlertArgs.java | 37 + .../inputs/AnomalyAlertState.java | 37 + .../azure/dataprotection/BackupVault.java | 18 +- .../azure/dataprotection/BackupVaultArgs.java | 45 +- .../inputs/BackupVaultState.java | 45 +- .../com/pulumi/azure/eventhub/Namespace.java | 4 + .../pulumi/azure/eventhub/NamespaceArgs.java | 8 + .../azure/eventhub/inputs/NamespaceState.java | 8 + .../main/java/com/pulumi/azure/mssql/Job.java | 210 ++++++ .../java/com/pulumi/azure/mssql/JobArgs.java | 161 ++++ .../com/pulumi/azure/mssql/JobSchedule.java | 267 +++++++ .../pulumi/azure/mssql/JobScheduleArgs.java | 284 +++++++ .../azure/mssql/inputs/JobScheduleState.java | 277 +++++++ .../pulumi/azure/mssql/inputs/JobState.java | 157 ++++ .../pulumi/azure/redis/EnterpriseCluster.java | 4 +- .../azure/redis/EnterpriseClusterArgs.java | 8 +- .../redis/inputs/EnterpriseClusterState.java | 8 +- .../pulumi/azure/servicebus/Namespace.java | 4 + .../azure/servicebus/NamespaceArgs.java | 8 + .../servicebus/inputs/NamespaceState.java | 8 + .../com/pulumi/azure/storage/Account.java | 4 + .../com/pulumi/azure/storage/AccountArgs.java | 8 + .../com/pulumi/azure/storage/Container.java | 4 +- .../azure/storage/inputs/AccountState.java | 8 + sdk/nodejs/containerservice/index.ts | 8 + .../kubernetesClusterNodePool.ts | 100 +-- .../containerservice/registryCredentialSet.ts | 265 +++++++ sdk/nodejs/costmanagement/anomalyAlert.ts | 14 + sdk/nodejs/dataprotection/backupVault.ts | 20 +- sdk/nodejs/eventhub/namespace.ts | 6 + sdk/nodejs/mssql/index.ts | 16 + sdk/nodejs/mssql/job.ts | 165 +++++ sdk/nodejs/mssql/jobSchedule.ts | 223 ++++++ sdk/nodejs/redis/enterpriseCluster.ts | 6 +- sdk/nodejs/servicebus/namespace.ts | 6 + sdk/nodejs/storage/account.ts | 6 + sdk/nodejs/storage/container.ts | 4 +- sdk/nodejs/tsconfig.json | 3 + sdk/nodejs/types/input.ts | 128 ++-- sdk/nodejs/types/output.ts | 132 ++-- sdk/python/pulumi_azure/__init__.py | 24 + sdk/python/pulumi_azure/appservice/_inputs.py | 24 +- sdk/python/pulumi_azure/appservice/outputs.py | 16 +- .../pulumi_azure/containerapp/_inputs.py | 20 + .../pulumi_azure/containerapp/outputs.py | 25 + .../pulumi_azure/containerservice/__init__.py | 1 + .../pulumi_azure/containerservice/_inputs.py | 395 ++++++---- .../kubernetes_cluster_node_pool.py | 247 ++++--- .../pulumi_azure/containerservice/outputs.py | 291 +++++--- .../registry_credential_set.py | 546 ++++++++++++++ .../costmanagement/anomaly_alert.py | 47 ++ .../dataprotection/backup_vault.py | 61 +- sdk/python/pulumi_azure/eventhub/namespace.py | 14 + sdk/python/pulumi_azure/mssql/__init__.py | 2 + sdk/python/pulumi_azure/mssql/job.py | 333 +++++++++ sdk/python/pulumi_azure/mssql/job_schedule.py | 501 +++++++++++++ .../pulumi_azure/redis/enterprise_cluster.py | 14 +- .../pulumi_azure/servicebus/namespace.py | 14 + sdk/python/pulumi_azure/storage/account.py | 14 + sdk/python/pulumi_azure/storage/container.py | 8 +- 151 files changed, 9981 insertions(+), 1439 deletions(-) create mode 100644 sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsArgs.cs create mode 100644 sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsGetArgs.cs create mode 100644 sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityArgs.cs create mode 100644 sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityGetArgs.cs create mode 100644 sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetAuthenticationCredentials.cs create mode 100644 sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetIdentity.cs create mode 100644 sdk/dotnet/ContainerService/RegistryCredentialSet.cs create mode 100644 sdk/dotnet/MSSql/Job.cs create mode 100644 sdk/dotnet/MSSql/JobSchedule.cs create mode 100644 sdk/go/azure/containerservice/registryCredentialSet.go create mode 100644 sdk/go/azure/mssql/job.go create mode 100644 sdk/go/azure/mssql/jobSchedule.go create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSet.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSetArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetAuthenticationCredentialsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetIdentityArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetState.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetAuthenticationCredentials.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetIdentity.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/Job.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/JobArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/JobSchedule.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/JobScheduleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobScheduleState.java create mode 100644 sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobState.java create mode 100644 sdk/nodejs/containerservice/registryCredentialSet.ts create mode 100644 sdk/nodejs/mssql/job.ts create mode 100644 sdk/nodejs/mssql/jobSchedule.ts create mode 100644 sdk/python/pulumi_azure/containerservice/registry_credential_set.py create mode 100644 sdk/python/pulumi_azure/mssql/job.py create mode 100644 sdk/python/pulumi_azure/mssql/job_schedule.py diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.cs index cb30f47705..a18fc7c3c0 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.cs @@ -39,7 +39,7 @@ public InputList Do public Input? JavaVersion { get; set; } /// - /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. /// [Input("nodeVersion")] public Input? NodeVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackGetArgs.cs index b2efb7e56f..a7b9e3a282 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxFunctionAppSiteConfigApplicationStackGetArgs.cs @@ -39,7 +39,7 @@ public InputList public Input? JavaVersion { get; set; } /// - /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. /// [Input("nodeVersion")] public Input? NodeVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs index e7174214ef..98fd0e14fc 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs @@ -77,7 +77,7 @@ public Input? DockerRegistryPassword /// /// The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// /// > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app /// diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs index df94ad31b5..a9455a27d6 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs @@ -77,7 +77,7 @@ public Input? DockerRegistryPassword /// /// The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// /// > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app /// diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs index 545ed731a3..35a7c4e8e4 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs @@ -77,7 +77,7 @@ public Input? DockerRegistryPassword /// /// The Version of Java to use. Possible values include `8`, `11`, and `17`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// [Input("javaVersion")] public Input? JavaVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs index 79510426fc..d98c6604a6 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs @@ -77,7 +77,7 @@ public Input? DockerRegistryPassword /// /// The Version of Java to use. Possible values include `8`, `11`, and `17`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// [Input("javaVersion")] public Input? JavaVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.cs index 3571d6f53e..0e97162393 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.cs @@ -25,7 +25,7 @@ public sealed class WindowsFunctionAppSiteConfigApplicationStackArgs : global::P public Input? JavaVersion { get; set; } /// - /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. /// [Input("nodeVersion")] public Input? NodeVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackGetArgs.cs index df4e123100..b92fd6b5e0 100644 --- a/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/WindowsFunctionAppSiteConfigApplicationStackGetArgs.cs @@ -25,7 +25,7 @@ public sealed class WindowsFunctionAppSiteConfigApplicationStackGetArgs : global public Input? JavaVersion { get; set; } /// - /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. /// [Input("nodeVersion")] public Input? NodeVersion { get; set; } diff --git a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSiteConfigApplicationStack.cs index 246ddbb786..b046f3a347 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxFunctionAppSiteConfigApplicationStack.cs @@ -28,7 +28,7 @@ public sealed class LinuxFunctionAppSiteConfigApplicationStack /// public readonly string? JavaVersion; /// - /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + /// The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. /// public readonly string? NodeVersion; /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs index 274019d362..bbbb5f4f17 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs @@ -52,7 +52,7 @@ public sealed class LinuxWebAppSiteConfigApplicationStack /// /// The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// /// > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app /// diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs index b1888eaae1..8b2f4bedfb 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs @@ -52,7 +52,7 @@ public sealed class LinuxWebAppSlotSiteConfigApplicationStack /// /// The Version of Java to use. Possible values include `8`, `11`, and `17`. /// - /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + /// > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. /// public readonly string? JavaVersion; /// diff --git a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSiteConfigApplicationStack.cs index d89575dc40..29becfa262 100644 --- a/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/WindowsFunctionAppSiteConfigApplicationStack.cs @@ -22,7 +22,7 @@ public sealed class WindowsFunctionAppSiteConfigApplicationStack /// public readonly string? JavaVersion; /// - /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + /// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. /// public readonly string? NodeVersion; /// diff --git a/sdk/dotnet/ContainerApp/Inputs/AppTemplateArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppTemplateArgs.cs index 6a77466db2..2d4fa168de 100644 --- a/sdk/dotnet/ContainerApp/Inputs/AppTemplateArgs.cs +++ b/sdk/dotnet/ContainerApp/Inputs/AppTemplateArgs.cs @@ -102,6 +102,12 @@ public InputList TcpScaleRules set => _tcpScaleRules = value; } + /// + /// 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; } + [Input("volumes")] private InputList? _volumes; diff --git a/sdk/dotnet/ContainerApp/Inputs/AppTemplateGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppTemplateGetArgs.cs index 9c106a144a..0ae24a965a 100644 --- a/sdk/dotnet/ContainerApp/Inputs/AppTemplateGetArgs.cs +++ b/sdk/dotnet/ContainerApp/Inputs/AppTemplateGetArgs.cs @@ -102,6 +102,12 @@ public InputList TcpScaleRules set => _tcpScaleRules = value; } + /// + /// 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; } + [Input("volumes")] private InputList? _volumes; diff --git a/sdk/dotnet/ContainerApp/Outputs/AppTemplate.cs b/sdk/dotnet/ContainerApp/Outputs/AppTemplate.cs index 4b04bb8503..9cee33b5f9 100644 --- a/sdk/dotnet/ContainerApp/Outputs/AppTemplate.cs +++ b/sdk/dotnet/ContainerApp/Outputs/AppTemplate.cs @@ -50,6 +50,10 @@ public sealed class AppTemplate /// public readonly ImmutableArray TcpScaleRules; /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + public readonly int? TerminationGracePeriodSeconds; + /// /// A `volume` block as detailed below. /// public readonly ImmutableArray Volumes; @@ -74,6 +78,8 @@ private AppTemplate( ImmutableArray tcpScaleRules, + int? terminationGracePeriodSeconds, + ImmutableArray volumes) { AzureQueueScaleRules = azureQueueScaleRules; @@ -85,6 +91,7 @@ private AppTemplate( MinReplicas = minReplicas; RevisionSuffix = revisionSuffix; TcpScaleRules = tcpScaleRules; + TerminationGracePeriodSeconds = terminationGracePeriodSeconds; Volumes = volumes; } } diff --git a/sdk/dotnet/ContainerApp/Outputs/GetAppTemplateResult.cs b/sdk/dotnet/ContainerApp/Outputs/GetAppTemplateResult.cs index b058d378c9..1098898dcd 100644 --- a/sdk/dotnet/ContainerApp/Outputs/GetAppTemplateResult.cs +++ b/sdk/dotnet/ContainerApp/Outputs/GetAppTemplateResult.cs @@ -38,6 +38,10 @@ public sealed class GetAppTemplateResult public readonly string RevisionSuffix; public readonly ImmutableArray TcpScaleRules; /// + /// The time in seconds after the container is sent the termination signal before the process if forcibly killed. + /// + public readonly int TerminationGracePeriodSeconds; + /// /// A `volume` block as detailed below. /// public readonly ImmutableArray Volumes; @@ -62,6 +66,8 @@ private GetAppTemplateResult( ImmutableArray tcpScaleRules, + int terminationGracePeriodSeconds, + ImmutableArray volumes) { AzureQueueScaleRules = azureQueueScaleRules; @@ -73,6 +79,7 @@ private GetAppTemplateResult( MinReplicas = minReplicas; RevisionSuffix = revisionSuffix; TcpScaleRules = tcpScaleRules; + TerminationGracePeriodSeconds = terminationGracePeriodSeconds; Volumes = volumes; } } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigArgs.cs index 0e5762be4f..95ec166765 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigArgs.cs @@ -16,7 +16,7 @@ public sealed class KubernetesClusterNodePoolKubeletConfigArgs : global::Pulumi. private InputList? _allowedUnsafeSysctls; /// - /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). /// public InputList AllowedUnsafeSysctls { @@ -25,55 +25,55 @@ public InputList AllowedUnsafeSysctls } /// - /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. /// [Input("containerLogMaxLine")] public Input? ContainerLogMaxLine { get; set; } /// - /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. /// [Input("containerLogMaxSizeMb")] public Input? ContainerLogMaxSizeMb { get; set; } /// - /// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + /// Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. /// [Input("cpuCfsQuotaEnabled")] public Input? CpuCfsQuotaEnabled { get; set; } /// - /// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + /// Specifies the CPU CFS quota period value. /// [Input("cpuCfsQuotaPeriod")] public Input? CpuCfsQuotaPeriod { get; set; } /// - /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, /// [Input("cpuManagerPolicy")] public Input? CpuManagerPolicy { get; set; } /// - /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. /// [Input("imageGcHighThreshold")] public Input? ImageGcHighThreshold { get; set; } /// - /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. /// [Input("imageGcLowThreshold")] public Input? ImageGcLowThreshold { get; set; } /// - /// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + /// Specifies the maximum number of processes per pod. /// [Input("podMaxPid")] public Input? PodMaxPid { get; set; } /// - /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. /// [Input("topologyManagerPolicy")] public Input? TopologyManagerPolicy { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigGetArgs.cs index 5ba9591429..6cb6e0bf6b 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolKubeletConfigGetArgs.cs @@ -16,7 +16,7 @@ public sealed class KubernetesClusterNodePoolKubeletConfigGetArgs : global::Pulu private InputList? _allowedUnsafeSysctls; /// - /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). /// public InputList AllowedUnsafeSysctls { @@ -25,55 +25,55 @@ public InputList AllowedUnsafeSysctls } /// - /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. /// [Input("containerLogMaxLine")] public Input? ContainerLogMaxLine { get; set; } /// - /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. /// [Input("containerLogMaxSizeMb")] public Input? ContainerLogMaxSizeMb { get; set; } /// - /// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + /// Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. /// [Input("cpuCfsQuotaEnabled")] public Input? CpuCfsQuotaEnabled { get; set; } /// - /// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + /// Specifies the CPU CFS quota period value. /// [Input("cpuCfsQuotaPeriod")] public Input? CpuCfsQuotaPeriod { get; set; } /// - /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, /// [Input("cpuManagerPolicy")] public Input? CpuManagerPolicy { get; set; } /// - /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. /// [Input("imageGcHighThreshold")] public Input? ImageGcHighThreshold { get; set; } /// - /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. /// [Input("imageGcLowThreshold")] public Input? ImageGcLowThreshold { get; set; } /// - /// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + /// Specifies the maximum number of processes per pod. /// [Input("podMaxPid")] public Input? PodMaxPid { get; set; } /// - /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. /// [Input("topologyManagerPolicy")] public Input? TopologyManagerPolicy { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.cs index 64752ba45c..05e4931c7a 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.cs @@ -13,25 +13,25 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterNodePoolLinuxOsConfigArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + /// Specifies the size of swap file on each node in MB. /// [Input("swapFileSizeMb")] public Input? SwapFileSizeMb { get; set; } /// - /// A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + /// A `sysctl_config` block as defined below. /// [Input("sysctlConfig")] public Input? SysctlConfig { get; set; } /// - /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. /// [Input("transparentHugePageDefrag")] public Input? TransparentHugePageDefrag { get; set; } /// - /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. /// [Input("transparentHugePageEnabled")] public Input? TransparentHugePageEnabled { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigGetArgs.cs index f38ede8e8d..81ccb1cc14 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigGetArgs.cs @@ -13,25 +13,25 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterNodePoolLinuxOsConfigGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + /// Specifies the size of swap file on each node in MB. /// [Input("swapFileSizeMb")] public Input? SwapFileSizeMb { get; set; } /// - /// A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + /// A `sysctl_config` block as defined below. /// [Input("sysctlConfig")] public Input? SysctlConfig { get; set; } /// - /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. /// [Input("transparentHugePageDefrag")] public Input? TransparentHugePageDefrag { get; set; } /// - /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. /// [Input("transparentHugePageEnabled")] public Input? TransparentHugePageEnabled { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.cs index 9ae0ae1100..08aa59cffb 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.cs @@ -13,175 +13,175 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs : global::Pulumi.ResourceArgs { /// - /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. /// [Input("fsAioMaxNr")] public Input? FsAioMaxNr { get; set; } /// - /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. /// [Input("fsFileMax")] public Input? FsFileMax { get; set; } /// - /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. /// [Input("fsInotifyMaxUserWatches")] public Input? FsInotifyMaxUserWatches { get; set; } /// - /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. /// [Input("fsNrOpen")] public Input? FsNrOpen { get; set; } /// - /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. /// [Input("kernelThreadsMax")] public Input? KernelThreadsMax { get; set; } /// - /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. /// [Input("netCoreNetdevMaxBacklog")] public Input? NetCoreNetdevMaxBacklog { get; set; } /// - /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. /// [Input("netCoreOptmemMax")] public Input? NetCoreOptmemMax { get; set; } /// - /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. /// [Input("netCoreRmemDefault")] public Input? NetCoreRmemDefault { get; set; } /// - /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. /// [Input("netCoreRmemMax")] public Input? NetCoreRmemMax { get; set; } /// - /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. /// [Input("netCoreSomaxconn")] public Input? NetCoreSomaxconn { get; set; } /// - /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. /// [Input("netCoreWmemDefault")] public Input? NetCoreWmemDefault { get; set; } /// - /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. /// [Input("netCoreWmemMax")] public Input? NetCoreWmemMax { get; set; } /// - /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. /// [Input("netIpv4IpLocalPortRangeMax")] public Input? NetIpv4IpLocalPortRangeMax { get; set; } /// - /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. /// [Input("netIpv4IpLocalPortRangeMin")] public Input? NetIpv4IpLocalPortRangeMin { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. /// [Input("netIpv4NeighDefaultGcThresh1")] public Input? NetIpv4NeighDefaultGcThresh1 { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. /// [Input("netIpv4NeighDefaultGcThresh2")] public Input? NetIpv4NeighDefaultGcThresh2 { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. /// [Input("netIpv4NeighDefaultGcThresh3")] public Input? NetIpv4NeighDefaultGcThresh3 { get; set; } /// - /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. /// [Input("netIpv4TcpFinTimeout")] public Input? NetIpv4TcpFinTimeout { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. /// [Input("netIpv4TcpKeepaliveIntvl")] public Input? NetIpv4TcpKeepaliveIntvl { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. /// [Input("netIpv4TcpKeepaliveProbes")] public Input? NetIpv4TcpKeepaliveProbes { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. /// [Input("netIpv4TcpKeepaliveTime")] public Input? NetIpv4TcpKeepaliveTime { get; set; } /// - /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. /// [Input("netIpv4TcpMaxSynBacklog")] public Input? NetIpv4TcpMaxSynBacklog { get; set; } /// - /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. /// [Input("netIpv4TcpMaxTwBuckets")] public Input? NetIpv4TcpMaxTwBuckets { get; set; } /// - /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? /// [Input("netIpv4TcpTwReuse")] public Input? NetIpv4TcpTwReuse { get; set; } /// - /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. /// [Input("netNetfilterNfConntrackBuckets")] public Input? NetNetfilterNfConntrackBuckets { get; set; } /// - /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. /// [Input("netNetfilterNfConntrackMax")] public Input? NetNetfilterNfConntrackMax { get; set; } /// - /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. /// [Input("vmMaxMapCount")] public Input? VmMaxMapCount { get; set; } /// - /// The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.swappiness. Must be between `0` and `100`. /// [Input("vmSwappiness")] public Input? VmSwappiness { get; set; } /// - /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. /// [Input("vmVfsCachePressure")] public Input? VmVfsCachePressure { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigGetArgs.cs index 6d83dd6d8b..224fa7658f 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigGetArgs.cs @@ -13,175 +13,175 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterNodePoolLinuxOsConfigSysctlConfigGetArgs : global::Pulumi.ResourceArgs { /// - /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. /// [Input("fsAioMaxNr")] public Input? FsAioMaxNr { get; set; } /// - /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. /// [Input("fsFileMax")] public Input? FsFileMax { get; set; } /// - /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. /// [Input("fsInotifyMaxUserWatches")] public Input? FsInotifyMaxUserWatches { get; set; } /// - /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. /// [Input("fsNrOpen")] public Input? FsNrOpen { get; set; } /// - /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. /// [Input("kernelThreadsMax")] public Input? KernelThreadsMax { get; set; } /// - /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. /// [Input("netCoreNetdevMaxBacklog")] public Input? NetCoreNetdevMaxBacklog { get; set; } /// - /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. /// [Input("netCoreOptmemMax")] public Input? NetCoreOptmemMax { get; set; } /// - /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. /// [Input("netCoreRmemDefault")] public Input? NetCoreRmemDefault { get; set; } /// - /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. /// [Input("netCoreRmemMax")] public Input? NetCoreRmemMax { get; set; } /// - /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. /// [Input("netCoreSomaxconn")] public Input? NetCoreSomaxconn { get; set; } /// - /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. /// [Input("netCoreWmemDefault")] public Input? NetCoreWmemDefault { get; set; } /// - /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. /// [Input("netCoreWmemMax")] public Input? NetCoreWmemMax { get; set; } /// - /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. /// [Input("netIpv4IpLocalPortRangeMax")] public Input? NetIpv4IpLocalPortRangeMax { get; set; } /// - /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. /// [Input("netIpv4IpLocalPortRangeMin")] public Input? NetIpv4IpLocalPortRangeMin { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. /// [Input("netIpv4NeighDefaultGcThresh1")] public Input? NetIpv4NeighDefaultGcThresh1 { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. /// [Input("netIpv4NeighDefaultGcThresh2")] public Input? NetIpv4NeighDefaultGcThresh2 { get; set; } /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. /// [Input("netIpv4NeighDefaultGcThresh3")] public Input? NetIpv4NeighDefaultGcThresh3 { get; set; } /// - /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. /// [Input("netIpv4TcpFinTimeout")] public Input? NetIpv4TcpFinTimeout { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. /// [Input("netIpv4TcpKeepaliveIntvl")] public Input? NetIpv4TcpKeepaliveIntvl { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. /// [Input("netIpv4TcpKeepaliveProbes")] public Input? NetIpv4TcpKeepaliveProbes { get; set; } /// - /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. /// [Input("netIpv4TcpKeepaliveTime")] public Input? NetIpv4TcpKeepaliveTime { get; set; } /// - /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. /// [Input("netIpv4TcpMaxSynBacklog")] public Input? NetIpv4TcpMaxSynBacklog { get; set; } /// - /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. /// [Input("netIpv4TcpMaxTwBuckets")] public Input? NetIpv4TcpMaxTwBuckets { get; set; } /// - /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? /// [Input("netIpv4TcpTwReuse")] public Input? NetIpv4TcpTwReuse { get; set; } /// - /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. /// [Input("netNetfilterNfConntrackBuckets")] public Input? NetNetfilterNfConntrackBuckets { get; set; } /// - /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. /// [Input("netNetfilterNfConntrackMax")] public Input? NetNetfilterNfConntrackMax { get; set; } /// - /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. /// [Input("vmMaxMapCount")] public Input? VmMaxMapCount { get; set; } /// - /// The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.swappiness. Must be between `0` and `100`. /// [Input("vmSwappiness")] public Input? VmSwappiness { get; set; } /// - /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. /// [Input("vmVfsCachePressure")] public Input? VmVfsCachePressure { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.cs index 9dadf400ce..65fc11d347 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.cs @@ -25,7 +25,7 @@ public sealed class KubernetesClusterNodePoolUpgradeSettingsArgs : global::Pulum public Input MaxSurge { get; set; } = null!; /// - /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. /// [Input("nodeSoakDurationInMinutes")] public Input? NodeSoakDurationInMinutes { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsGetArgs.cs index 2272d3c37a..ba0224eebc 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNodePoolUpgradeSettingsGetArgs.cs @@ -25,7 +25,7 @@ public sealed class KubernetesClusterNodePoolUpgradeSettingsGetArgs : global::Pu public Input MaxSurge { get; set; } = null!; /// - /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. /// [Input("nodeSoakDurationInMinutes")] public Input? NodeSoakDurationInMinutes { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsArgs.cs b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsArgs.cs new file mode 100644 index 0000000000..f5a91537e1 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsArgs.cs @@ -0,0 +1,34 @@ +// *** 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.ContainerService.Inputs +{ + + public sealed class RegistryCredentialSetAuthenticationCredentialsArgs : global::Pulumi.ResourceArgs + { + /// + /// The URI of the secret containing the password in a Key Vault. + /// + /// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + /// + [Input("passwordSecretId", required: true)] + public Input PasswordSecretId { get; set; } = null!; + + /// + /// The URI of the secret containing the username in a Key Vault. + /// + [Input("usernameSecretId", required: true)] + public Input UsernameSecretId { get; set; } = null!; + + public RegistryCredentialSetAuthenticationCredentialsArgs() + { + } + public static new RegistryCredentialSetAuthenticationCredentialsArgs Empty => new RegistryCredentialSetAuthenticationCredentialsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsGetArgs.cs new file mode 100644 index 0000000000..1cbd60f68e --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetAuthenticationCredentialsGetArgs.cs @@ -0,0 +1,34 @@ +// *** 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.ContainerService.Inputs +{ + + public sealed class RegistryCredentialSetAuthenticationCredentialsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The URI of the secret containing the password in a Key Vault. + /// + /// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + /// + [Input("passwordSecretId", required: true)] + public Input PasswordSecretId { get; set; } = null!; + + /// + /// The URI of the secret containing the username in a Key Vault. + /// + [Input("usernameSecretId", required: true)] + public Input UsernameSecretId { get; set; } = null!; + + public RegistryCredentialSetAuthenticationCredentialsGetArgs() + { + } + public static new RegistryCredentialSetAuthenticationCredentialsGetArgs Empty => new RegistryCredentialSetAuthenticationCredentialsGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityArgs.cs b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityArgs.cs new file mode 100644 index 0000000000..333384e59e --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityArgs.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.ContainerService.Inputs +{ + + public sealed class RegistryCredentialSetIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The principal ID of the Identity. + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// The tenant ID of the Identity. + /// + [Input("tenantId")] + public Input? TenantId { get; set; } + + /// + /// The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public RegistryCredentialSetIdentityArgs() + { + } + public static new RegistryCredentialSetIdentityArgs Empty => new RegistryCredentialSetIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityGetArgs.cs new file mode 100644 index 0000000000..3ed54dd16f --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/RegistryCredentialSetIdentityGetArgs.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.ContainerService.Inputs +{ + + public sealed class RegistryCredentialSetIdentityGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The principal ID of the Identity. + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// The tenant ID of the Identity. + /// + [Input("tenantId")] + public Input? TenantId { get; set; } + + /// + /// The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public RegistryCredentialSetIdentityGetArgs() + { + } + public static new RegistryCredentialSetIdentityGetArgs Empty => new RegistryCredentialSetIdentityGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs b/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs index 2ca3eae166..694aab565a 100644 --- a/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs +++ b/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs @@ -14,6 +14,8 @@ namespace Pulumi.Azure.ContainerService /// /// > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. /// + /// > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`. + /// /// ## Example Usage /// /// This example provisions a basic Kubernetes Node Pool. @@ -98,7 +100,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output EvictionPolicy { get; private set; } = null!; /// - /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). /// @@ -112,7 +114,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output GpuInstance { get; private set; } = null!; /// - /// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** Additional fields must be configured depending on the value of this field - see below. /// @@ -126,7 +128,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output HostGroupId { get; private set; } = null!; /// - /// A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + /// A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Output("kubeletConfig")] public Output KubeletConfig { get; private set; } = null!; @@ -146,7 +148,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output KubernetesClusterId { get; private set; } = null!; /// - /// A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + /// A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Output("linuxOsConfig")] public Output LinuxOsConfig { get; private set; } = null!; @@ -155,7 +157,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output MaxCount { get; private set; } = null!; /// - /// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + /// The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("maxPods")] public Output MaxPods { get; private set; } = null!; @@ -193,7 +195,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output NodeNetworkProfile { get; private set; } = null!; /// - /// Should each node have a Public IP Address? Changing this forces a new resource to be created. + /// Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("nodePublicIpEnabled")] public Output NodePublicIpEnabled { get; private set; } = null!; @@ -219,13 +221,13 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output OrchestratorVersion { get; private set; } = null!; /// - /// The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + /// The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("osDiskSizeGb")] public Output OsDiskSizeGb { get; private set; } = null!; /// - /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("osDiskType")] public Output OsDiskType { get; private set; } = null!; @@ -243,7 +245,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output OsType { get; private set; } = null!; /// - /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("podSubnetId")] public Output PodSubnetId { get; private set; } = null!; @@ -269,7 +271,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output ScaleDownMode { get; private set; } = null!; /// - /// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + /// The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("snapshotId")] public Output SnapshotId { get; private set; } = null!; @@ -291,7 +293,13 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output?> Tags { get; private set; } = null!; /// - /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + /// Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + /// + [Output("temporaryNameForRotation")] + public Output TemporaryNameForRotation { get; private set; } = null!; + + /// + /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("ultraSsdEnabled")] public Output UltraSsdEnabled { get; private set; } = null!; @@ -303,13 +311,13 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output UpgradeSettings { get; private set; } = null!; /// - /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("vmSize")] public Output VmSize { get; private set; } = null!; /// - /// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** A route table must be configured on this Subnet. /// @@ -331,7 +339,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output WorkloadRuntime { get; private set; } = null!; /// - /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. /// [Output("zones")] public Output> Zones { get; private set; } = null!; @@ -403,7 +411,7 @@ public sealed class KubernetesClusterNodePoolArgs : global::Pulumi.ResourceArgs public Input? EvictionPolicy { get; set; } /// - /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). /// @@ -417,7 +425,7 @@ public sealed class KubernetesClusterNodePoolArgs : global::Pulumi.ResourceArgs public Input? GpuInstance { get; set; } /// - /// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** Additional fields must be configured depending on the value of this field - see below. /// @@ -431,7 +439,7 @@ public sealed class KubernetesClusterNodePoolArgs : global::Pulumi.ResourceArgs public Input? HostGroupId { get; set; } /// - /// A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + /// A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Input("kubeletConfig")] public Input? KubeletConfig { get; set; } @@ -451,7 +459,7 @@ public sealed class KubernetesClusterNodePoolArgs : global::Pulumi.ResourceArgs public Input KubernetesClusterId { get; set; } = null!; /// - /// A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + /// A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Input("linuxOsConfig")] public Input? LinuxOsConfig { get; set; } @@ -460,7 +468,7 @@ public sealed class KubernetesClusterNodePoolArgs : global::Pulumi.ResourceArgs public Input? MaxCount { get; set; } /// - /// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + /// The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("maxPods")] public Input? MaxPods { get; set; } @@ -504,7 +512,7 @@ public InputMap NodeLabels public Input? NodeNetworkProfile { get; set; } /// - /// Should each node have a Public IP Address? Changing this forces a new resource to be created. + /// Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("nodePublicIpEnabled")] public Input? NodePublicIpEnabled { get; set; } @@ -536,13 +544,13 @@ public InputList NodeTaints public Input? OrchestratorVersion { get; set; } /// - /// The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + /// The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("osDiskSizeGb")] public Input? OsDiskSizeGb { get; set; } /// - /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("osDiskType")] public Input? OsDiskType { get; set; } @@ -560,7 +568,7 @@ public InputList NodeTaints public Input? OsType { get; set; } /// - /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("podSubnetId")] public Input? PodSubnetId { get; set; } @@ -586,7 +594,7 @@ public InputList NodeTaints public Input? ScaleDownMode { get; set; } /// - /// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + /// The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("snapshotId")] public Input? SnapshotId { get; set; } @@ -614,7 +622,13 @@ public InputMap Tags } /// - /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + /// Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + /// + [Input("temporaryNameForRotation")] + public Input? TemporaryNameForRotation { get; set; } + + /// + /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("ultraSsdEnabled")] public Input? UltraSsdEnabled { get; set; } @@ -626,13 +640,13 @@ public InputMap Tags public Input? UpgradeSettings { get; set; } /// - /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("vmSize", required: true)] public Input VmSize { get; set; } = null!; /// - /// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** A route table must be configured on this Subnet. /// @@ -657,7 +671,7 @@ public InputMap Tags private InputList? _zones; /// - /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. /// public InputList Zones { @@ -694,7 +708,7 @@ public sealed class KubernetesClusterNodePoolState : global::Pulumi.ResourceArgs public Input? EvictionPolicy { get; set; } /// - /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). /// @@ -708,7 +722,7 @@ public sealed class KubernetesClusterNodePoolState : global::Pulumi.ResourceArgs public Input? GpuInstance { get; set; } /// - /// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + /// Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** Additional fields must be configured depending on the value of this field - see below. /// @@ -722,7 +736,7 @@ public sealed class KubernetesClusterNodePoolState : global::Pulumi.ResourceArgs public Input? HostGroupId { get; set; } /// - /// A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + /// A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Input("kubeletConfig")] public Input? KubeletConfig { get; set; } @@ -742,7 +756,7 @@ public sealed class KubernetesClusterNodePoolState : global::Pulumi.ResourceArgs public Input? KubernetesClusterId { get; set; } /// - /// A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + /// A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. /// [Input("linuxOsConfig")] public Input? LinuxOsConfig { get; set; } @@ -751,7 +765,7 @@ public sealed class KubernetesClusterNodePoolState : global::Pulumi.ResourceArgs public Input? MaxCount { get; set; } /// - /// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + /// The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("maxPods")] public Input? MaxPods { get; set; } @@ -795,7 +809,7 @@ public InputMap NodeLabels public Input? NodeNetworkProfile { get; set; } /// - /// Should each node have a Public IP Address? Changing this forces a new resource to be created. + /// Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("nodePublicIpEnabled")] public Input? NodePublicIpEnabled { get; set; } @@ -827,13 +841,13 @@ public InputList NodeTaints public Input? OrchestratorVersion { get; set; } /// - /// The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + /// The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("osDiskSizeGb")] public Input? OsDiskSizeGb { get; set; } /// - /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + /// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("osDiskType")] public Input? OsDiskType { get; set; } @@ -851,7 +865,7 @@ public InputList NodeTaints public Input? OsType { get; set; } /// - /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("podSubnetId")] public Input? PodSubnetId { get; set; } @@ -877,7 +891,7 @@ public InputList NodeTaints public Input? ScaleDownMode { get; set; } /// - /// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + /// The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("snapshotId")] public Input? SnapshotId { get; set; } @@ -905,7 +919,13 @@ public InputMap Tags } /// - /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + /// Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + /// + [Input("temporaryNameForRotation")] + public Input? TemporaryNameForRotation { get; set; } + + /// + /// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("ultraSsdEnabled")] public Input? UltraSsdEnabled { get; set; } @@ -917,13 +937,13 @@ public InputMap Tags public Input? UpgradeSettings { get; set; } /// - /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + /// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. /// [Input("vmSize")] public Input? VmSize { get; set; } /// - /// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + /// The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. /// /// > **NOTE:** A route table must be configured on this Subnet. /// @@ -948,7 +968,7 @@ public InputMap Tags private InputList? _zones; /// - /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + /// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. /// public InputList Zones { diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolKubeletConfig.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolKubeletConfig.cs index 746a1db0d8..3ea920a30f 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolKubeletConfig.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolKubeletConfig.cs @@ -14,43 +14,43 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class KubernetesClusterNodePoolKubeletConfig { /// - /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + /// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). /// public readonly ImmutableArray AllowedUnsafeSysctls; /// - /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + /// Specifies the maximum number of container log files that can be present for a container. must be at least 2. /// public readonly int? ContainerLogMaxLine; /// - /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + /// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. /// public readonly int? ContainerLogMaxSizeMb; /// - /// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + /// Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. /// public readonly bool? CpuCfsQuotaEnabled; /// - /// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + /// Specifies the CPU CFS quota period value. /// public readonly string? CpuCfsQuotaPeriod; /// - /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + /// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, /// public readonly string? CpuManagerPolicy; /// - /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. /// public readonly int? ImageGcHighThreshold; /// - /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. /// public readonly int? ImageGcLowThreshold; /// - /// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + /// Specifies the maximum number of processes per pod. /// public readonly int? PodMaxPid; /// - /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + /// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. /// public readonly string? TopologyManagerPolicy; diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfig.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfig.cs index c63b462157..9538ee2481 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfig.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfig.cs @@ -14,19 +14,19 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class KubernetesClusterNodePoolLinuxOsConfig { /// - /// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + /// Specifies the size of swap file on each node in MB. /// public readonly int? SwapFileSizeMb; /// - /// A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + /// A `sysctl_config` block as defined below. /// public readonly Outputs.KubernetesClusterNodePoolLinuxOsConfigSysctlConfig? SysctlConfig; /// - /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + /// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. /// public readonly string? TransparentHugePageDefrag; /// - /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + /// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. /// public readonly string? TransparentHugePageEnabled; diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.cs index 2b2afde33c..4ead31c79e 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.cs @@ -14,119 +14,119 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { /// - /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. /// public readonly int? FsAioMaxNr; /// - /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. /// public readonly int? FsFileMax; /// - /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. /// public readonly int? FsInotifyMaxUserWatches; /// - /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + /// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. /// public readonly int? FsNrOpen; /// - /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + /// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. /// public readonly int? KernelThreadsMax; /// - /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. /// public readonly int? NetCoreNetdevMaxBacklog; /// - /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. /// public readonly int? NetCoreOptmemMax; /// - /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. /// public readonly int? NetCoreRmemDefault; /// - /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. /// public readonly int? NetCoreRmemMax; /// - /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. /// public readonly int? NetCoreSomaxconn; /// - /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. /// public readonly int? NetCoreWmemDefault; /// - /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + /// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. /// public readonly int? NetCoreWmemMax; /// - /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. /// public readonly int? NetIpv4IpLocalPortRangeMax; /// - /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. /// public readonly int? NetIpv4IpLocalPortRangeMin; /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. /// public readonly int? NetIpv4NeighDefaultGcThresh1; /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. /// public readonly int? NetIpv4NeighDefaultGcThresh2; /// - /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. /// public readonly int? NetIpv4NeighDefaultGcThresh3; /// - /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. /// public readonly int? NetIpv4TcpFinTimeout; /// - /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. /// public readonly int? NetIpv4TcpKeepaliveIntvl; /// - /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. /// public readonly int? NetIpv4TcpKeepaliveProbes; /// - /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. /// public readonly int? NetIpv4TcpKeepaliveTime; /// - /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. /// public readonly int? NetIpv4TcpMaxSynBacklog; /// - /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + /// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. /// public readonly int? NetIpv4TcpMaxTwBuckets; /// - /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + /// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? /// public readonly bool? NetIpv4TcpTwReuse; /// - /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. /// public readonly int? NetNetfilterNfConntrackBuckets; /// - /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + /// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. /// public readonly int? NetNetfilterNfConntrackMax; /// - /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + /// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. /// public readonly int? VmMaxMapCount; /// - /// The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.swappiness. Must be between `0` and `100`. /// public readonly int? VmSwappiness; /// - /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + /// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. /// public readonly int? VmVfsCachePressure; diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolUpgradeSettings.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolUpgradeSettings.cs index 685726fec3..c459bcafae 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolUpgradeSettings.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNodePoolUpgradeSettings.cs @@ -22,7 +22,7 @@ public sealed class KubernetesClusterNodePoolUpgradeSettings /// public readonly string MaxSurge; /// - /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + /// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. /// public readonly int? NodeSoakDurationInMinutes; diff --git a/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetAuthenticationCredentials.cs b/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetAuthenticationCredentials.cs new file mode 100644 index 0000000000..7a2828d140 --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetAuthenticationCredentials.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Azure.ContainerService.Outputs +{ + + [OutputType] + public sealed class RegistryCredentialSetAuthenticationCredentials + { + /// + /// The URI of the secret containing the password in a Key Vault. + /// + /// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + /// + public readonly string PasswordSecretId; + /// + /// The URI of the secret containing the username in a Key Vault. + /// + public readonly string UsernameSecretId; + + [OutputConstructor] + private RegistryCredentialSetAuthenticationCredentials( + string passwordSecretId, + + string usernameSecretId) + { + PasswordSecretId = passwordSecretId; + UsernameSecretId = usernameSecretId; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetIdentity.cs b/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetIdentity.cs new file mode 100644 index 0000000000..1d88b868e8 --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/RegistryCredentialSetIdentity.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class RegistryCredentialSetIdentity + { + /// + /// The principal ID of the Identity. + /// + public readonly string? PrincipalId; + /// + /// The tenant ID of the Identity. + /// + public readonly string? TenantId; + /// + /// The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + /// + public readonly string Type; + + [OutputConstructor] + private RegistryCredentialSetIdentity( + string? principalId, + + string? tenantId, + + string type) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/RegistryCredentialSet.cs b/sdk/dotnet/ContainerService/RegistryCredentialSet.cs new file mode 100644 index 0000000000..f1c6c9f16c --- /dev/null +++ b/sdk/dotnet/ContainerService/RegistryCredentialSet.cs @@ -0,0 +1,321 @@ +// *** 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.ContainerService +{ + /// + /// Manages a Container Registry Credential Set. + /// + /// ## Example Usage + /// + /// ### Minimal) + /// + /// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + /// + /// ```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 exampleRegistry = new Azure.ContainerService.Registry("example", new() + /// { + /// Name = "exampleContainerRegistry", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// Sku = "Basic", + /// }); + /// + /// var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet("example", new() + /// { + /// Name = "exampleCredentialSet", + /// ContainerRegistryId = "azurerm_container_registry.example.id", + /// LoginServer = "docker.io", + /// Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs + /// { + /// Type = "SystemAssigned", + /// }, + /// AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs + /// { + /// UsernameSecretId = "https://example-keyvault.vault.azure.net/secrets/example-user-name", + /// PasswordSecretId = "https://example-keyvault.vault.azure.net/secrets/example-user-password", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### Full) + /// + /// This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. + /// + /// ```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 current = Azure.Core.GetClientConfig.Invoke(); + /// + /// var exampleKeyVault = new Azure.KeyVault.KeyVault("example", new() + /// { + /// Name = "examplekeyvault", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId), + /// SkuName = "standard", + /// SoftDeleteRetentionDays = 7, + /// AccessPolicies = new[] + /// { + /// new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs + /// { + /// TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId), + /// ObjectId = current.Apply(getClientConfigResult => getClientConfigResult.ObjectId), + /// CertificatePermissions = new() { }, + /// KeyPermissions = new() { }, + /// SecretPermissions = new[] + /// { + /// "Get", + /// "Set", + /// "Delete", + /// "Purge", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleUser = new Azure.KeyVault.Secret("example_user", new() + /// { + /// KeyVaultId = exampleKeyVault.Id, + /// Name = "example-user-name", + /// Value = "name", + /// }); + /// + /// var examplePassword = new Azure.KeyVault.Secret("example_password", new() + /// { + /// KeyVaultId = exampleKeyVault.Id, + /// Name = "example-user-password", + /// Value = "password", + /// }); + /// + /// var exampleRegistry = new Azure.ContainerService.Registry("example", new() + /// { + /// Name = "exampleContainerRegistry", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// Sku = "Basic", + /// }); + /// + /// var exampleRegistryCredentialSet = new Azure.ContainerService.RegistryCredentialSet("example", new() + /// { + /// Name = "exampleCredentialSet", + /// ContainerRegistryId = "azurerm_container_registry.example.id", + /// LoginServer = "docker.io", + /// Identity = new Azure.ContainerService.Inputs.RegistryCredentialSetIdentityArgs + /// { + /// Type = "SystemAssigned", + /// }, + /// AuthenticationCredentials = new Azure.ContainerService.Inputs.RegistryCredentialSetAuthenticationCredentialsArgs + /// { + /// UsernameSecretId = exampleUser.VersionlessId, + /// PasswordSecretId = examplePassword.VersionlessId, + /// }, + /// }); + /// + /// var readSecrets = new Azure.KeyVault.AccessPolicy("read_secrets", new() + /// { + /// KeyVaultId = exampleKeyVault.Id, + /// TenantId = exampleRegistryCredentialSet.Identity.Apply(identity => identity.TenantId), + /// ObjectId = exampleRegistryCredentialSet.Identity.Apply(identity => identity.PrincipalId), + /// SecretPermissions = new[] + /// { + /// "Get", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Container Registry Credential Sets can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 + /// ``` + /// + [AzureResourceType("azure:containerservice/registryCredentialSet:RegistryCredentialSet")] + public partial class RegistryCredentialSet : global::Pulumi.CustomResource + { + /// + /// A `authentication_credentials` block as defined below. + /// + [Output("authenticationCredentials")] + public Output AuthenticationCredentials { get; private set; } = null!; + + /// + /// The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + /// + [Output("containerRegistryId")] + public Output ContainerRegistryId { get; private set; } = null!; + + /// + /// An `identity` block as defined below. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Output("loginServer")] + public Output LoginServer { get; private set; } = null!; + + /// + /// The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a RegistryCredentialSet 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 RegistryCredentialSet(string name, RegistryCredentialSetArgs args, CustomResourceOptions? options = null) + : base("azure:containerservice/registryCredentialSet:RegistryCredentialSet", name, args ?? new RegistryCredentialSetArgs(), MakeResourceOptions(options, "")) + { + } + + private RegistryCredentialSet(string name, Input id, RegistryCredentialSetState? state = null, CustomResourceOptions? options = null) + : base("azure:containerservice/registryCredentialSet:RegistryCredentialSet", 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 RegistryCredentialSet 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 RegistryCredentialSet Get(string name, Input id, RegistryCredentialSetState? state = null, CustomResourceOptions? options = null) + { + return new RegistryCredentialSet(name, id, state, options); + } + } + + public sealed class RegistryCredentialSetArgs : global::Pulumi.ResourceArgs + { + /// + /// A `authentication_credentials` block as defined below. + /// + [Input("authenticationCredentials", required: true)] + public Input AuthenticationCredentials { get; set; } = null!; + + /// + /// The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("containerRegistryId", required: true)] + public Input ContainerRegistryId { get; set; } = null!; + + /// + /// An `identity` block as defined below. + /// + [Input("identity", required: true)] + public Input Identity { get; set; } = null!; + + /// + /// The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("loginServer", required: true)] + public Input LoginServer { get; set; } = null!; + + /// + /// The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + public RegistryCredentialSetArgs() + { + } + public static new RegistryCredentialSetArgs Empty => new RegistryCredentialSetArgs(); + } + + public sealed class RegistryCredentialSetState : global::Pulumi.ResourceArgs + { + /// + /// A `authentication_credentials` block as defined below. + /// + [Input("authenticationCredentials")] + public Input? AuthenticationCredentials { get; set; } + + /// + /// The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("containerRegistryId")] + public Input? ContainerRegistryId { get; set; } + + /// + /// An `identity` block as defined below. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("loginServer")] + public Input? LoginServer { get; set; } + + /// + /// The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + public RegistryCredentialSetState() + { + } + public static new RegistryCredentialSetState Empty => new RegistryCredentialSetState(); + } +} diff --git a/sdk/dotnet/CostManagement/AnomalyAlert.cs b/sdk/dotnet/CostManagement/AnomalyAlert.cs index e27ca90323..4e5323af9b 100644 --- a/sdk/dotnet/CostManagement/AnomalyAlert.cs +++ b/sdk/dotnet/CostManagement/AnomalyAlert.cs @@ -80,6 +80,12 @@ public partial class AnomalyAlert : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The email address of the point of contact that should get the unsubscribe requests and notification emails. + /// + [Output("notificationEmail")] + public Output NotificationEmail { get; private set; } = null!; + /// /// The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. /// @@ -168,6 +174,12 @@ public InputList EmailAddresses [Input("name")] public Input? Name { get; set; } + /// + /// The email address of the point of contact that should get the unsubscribe requests and notification emails. + /// + [Input("notificationEmail")] + public Input? NotificationEmail { get; set; } + /// /// The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. /// @@ -218,6 +230,12 @@ public InputList EmailAddresses [Input("name")] public Input? Name { get; set; } + /// + /// The email address of the point of contact that should get the unsubscribe requests and notification emails. + /// + [Input("notificationEmail")] + public Input? NotificationEmail { get; set; } + /// /// The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. /// diff --git a/sdk/dotnet/DataProtection/BackupVault.cs b/sdk/dotnet/DataProtection/BackupVault.cs index e399126176..79556c172a 100644 --- a/sdk/dotnet/DataProtection/BackupVault.cs +++ b/sdk/dotnet/DataProtection/BackupVault.cs @@ -73,6 +73,12 @@ public partial class BackupVault : global::Pulumi.CustomResource [Output("identity")] public Output Identity { get; private set; } = null!; + /// + /// The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + /// + [Output("immutability")] + public Output Immutability { get; private set; } = null!; + /// /// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. /// @@ -106,7 +112,7 @@ public partial class BackupVault : global::Pulumi.CustomResource public Output RetentionDurationInDays { get; private set; } = null!; /// - /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. /// /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. /// @@ -187,6 +193,12 @@ public sealed class BackupVaultArgs : global::Pulumi.ResourceArgs [Input("identity")] public Input? Identity { get; set; } + /// + /// The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + /// + [Input("immutability")] + public Input? Immutability { get; set; } + /// /// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. /// @@ -220,7 +232,7 @@ public sealed class BackupVaultArgs : global::Pulumi.ResourceArgs public Input? RetentionDurationInDays { get; set; } /// - /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. /// /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. /// @@ -269,6 +281,12 @@ public sealed class BackupVaultState : global::Pulumi.ResourceArgs [Input("identity")] public Input? Identity { get; set; } + /// + /// The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + /// + [Input("immutability")] + public Input? Immutability { get; set; } + /// /// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. /// @@ -302,7 +320,7 @@ public sealed class BackupVaultState : global::Pulumi.ResourceArgs public Input? RetentionDurationInDays { get; set; } /// - /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. /// /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. /// diff --git a/sdk/dotnet/EventHub/Namespace.cs b/sdk/dotnet/EventHub/Namespace.cs index 1c383ea540..79f14fca9f 100644 --- a/sdk/dotnet/EventHub/Namespace.cs +++ b/sdk/dotnet/EventHub/Namespace.cs @@ -117,6 +117,8 @@ public partial class Namespace : global::Pulumi.CustomResource /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Output("minimumTlsVersion")] public Output MinimumTlsVersion { get; private set; } = null!; @@ -251,6 +253,8 @@ public sealed class NamespaceArgs : global::Pulumi.ResourceArgs /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Input("minimumTlsVersion")] public Input? MinimumTlsVersion { get; set; } @@ -416,6 +420,8 @@ public Input? DefaultSecondaryKey /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Input("minimumTlsVersion")] public Input? MinimumTlsVersion { get; set; } diff --git a/sdk/dotnet/MSSql/Job.cs b/sdk/dotnet/MSSql/Job.cs new file mode 100644 index 0000000000..ae6c28a179 --- /dev/null +++ b/sdk/dotnet/MSSql/Job.cs @@ -0,0 +1,198 @@ +// *** 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.MSSql +{ + /// + /// Manages an Elastic 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-resource-group", + /// Location = "East US", + /// }); + /// + /// var exampleServer = new Azure.MSSql.Server("example", new() + /// { + /// Name = "example-server", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// Version = "12.0", + /// AdministratorLogin = "4dm1n157r470r", + /// AdministratorLoginPassword = "4-v3ry-53cr37-p455w0rd", + /// }); + /// + /// var exampleDatabase = new Azure.MSSql.Database("example", new() + /// { + /// Name = "example-db", + /// ServerId = exampleServer.Id, + /// Collation = "SQL_Latin1_General_CP1_CI_AS", + /// SkuName = "S1", + /// }); + /// + /// var exampleJobAgent = new Azure.MSSql.JobAgent("example", new() + /// { + /// Name = "example-job-agent", + /// Location = example.Location, + /// DatabaseId = exampleDatabase.Id, + /// }); + /// + /// var exampleJobCredential = new Azure.MSSql.JobCredential("example", new() + /// { + /// Name = "example-job-credential", + /// JobAgentId = exampleJobAgent.Id, + /// Username = "my-username", + /// Password = "MyP4ssw0rd!!!", + /// }); + /// + /// var exampleJob = new Azure.MSSql.Job("example", new() + /// { + /// Name = "example-job", + /// JobAgentId = exampleJobAgent.Id, + /// Description = "example description", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Elastic Jobs can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + /// ``` + /// + [AzureResourceType("azure:mssql/job:Job")] + public partial class Job : global::Pulumi.CustomResource + { + /// + /// The description of the Elastic Job. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + /// + [Output("jobAgentId")] + public Output JobAgentId { get; private set; } = null!; + + /// + /// The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + /// + [Output("name")] + public Output Name { 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:mssql/job:Job", name, args ?? new JobArgs(), MakeResourceOptions(options, "")) + { + } + + private Job(string name, Input id, JobState? state = null, CustomResourceOptions? options = null) + : base("azure:mssql/job:Job", 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 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 description of the Elastic Job. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + /// + [Input("jobAgentId", required: true)] + public Input JobAgentId { get; set; } = null!; + + /// + /// The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + public JobArgs() + { + } + public static new JobArgs Empty => new JobArgs(); + } + + public sealed class JobState : global::Pulumi.ResourceArgs + { + /// + /// The description of the Elastic Job. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + /// + [Input("jobAgentId")] + public Input? JobAgentId { get; set; } + + /// + /// The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + public JobState() + { + } + public static new JobState Empty => new JobState(); + } +} diff --git a/sdk/dotnet/MSSql/JobSchedule.cs b/sdk/dotnet/MSSql/JobSchedule.cs new file mode 100644 index 0000000000..e6325d63b6 --- /dev/null +++ b/sdk/dotnet/MSSql/JobSchedule.cs @@ -0,0 +1,267 @@ +// *** 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.MSSql +{ + /// + /// Manages an Elastic Job Schedule. + /// + /// ## 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-resource-group", + /// Location = "East US", + /// }); + /// + /// var exampleServer = new Azure.MSSql.Server("example", new() + /// { + /// Name = "example-server", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// Version = "12.0", + /// AdministratorLogin = "4dm1n157r470r", + /// AdministratorLoginPassword = "4-v3ry-53cr37-p455w0rd", + /// }); + /// + /// var exampleDatabase = new Azure.MSSql.Database("example", new() + /// { + /// Name = "example-db", + /// ServerId = exampleServer.Id, + /// Collation = "SQL_Latin1_General_CP1_CI_AS", + /// SkuName = "S1", + /// }); + /// + /// var exampleJobAgent = new Azure.MSSql.JobAgent("example", new() + /// { + /// Name = "example-job-agent", + /// Location = example.Location, + /// DatabaseId = exampleDatabase.Id, + /// }); + /// + /// var exampleJobCredential = new Azure.MSSql.JobCredential("example", new() + /// { + /// Name = "example-job-credential", + /// JobAgentId = exampleJobAgent.Id, + /// Username = "my-username", + /// Password = "MyP4ssw0rd!!!", + /// }); + /// + /// var exampleJob = new Azure.MSSql.Job("example", new() + /// { + /// Name = "example-job", + /// JobAgentId = exampleJobAgent.Id, + /// }); + /// + /// var exampleJobSchedule = new Azure.MSSql.JobSchedule("example", new() + /// { + /// JobId = exampleJob.Id, + /// Type = "Recurring", + /// Enabled = true, + /// EndTime = "2025-12-01T00:00:00Z", + /// Interval = "PT5M", + /// StartTime = "2025-01-01T00:00:00Z", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Elastic Job Schedules can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + /// ``` + /// + [AzureResourceType("azure:mssql/jobSchedule:JobSchedule")] + public partial class JobSchedule : global::Pulumi.CustomResource + { + /// + /// Should the Elastic Job Schedule be enabled? Defaults to `false`. + /// + /// > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + /// + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// The end time of the schedule. Must be in RFC3339 format. + /// + [Output("endTime")] + public Output EndTime { get; private set; } = null!; + + /// + /// The interval between job executions. Must be in ISO8601 duration format. + /// + [Output("interval")] + public Output Interval { get; private set; } = null!; + + /// + /// The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + /// + [Output("jobId")] + public Output JobId { get; private set; } = null!; + + /// + /// The start time of the schedule. Must be in RFC3339 format. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + + /// + /// The type of schedule. Possible values are `Once` and `Recurring`. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a JobSchedule 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 JobSchedule(string name, JobScheduleArgs args, CustomResourceOptions? options = null) + : base("azure:mssql/jobSchedule:JobSchedule", name, args ?? new JobScheduleArgs(), MakeResourceOptions(options, "")) + { + } + + private JobSchedule(string name, Input id, JobScheduleState? state = null, CustomResourceOptions? options = null) + : base("azure:mssql/jobSchedule:JobSchedule", 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 JobSchedule 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 JobSchedule Get(string name, Input id, JobScheduleState? state = null, CustomResourceOptions? options = null) + { + return new JobSchedule(name, id, state, options); + } + } + + public sealed class JobScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// Should the Elastic Job Schedule be enabled? Defaults to `false`. + /// + /// > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The end time of the schedule. Must be in RFC3339 format. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + /// + /// The interval between job executions. Must be in ISO8601 duration format. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + /// + [Input("jobId", required: true)] + public Input JobId { get; set; } = null!; + + /// + /// The start time of the schedule. Must be in RFC3339 format. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// The type of schedule. Possible values are `Once` and `Recurring`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public JobScheduleArgs() + { + } + public static new JobScheduleArgs Empty => new JobScheduleArgs(); + } + + public sealed class JobScheduleState : global::Pulumi.ResourceArgs + { + /// + /// Should the Elastic Job Schedule be enabled? Defaults to `false`. + /// + /// > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The end time of the schedule. Must be in RFC3339 format. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + /// + /// The interval between job executions. Must be in ISO8601 duration format. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + /// + [Input("jobId")] + public Input? JobId { get; set; } + + /// + /// The start time of the schedule. Must be in RFC3339 format. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// The type of schedule. Possible values are `Once` and `Recurring`. + /// + [Input("type")] + public Input? Type { get; set; } + + public JobScheduleState() + { + } + public static new JobScheduleState Empty => new JobScheduleState(); + } +} diff --git a/sdk/dotnet/Redis/EnterpriseCluster.cs b/sdk/dotnet/Redis/EnterpriseCluster.cs index a0ea3e6bc2..0975b48a6c 100644 --- a/sdk/dotnet/Redis/EnterpriseCluster.cs +++ b/sdk/dotnet/Redis/EnterpriseCluster.cs @@ -83,7 +83,7 @@ public partial class EnterpriseCluster : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. /// [Output("skuName")] public Output SkuName { get; private set; } = null!; @@ -173,7 +173,7 @@ public sealed class EnterpriseClusterArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. /// [Input("skuName", required: true)] public Input SkuName { get; set; } = null!; @@ -243,7 +243,7 @@ public sealed class EnterpriseClusterState : global::Pulumi.ResourceArgs public Input? ResourceGroupName { get; set; } /// - /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + /// The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. /// [Input("skuName")] public Input? SkuName { get; set; } diff --git a/sdk/dotnet/ServiceBus/Namespace.cs b/sdk/dotnet/ServiceBus/Namespace.cs index 9cc8dc7fa6..c568df1e8d 100644 --- a/sdk/dotnet/ServiceBus/Namespace.cs +++ b/sdk/dotnet/ServiceBus/Namespace.cs @@ -116,6 +116,8 @@ public partial class Namespace : global::Pulumi.CustomResource /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Output("minimumTlsVersion")] public Output MinimumTlsVersion { get; private set; } = null!; @@ -254,6 +256,8 @@ public sealed class NamespaceArgs : global::Pulumi.ResourceArgs /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Input("minimumTlsVersion")] public Input? MinimumTlsVersion { get; set; } @@ -419,6 +423,8 @@ public Input? DefaultSecondaryKey /// /// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. /// [Input("minimumTlsVersion")] public Input? MinimumTlsVersion { get; set; } diff --git a/sdk/dotnet/Storage/Account.cs b/sdk/dotnet/Storage/Account.cs index f3ecd93566..6686b5c9f5 100644 --- a/sdk/dotnet/Storage/Account.cs +++ b/sdk/dotnet/Storage/Account.cs @@ -277,6 +277,8 @@ public partial class Account : global::Pulumi.CustomResource /// /// The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + /// /// > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. /// [Output("minTlsVersion")] @@ -1021,6 +1023,8 @@ public sealed class AccountArgs : global::Pulumi.ResourceArgs /// /// The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + /// /// > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. /// [Input("minTlsVersion")] @@ -1292,6 +1296,8 @@ public sealed class AccountState : global::Pulumi.ResourceArgs /// /// The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. /// + /// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + /// /// > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. /// [Input("minTlsVersion")] diff --git a/sdk/dotnet/Storage/Container.cs b/sdk/dotnet/Storage/Container.cs index 3abe4e1b70..3407022a3f 100644 --- a/sdk/dotnet/Storage/Container.cs +++ b/sdk/dotnet/Storage/Container.cs @@ -53,10 +53,10 @@ namespace Pulumi.Azure.Storage /// /// ## Import /// - /// Storage Containers can be imported using the `resource id`, e.g. + /// Storage Containers can be imported using the `resource manager id`, e.g. /// /// ```sh - /// $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container + /// $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer /// ``` /// [AzureResourceType("azure:storage/container:Container")] diff --git a/sdk/go/azure/appservice/pulumiTypes.go b/sdk/go/azure/appservice/pulumiTypes.go index 526308e705..14a630f4bd 100644 --- a/sdk/go/azure/appservice/pulumiTypes.go +++ b/sdk/go/azure/appservice/pulumiTypes.go @@ -18801,7 +18801,7 @@ type LinuxFunctionAppSiteConfigApplicationStack struct { // // > **NOTE:** The value `21` is currently in Preview for `javaVersion`. JavaVersion *string `pulumi:"javaVersion"` - // The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + // The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. NodeVersion *string `pulumi:"nodeVersion"` // The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. PowershellCoreVersion *string `pulumi:"powershellCoreVersion"` @@ -18833,7 +18833,7 @@ type LinuxFunctionAppSiteConfigApplicationStackArgs struct { // // > **NOTE:** The value `21` is currently in Preview for `javaVersion`. JavaVersion pulumi.StringPtrInput `pulumi:"javaVersion"` - // The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + // The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. NodeVersion pulumi.StringPtrInput `pulumi:"nodeVersion"` // The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. PowershellCoreVersion pulumi.StringPtrInput `pulumi:"powershellCoreVersion"` @@ -18941,7 +18941,7 @@ func (o LinuxFunctionAppSiteConfigApplicationStackOutput) JavaVersion() pulumi.S return o.ApplyT(func(v LinuxFunctionAppSiteConfigApplicationStack) *string { return v.JavaVersion }).(pulumi.StringPtrOutput) } -// The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. +// The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. func (o LinuxFunctionAppSiteConfigApplicationStackOutput) NodeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxFunctionAppSiteConfigApplicationStack) *string { return v.NodeVersion }).(pulumi.StringPtrOutput) } @@ -19022,7 +19022,7 @@ func (o LinuxFunctionAppSiteConfigApplicationStackPtrOutput) JavaVersion() pulum }).(pulumi.StringPtrOutput) } -// The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. +// The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. func (o LinuxFunctionAppSiteConfigApplicationStackPtrOutput) NodeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxFunctionAppSiteConfigApplicationStack) *string { if v == nil { @@ -34996,7 +34996,7 @@ type LinuxWebAppSiteConfigApplicationStack struct { JavaServerVersion *string `pulumi:"javaServerVersion"` // The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. // - // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. // // > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app JavaVersion *string `pulumi:"javaVersion"` @@ -35048,7 +35048,7 @@ type LinuxWebAppSiteConfigApplicationStackArgs struct { JavaServerVersion pulumi.StringPtrInput `pulumi:"javaServerVersion"` // The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. // - // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. // // > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app JavaVersion pulumi.StringPtrInput `pulumi:"javaVersion"` @@ -35189,7 +35189,7 @@ func (o LinuxWebAppSiteConfigApplicationStackOutput) JavaServerVersion() pulumi. // The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. // -// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. +// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. // // > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app func (o LinuxWebAppSiteConfigApplicationStackOutput) JavaVersion() pulumi.StringPtrOutput { @@ -35330,7 +35330,7 @@ func (o LinuxWebAppSiteConfigApplicationStackPtrOutput) JavaServerVersion() pulu // The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. // -// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. +// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. // // > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app func (o LinuxWebAppSiteConfigApplicationStackPtrOutput) JavaVersion() pulumi.StringPtrOutput { @@ -44339,7 +44339,7 @@ type LinuxWebAppSlotSiteConfigApplicationStack struct { JavaServerVersion *string `pulumi:"javaServerVersion"` // The Version of Java to use. Possible values include `8`, `11`, and `17`. // - // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. JavaVersion *string `pulumi:"javaVersion"` // The version of Node to run. Possible values are `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `javaVersion`. // @@ -44389,7 +44389,7 @@ type LinuxWebAppSlotSiteConfigApplicationStackArgs struct { JavaServerVersion pulumi.StringPtrInput `pulumi:"javaServerVersion"` // The Version of Java to use. Possible values include `8`, `11`, and `17`. // - // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + // > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. JavaVersion pulumi.StringPtrInput `pulumi:"javaVersion"` // The version of Node to run. Possible values are `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `javaVersion`. // @@ -44528,7 +44528,7 @@ func (o LinuxWebAppSlotSiteConfigApplicationStackOutput) JavaServerVersion() pul // The Version of Java to use. Possible values include `8`, `11`, and `17`. // -// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. +// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. func (o LinuxWebAppSlotSiteConfigApplicationStackOutput) JavaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxWebAppSlotSiteConfigApplicationStack) *string { return v.JavaVersion }).(pulumi.StringPtrOutput) } @@ -44667,7 +44667,7 @@ func (o LinuxWebAppSlotSiteConfigApplicationStackPtrOutput) JavaServerVersion() // The Version of Java to use. Possible values include `8`, `11`, and `17`. // -// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. +// > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. func (o LinuxWebAppSlotSiteConfigApplicationStackPtrOutput) JavaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxWebAppSlotSiteConfigApplicationStack) *string { if v == nil { @@ -59595,7 +59595,7 @@ type WindowsFunctionAppSiteConfigApplicationStack struct { DotnetVersion *string `pulumi:"dotnetVersion"` // The Version of Java to use. Supported versions include `1.8`, `11`, `17`, `21` (In-Preview). JavaVersion *string `pulumi:"javaVersion"` - // The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + // The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. NodeVersion *string `pulumi:"nodeVersion"` // The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. // @@ -59623,7 +59623,7 @@ type WindowsFunctionAppSiteConfigApplicationStackArgs struct { DotnetVersion pulumi.StringPtrInput `pulumi:"dotnetVersion"` // The Version of Java to use. Supported versions include `1.8`, `11`, `17`, `21` (In-Preview). JavaVersion pulumi.StringPtrInput `pulumi:"javaVersion"` - // The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + // The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. NodeVersion pulumi.StringPtrInput `pulumi:"nodeVersion"` // The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. // @@ -59722,7 +59722,7 @@ func (o WindowsFunctionAppSiteConfigApplicationStackOutput) JavaVersion() pulumi return o.ApplyT(func(v WindowsFunctionAppSiteConfigApplicationStack) *string { return v.JavaVersion }).(pulumi.StringPtrOutput) } -// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. +// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. func (o WindowsFunctionAppSiteConfigApplicationStackOutput) NodeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v WindowsFunctionAppSiteConfigApplicationStack) *string { return v.NodeVersion }).(pulumi.StringPtrOutput) } @@ -59788,7 +59788,7 @@ func (o WindowsFunctionAppSiteConfigApplicationStackPtrOutput) JavaVersion() pul }).(pulumi.StringPtrOutput) } -// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. +// The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. func (o WindowsFunctionAppSiteConfigApplicationStackPtrOutput) NodeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsFunctionAppSiteConfigApplicationStack) *string { if v == nil { diff --git a/sdk/go/azure/containerapp/pulumiTypes.go b/sdk/go/azure/containerapp/pulumiTypes.go index 592e8bf18a..c618bfe1bb 100644 --- a/sdk/go/azure/containerapp/pulumiTypes.go +++ b/sdk/go/azure/containerapp/pulumiTypes.go @@ -1357,6 +1357,8 @@ type AppTemplate struct { RevisionSuffix *string `pulumi:"revisionSuffix"` // One or more `tcpScaleRule` blocks as defined below. TcpScaleRules []AppTemplateTcpScaleRule `pulumi:"tcpScaleRules"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds *int `pulumi:"terminationGracePeriodSeconds"` // A `volume` block as detailed below. Volumes []AppTemplateVolume `pulumi:"volumes"` } @@ -1391,6 +1393,8 @@ type AppTemplateArgs struct { RevisionSuffix pulumi.StringPtrInput `pulumi:"revisionSuffix"` // One or more `tcpScaleRule` blocks as defined below. TcpScaleRules AppTemplateTcpScaleRuleArrayInput `pulumi:"tcpScaleRules"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds pulumi.IntPtrInput `pulumi:"terminationGracePeriodSeconds"` // A `volume` block as detailed below. Volumes AppTemplateVolumeArrayInput `pulumi:"volumes"` } @@ -1517,6 +1521,11 @@ func (o AppTemplateOutput) TcpScaleRules() AppTemplateTcpScaleRuleArrayOutput { return o.ApplyT(func(v AppTemplate) []AppTemplateTcpScaleRule { return v.TcpScaleRules }).(AppTemplateTcpScaleRuleArrayOutput) } +// The time in seconds after the container is sent the termination signal before the process if forcibly killed. +func (o AppTemplateOutput) TerminationGracePeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppTemplate) *int { return v.TerminationGracePeriodSeconds }).(pulumi.IntPtrOutput) +} + // A `volume` block as detailed below. func (o AppTemplateOutput) Volumes() AppTemplateVolumeArrayOutput { return o.ApplyT(func(v AppTemplate) []AppTemplateVolume { return v.Volumes }).(AppTemplateVolumeArrayOutput) @@ -1636,6 +1645,16 @@ func (o AppTemplatePtrOutput) TcpScaleRules() AppTemplateTcpScaleRuleArrayOutput }).(AppTemplateTcpScaleRuleArrayOutput) } +// The time in seconds after the container is sent the termination signal before the process if forcibly killed. +func (o AppTemplatePtrOutput) TerminationGracePeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppTemplate) *int { + if v == nil { + return nil + } + return v.TerminationGracePeriodSeconds + }).(pulumi.IntPtrOutput) +} + // A `volume` block as detailed below. func (o AppTemplatePtrOutput) Volumes() AppTemplateVolumeArrayOutput { return o.ApplyT(func(v *AppTemplate) []AppTemplateVolume { @@ -9080,6 +9099,8 @@ type GetAppTemplate struct { // The suffix string to which this `trafficWeight` applies. RevisionSuffix string `pulumi:"revisionSuffix"` TcpScaleRules []GetAppTemplateTcpScaleRule `pulumi:"tcpScaleRules"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds int `pulumi:"terminationGracePeriodSeconds"` // A `volume` block as detailed below. Volumes []GetAppTemplateVolume `pulumi:"volumes"` } @@ -9110,6 +9131,8 @@ type GetAppTemplateArgs struct { // The suffix string to which this `trafficWeight` applies. RevisionSuffix pulumi.StringInput `pulumi:"revisionSuffix"` TcpScaleRules GetAppTemplateTcpScaleRuleArrayInput `pulumi:"tcpScaleRules"` + // The time in seconds after the container is sent the termination signal before the process if forcibly killed. + TerminationGracePeriodSeconds pulumi.IntInput `pulumi:"terminationGracePeriodSeconds"` // A `volume` block as detailed below. Volumes GetAppTemplateVolumeArrayInput `pulumi:"volumes"` } @@ -9206,6 +9229,11 @@ func (o GetAppTemplateOutput) TcpScaleRules() GetAppTemplateTcpScaleRuleArrayOut return o.ApplyT(func(v GetAppTemplate) []GetAppTemplateTcpScaleRule { return v.TcpScaleRules }).(GetAppTemplateTcpScaleRuleArrayOutput) } +// The time in seconds after the container is sent the termination signal before the process if forcibly killed. +func (o GetAppTemplateOutput) TerminationGracePeriodSeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetAppTemplate) int { return v.TerminationGracePeriodSeconds }).(pulumi.IntOutput) +} + // A `volume` block as detailed below. func (o GetAppTemplateOutput) Volumes() GetAppTemplateVolumeArrayOutput { return o.ApplyT(func(v GetAppTemplate) []GetAppTemplateVolume { return v.Volumes }).(GetAppTemplateVolumeArrayOutput) diff --git a/sdk/go/azure/containerservice/init.go b/sdk/go/azure/containerservice/init.go index f1db280d1e..50300982a9 100644 --- a/sdk/go/azure/containerservice/init.go +++ b/sdk/go/azure/containerservice/init.go @@ -49,6 +49,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RegistryAgentPool{} case "azure:containerservice/registryCacheRule:RegistryCacheRule": r = &RegistryCacheRule{} + case "azure:containerservice/registryCredentialSet:RegistryCredentialSet": + r = &RegistryCredentialSet{} case "azure:containerservice/registryScopeMap:RegistryScopeMap": r = &RegistryScopeMap{} case "azure:containerservice/registryTask:RegistryTask": @@ -146,6 +148,11 @@ func init() { "containerservice/registryCacheRule", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "containerservice/registryCredentialSet", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "containerservice/registryScopeMap", diff --git a/sdk/go/azure/containerservice/kubernetesClusterNodePool.go b/sdk/go/azure/containerservice/kubernetesClusterNodePool.go index dc66889a16..907b714e3a 100644 --- a/sdk/go/azure/containerservice/kubernetesClusterNodePool.go +++ b/sdk/go/azure/containerservice/kubernetesClusterNodePool.go @@ -16,6 +16,8 @@ import ( // // > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. // +// > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporaryNameForRotation` must be specified when changing any of the following properties: `fipsEnabled`, `hostEncryptionEnabled`, `kubeletConfig`, `linuxOsConfig`, `maxPods`, `nodePublicIpEnabled`, `osDiskSizeGb`, `osDiskType`, `podSubnetId`, `snapshotId`, `ultraSsdEnabled`, `vmSize`, `vnetSubnetId`, `zones`. +// // ## Example Usage // // This example provisions a basic Kubernetes Node Pool. @@ -94,19 +96,19 @@ type KubernetesClusterNodePool struct { // // > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. EvictionPolicy pulumi.StringPtrOutput `pulumi:"evictionPolicy"` - // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). FipsEnabled pulumi.BoolPtrOutput `pulumi:"fipsEnabled"` // Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. GpuInstance pulumi.StringPtrOutput `pulumi:"gpuInstance"` - // Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. HostEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"hostEncryptionEnabled"` // The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. HostGroupId pulumi.StringPtrOutput `pulumi:"hostGroupId"` - // A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + // A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. KubeletConfig KubernetesClusterNodePoolKubeletConfigPtrOutput `pulumi:"kubeletConfig"` // The type of disk used by kubelet. Possible values are `OS` and `Temporary`. KubeletDiskType pulumi.StringOutput `pulumi:"kubeletDiskType"` @@ -114,10 +116,10 @@ type KubernetesClusterNodePool struct { // // > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. KubernetesClusterId pulumi.StringOutput `pulumi:"kubernetesClusterId"` - // A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + // A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigPtrOutput `pulumi:"linuxOsConfig"` MaxCount pulumi.IntPtrOutput `pulumi:"maxCount"` - // The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + // The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. MaxPods pulumi.IntOutput `pulumi:"maxPods"` MinCount pulumi.IntPtrOutput `pulumi:"minCount"` // Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. @@ -131,7 +133,7 @@ type KubernetesClusterNodePool struct { NodeLabels pulumi.StringMapOutput `pulumi:"nodeLabels"` // A `nodeNetworkProfile` block as documented below. NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfilePtrOutput `pulumi:"nodeNetworkProfile"` - // Should each node have a Public IP Address? Changing this forces a new resource to be created. + // Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. NodePublicIpEnabled pulumi.BoolPtrOutput `pulumi:"nodePublicIpEnabled"` // Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `nodePublicIpEnabled` should be `true`. Changing this forces a new resource to be created. NodePublicIpPrefixId pulumi.StringPtrOutput `pulumi:"nodePublicIpPrefixId"` @@ -141,15 +143,15 @@ type KubernetesClusterNodePool struct { // // > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. OrchestratorVersion pulumi.StringOutput `pulumi:"orchestratorVersion"` - // The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + // The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. OsDiskSizeGb pulumi.IntOutput `pulumi:"osDiskSizeGb"` - // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. OsDiskType pulumi.StringPtrOutput `pulumi:"osDiskType"` // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. OsSku pulumi.StringOutput `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrOutput `pulumi:"osType"` - // The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. PodSubnetId pulumi.StringPtrOutput `pulumi:"podSubnetId"` // The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. Priority pulumi.StringPtrOutput `pulumi:"priority"` @@ -159,7 +161,7 @@ type KubernetesClusterNodePool struct { ProximityPlacementGroupId pulumi.StringPtrOutput `pulumi:"proximityPlacementGroupId"` // Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. ScaleDownMode pulumi.StringPtrOutput `pulumi:"scaleDownMode"` - // The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + // The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"` // The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. // @@ -169,13 +171,15 @@ type KubernetesClusterNodePool struct { // // > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. Tags pulumi.StringMapOutput `pulumi:"tags"` - // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + // Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + TemporaryNameForRotation pulumi.StringPtrOutput `pulumi:"temporaryNameForRotation"` + // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. UltraSsdEnabled pulumi.BoolPtrOutput `pulumi:"ultraSsdEnabled"` // A `upgradeSettings` block as documented below. UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsPtrOutput `pulumi:"upgradeSettings"` - // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. VmSize pulumi.StringOutput `pulumi:"vmSize"` - // The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. VnetSubnetId pulumi.StringPtrOutput `pulumi:"vnetSubnetId"` @@ -185,7 +189,7 @@ type KubernetesClusterNodePool struct { // // > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) WorkloadRuntime pulumi.StringPtrOutput `pulumi:"workloadRuntime"` - // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. Zones pulumi.StringArrayOutput `pulumi:"zones"` } @@ -233,19 +237,19 @@ type kubernetesClusterNodePoolState struct { // // > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. EvictionPolicy *string `pulumi:"evictionPolicy"` - // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). FipsEnabled *bool `pulumi:"fipsEnabled"` // Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. GpuInstance *string `pulumi:"gpuInstance"` - // Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. HostEncryptionEnabled *bool `pulumi:"hostEncryptionEnabled"` // The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. HostGroupId *string `pulumi:"hostGroupId"` - // A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + // A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. KubeletConfig *KubernetesClusterNodePoolKubeletConfig `pulumi:"kubeletConfig"` // The type of disk used by kubelet. Possible values are `OS` and `Temporary`. KubeletDiskType *string `pulumi:"kubeletDiskType"` @@ -253,10 +257,10 @@ type kubernetesClusterNodePoolState struct { // // > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. KubernetesClusterId *string `pulumi:"kubernetesClusterId"` - // A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + // A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. LinuxOsConfig *KubernetesClusterNodePoolLinuxOsConfig `pulumi:"linuxOsConfig"` MaxCount *int `pulumi:"maxCount"` - // The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + // The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. MaxPods *int `pulumi:"maxPods"` MinCount *int `pulumi:"minCount"` // Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. @@ -270,7 +274,7 @@ type kubernetesClusterNodePoolState struct { NodeLabels map[string]string `pulumi:"nodeLabels"` // A `nodeNetworkProfile` block as documented below. NodeNetworkProfile *KubernetesClusterNodePoolNodeNetworkProfile `pulumi:"nodeNetworkProfile"` - // Should each node have a Public IP Address? Changing this forces a new resource to be created. + // Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. NodePublicIpEnabled *bool `pulumi:"nodePublicIpEnabled"` // Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `nodePublicIpEnabled` should be `true`. Changing this forces a new resource to be created. NodePublicIpPrefixId *string `pulumi:"nodePublicIpPrefixId"` @@ -280,15 +284,15 @@ type kubernetesClusterNodePoolState struct { // // > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. OrchestratorVersion *string `pulumi:"orchestratorVersion"` - // The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + // The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. OsDiskSizeGb *int `pulumi:"osDiskSizeGb"` - // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. OsDiskType *string `pulumi:"osDiskType"` // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. OsSku *string `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType *string `pulumi:"osType"` - // The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. PodSubnetId *string `pulumi:"podSubnetId"` // The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. Priority *string `pulumi:"priority"` @@ -298,7 +302,7 @@ type kubernetesClusterNodePoolState struct { ProximityPlacementGroupId *string `pulumi:"proximityPlacementGroupId"` // Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. ScaleDownMode *string `pulumi:"scaleDownMode"` - // The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + // The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. SnapshotId *string `pulumi:"snapshotId"` // The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. // @@ -308,13 +312,15 @@ type kubernetesClusterNodePoolState struct { // // > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. Tags map[string]string `pulumi:"tags"` - // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + // Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + TemporaryNameForRotation *string `pulumi:"temporaryNameForRotation"` + // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. UltraSsdEnabled *bool `pulumi:"ultraSsdEnabled"` // A `upgradeSettings` block as documented below. UpgradeSettings *KubernetesClusterNodePoolUpgradeSettings `pulumi:"upgradeSettings"` - // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. VmSize *string `pulumi:"vmSize"` - // The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. VnetSubnetId *string `pulumi:"vnetSubnetId"` @@ -324,7 +330,7 @@ type kubernetesClusterNodePoolState struct { // // > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) WorkloadRuntime *string `pulumi:"workloadRuntime"` - // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. Zones []string `pulumi:"zones"` } @@ -337,19 +343,19 @@ type KubernetesClusterNodePoolState struct { // // > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. EvictionPolicy pulumi.StringPtrInput - // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). FipsEnabled pulumi.BoolPtrInput // Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. GpuInstance pulumi.StringPtrInput - // Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. HostEncryptionEnabled pulumi.BoolPtrInput // The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. HostGroupId pulumi.StringPtrInput - // A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + // A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. KubeletConfig KubernetesClusterNodePoolKubeletConfigPtrInput // The type of disk used by kubelet. Possible values are `OS` and `Temporary`. KubeletDiskType pulumi.StringPtrInput @@ -357,10 +363,10 @@ type KubernetesClusterNodePoolState struct { // // > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. KubernetesClusterId pulumi.StringPtrInput - // A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + // A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigPtrInput MaxCount pulumi.IntPtrInput - // The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + // The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. MaxPods pulumi.IntPtrInput MinCount pulumi.IntPtrInput // Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. @@ -374,7 +380,7 @@ type KubernetesClusterNodePoolState struct { NodeLabels pulumi.StringMapInput // A `nodeNetworkProfile` block as documented below. NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfilePtrInput - // Should each node have a Public IP Address? Changing this forces a new resource to be created. + // Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. NodePublicIpEnabled pulumi.BoolPtrInput // Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `nodePublicIpEnabled` should be `true`. Changing this forces a new resource to be created. NodePublicIpPrefixId pulumi.StringPtrInput @@ -384,15 +390,15 @@ type KubernetesClusterNodePoolState struct { // // > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. OrchestratorVersion pulumi.StringPtrInput - // The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + // The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. OsDiskSizeGb pulumi.IntPtrInput - // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. OsDiskType pulumi.StringPtrInput // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. OsSku pulumi.StringPtrInput // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrInput - // The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. PodSubnetId pulumi.StringPtrInput // The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. Priority pulumi.StringPtrInput @@ -402,7 +408,7 @@ type KubernetesClusterNodePoolState struct { ProximityPlacementGroupId pulumi.StringPtrInput // Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. ScaleDownMode pulumi.StringPtrInput - // The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + // The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. SnapshotId pulumi.StringPtrInput // The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. // @@ -412,13 +418,15 @@ type KubernetesClusterNodePoolState struct { // // > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. Tags pulumi.StringMapInput - // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + // Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + TemporaryNameForRotation pulumi.StringPtrInput + // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. UltraSsdEnabled pulumi.BoolPtrInput // A `upgradeSettings` block as documented below. UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsPtrInput - // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. VmSize pulumi.StringPtrInput - // The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. VnetSubnetId pulumi.StringPtrInput @@ -428,7 +436,7 @@ type KubernetesClusterNodePoolState struct { // // > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) WorkloadRuntime pulumi.StringPtrInput - // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. Zones pulumi.StringArrayInput } @@ -445,19 +453,19 @@ type kubernetesClusterNodePoolArgs struct { // // > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. EvictionPolicy *string `pulumi:"evictionPolicy"` - // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). FipsEnabled *bool `pulumi:"fipsEnabled"` // Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. GpuInstance *string `pulumi:"gpuInstance"` - // Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. HostEncryptionEnabled *bool `pulumi:"hostEncryptionEnabled"` // The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. HostGroupId *string `pulumi:"hostGroupId"` - // A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + // A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. KubeletConfig *KubernetesClusterNodePoolKubeletConfig `pulumi:"kubeletConfig"` // The type of disk used by kubelet. Possible values are `OS` and `Temporary`. KubeletDiskType *string `pulumi:"kubeletDiskType"` @@ -465,10 +473,10 @@ type kubernetesClusterNodePoolArgs struct { // // > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. KubernetesClusterId string `pulumi:"kubernetesClusterId"` - // A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + // A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. LinuxOsConfig *KubernetesClusterNodePoolLinuxOsConfig `pulumi:"linuxOsConfig"` MaxCount *int `pulumi:"maxCount"` - // The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + // The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. MaxPods *int `pulumi:"maxPods"` MinCount *int `pulumi:"minCount"` // Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. @@ -482,7 +490,7 @@ type kubernetesClusterNodePoolArgs struct { NodeLabels map[string]string `pulumi:"nodeLabels"` // A `nodeNetworkProfile` block as documented below. NodeNetworkProfile *KubernetesClusterNodePoolNodeNetworkProfile `pulumi:"nodeNetworkProfile"` - // Should each node have a Public IP Address? Changing this forces a new resource to be created. + // Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. NodePublicIpEnabled *bool `pulumi:"nodePublicIpEnabled"` // Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `nodePublicIpEnabled` should be `true`. Changing this forces a new resource to be created. NodePublicIpPrefixId *string `pulumi:"nodePublicIpPrefixId"` @@ -492,15 +500,15 @@ type kubernetesClusterNodePoolArgs struct { // // > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. OrchestratorVersion *string `pulumi:"orchestratorVersion"` - // The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + // The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. OsDiskSizeGb *int `pulumi:"osDiskSizeGb"` - // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. OsDiskType *string `pulumi:"osDiskType"` // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. OsSku *string `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType *string `pulumi:"osType"` - // The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. PodSubnetId *string `pulumi:"podSubnetId"` // The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. Priority *string `pulumi:"priority"` @@ -510,7 +518,7 @@ type kubernetesClusterNodePoolArgs struct { ProximityPlacementGroupId *string `pulumi:"proximityPlacementGroupId"` // Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. ScaleDownMode *string `pulumi:"scaleDownMode"` - // The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + // The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. SnapshotId *string `pulumi:"snapshotId"` // The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. // @@ -520,13 +528,15 @@ type kubernetesClusterNodePoolArgs struct { // // > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. Tags map[string]string `pulumi:"tags"` - // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + // Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + TemporaryNameForRotation *string `pulumi:"temporaryNameForRotation"` + // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. UltraSsdEnabled *bool `pulumi:"ultraSsdEnabled"` // A `upgradeSettings` block as documented below. UpgradeSettings *KubernetesClusterNodePoolUpgradeSettings `pulumi:"upgradeSettings"` - // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. VmSize string `pulumi:"vmSize"` - // The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. VnetSubnetId *string `pulumi:"vnetSubnetId"` @@ -536,7 +546,7 @@ type kubernetesClusterNodePoolArgs struct { // // > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) WorkloadRuntime *string `pulumi:"workloadRuntime"` - // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. Zones []string `pulumi:"zones"` } @@ -550,19 +560,19 @@ type KubernetesClusterNodePoolArgs struct { // // > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. EvictionPolicy pulumi.StringPtrInput - // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). FipsEnabled pulumi.BoolPtrInput // Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. GpuInstance pulumi.StringPtrInput - // Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + // Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. HostEncryptionEnabled pulumi.BoolPtrInput // The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. HostGroupId pulumi.StringPtrInput - // A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + // A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. KubeletConfig KubernetesClusterNodePoolKubeletConfigPtrInput // The type of disk used by kubelet. Possible values are `OS` and `Temporary`. KubeletDiskType pulumi.StringPtrInput @@ -570,10 +580,10 @@ type KubernetesClusterNodePoolArgs struct { // // > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. KubernetesClusterId pulumi.StringInput - // A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + // A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigPtrInput MaxCount pulumi.IntPtrInput - // The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + // The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. MaxPods pulumi.IntPtrInput MinCount pulumi.IntPtrInput // Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. @@ -587,7 +597,7 @@ type KubernetesClusterNodePoolArgs struct { NodeLabels pulumi.StringMapInput // A `nodeNetworkProfile` block as documented below. NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfilePtrInput - // Should each node have a Public IP Address? Changing this forces a new resource to be created. + // Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. NodePublicIpEnabled pulumi.BoolPtrInput // Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `nodePublicIpEnabled` should be `true`. Changing this forces a new resource to be created. NodePublicIpPrefixId pulumi.StringPtrInput @@ -597,15 +607,15 @@ type KubernetesClusterNodePoolArgs struct { // // > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. OrchestratorVersion pulumi.StringPtrInput - // The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + // The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. OsDiskSizeGb pulumi.IntPtrInput - // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. OsDiskType pulumi.StringPtrInput // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. OsSku pulumi.StringPtrInput // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrInput - // The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. PodSubnetId pulumi.StringPtrInput // The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. Priority pulumi.StringPtrInput @@ -615,7 +625,7 @@ type KubernetesClusterNodePoolArgs struct { ProximityPlacementGroupId pulumi.StringPtrInput // Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. ScaleDownMode pulumi.StringPtrInput - // The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + // The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. SnapshotId pulumi.StringPtrInput // The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. // @@ -625,13 +635,15 @@ type KubernetesClusterNodePoolArgs struct { // // > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. Tags pulumi.StringMapInput - // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + // Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + TemporaryNameForRotation pulumi.StringPtrInput + // Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. UltraSsdEnabled pulumi.BoolPtrInput // A `upgradeSettings` block as documented below. UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsPtrInput - // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + // The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. VmSize pulumi.StringInput - // The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + // The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. VnetSubnetId pulumi.StringPtrInput @@ -641,7 +653,7 @@ type KubernetesClusterNodePoolArgs struct { // // > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) WorkloadRuntime pulumi.StringPtrInput - // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + // Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. Zones pulumi.StringArrayInput } @@ -749,7 +761,7 @@ func (o KubernetesClusterNodePoolOutput) EvictionPolicy() pulumi.StringPtrOutput return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.EvictionPolicy }).(pulumi.StringPtrOutput) } -// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. +// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). func (o KubernetesClusterNodePoolOutput) FipsEnabled() pulumi.BoolPtrOutput { @@ -761,7 +773,7 @@ func (o KubernetesClusterNodePoolOutput) GpuInstance() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.GpuInstance }).(pulumi.StringPtrOutput) } -// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. +// Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** Additional fields must be configured depending on the value of this field - see below. func (o KubernetesClusterNodePoolOutput) HostEncryptionEnabled() pulumi.BoolPtrOutput { @@ -773,7 +785,7 @@ func (o KubernetesClusterNodePoolOutput) HostGroupId() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.HostGroupId }).(pulumi.StringPtrOutput) } -// A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. +// A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) KubeletConfig() KubernetesClusterNodePoolKubeletConfigPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) KubernetesClusterNodePoolKubeletConfigPtrOutput { return v.KubeletConfig @@ -792,7 +804,7 @@ func (o KubernetesClusterNodePoolOutput) KubernetesClusterId() pulumi.StringOutp return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringOutput { return v.KubernetesClusterId }).(pulumi.StringOutput) } -// A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. +// A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) LinuxOsConfig() KubernetesClusterNodePoolLinuxOsConfigPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) KubernetesClusterNodePoolLinuxOsConfigPtrOutput { return v.LinuxOsConfig @@ -803,7 +815,7 @@ func (o KubernetesClusterNodePoolOutput) MaxCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.IntPtrOutput { return v.MaxCount }).(pulumi.IntPtrOutput) } -// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. +// The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) MaxPods() pulumi.IntOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.IntOutput { return v.MaxPods }).(pulumi.IntOutput) } @@ -840,7 +852,7 @@ func (o KubernetesClusterNodePoolOutput) NodeNetworkProfile() KubernetesClusterN }).(KubernetesClusterNodePoolNodeNetworkProfilePtrOutput) } -// Should each node have a Public IP Address? Changing this forces a new resource to be created. +// Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) NodePublicIpEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.BoolPtrOutput { return v.NodePublicIpEnabled }).(pulumi.BoolPtrOutput) } @@ -862,12 +874,12 @@ func (o KubernetesClusterNodePoolOutput) OrchestratorVersion() pulumi.StringOutp return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringOutput { return v.OrchestratorVersion }).(pulumi.StringOutput) } -// The Agent Operating System disk size in GB. Changing this forces a new resource to be created. +// The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) OsDiskSizeGb() pulumi.IntOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.IntOutput { return v.OsDiskSizeGb }).(pulumi.IntOutput) } -// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. +// The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) OsDiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.OsDiskType }).(pulumi.StringPtrOutput) } @@ -882,7 +894,7 @@ func (o KubernetesClusterNodePoolOutput) OsType() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.OsType }).(pulumi.StringPtrOutput) } -// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. +// The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) PodSubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.PodSubnetId }).(pulumi.StringPtrOutput) } @@ -904,7 +916,7 @@ func (o KubernetesClusterNodePoolOutput) ScaleDownMode() pulumi.StringPtrOutput return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.ScaleDownMode }).(pulumi.StringPtrOutput) } -// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. +// The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) SnapshotId() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.SnapshotId }).(pulumi.StringPtrOutput) } @@ -923,7 +935,12 @@ func (o KubernetesClusterNodePoolOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. +// Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. +func (o KubernetesClusterNodePoolOutput) TemporaryNameForRotation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.TemporaryNameForRotation }).(pulumi.StringPtrOutput) +} + +// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) UltraSsdEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.BoolPtrOutput { return v.UltraSsdEnabled }).(pulumi.BoolPtrOutput) } @@ -935,12 +952,12 @@ func (o KubernetesClusterNodePoolOutput) UpgradeSettings() KubernetesClusterNode }).(KubernetesClusterNodePoolUpgradeSettingsPtrOutput) } -// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. +// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) VmSize() pulumi.StringOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringOutput { return v.VmSize }).(pulumi.StringOutput) } -// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. +// The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. // // > **NOTE:** A route table must be configured on this Subnet. func (o KubernetesClusterNodePoolOutput) VnetSubnetId() pulumi.StringPtrOutput { @@ -961,7 +978,7 @@ func (o KubernetesClusterNodePoolOutput) WorkloadRuntime() pulumi.StringPtrOutpu return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.WorkloadRuntime }).(pulumi.StringPtrOutput) } -// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. +// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. func (o KubernetesClusterNodePoolOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringArrayOutput { return v.Zones }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/azure/containerservice/pulumiTypes.go b/sdk/go/azure/containerservice/pulumiTypes.go index aea9acaf48..61406cc3fc 100644 --- a/sdk/go/azure/containerservice/pulumiTypes.go +++ b/sdk/go/azure/containerservice/pulumiTypes.go @@ -14519,25 +14519,25 @@ func (o KubernetesClusterNetworkProfileNatGatewayProfilePtrOutput) ManagedOutbou } type KubernetesClusterNodePoolKubeletConfig struct { - // Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + // Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). AllowedUnsafeSysctls []string `pulumi:"allowedUnsafeSysctls"` - // Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + // Specifies the maximum number of container log files that can be present for a container. must be at least 2. ContainerLogMaxLine *int `pulumi:"containerLogMaxLine"` - // Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + // Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. ContainerLogMaxSizeMb *int `pulumi:"containerLogMaxSizeMb"` - // Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + // Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. CpuCfsQuotaEnabled *bool `pulumi:"cpuCfsQuotaEnabled"` - // Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + // Specifies the CPU CFS quota period value. CpuCfsQuotaPeriod *string `pulumi:"cpuCfsQuotaPeriod"` - // Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + // Specifies the CPU Manager policy to use. Possible values are `none` and `static`, CpuManagerPolicy *string `pulumi:"cpuManagerPolicy"` - // Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + // Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. ImageGcHighThreshold *int `pulumi:"imageGcHighThreshold"` - // Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + // Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. ImageGcLowThreshold *int `pulumi:"imageGcLowThreshold"` - // Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + // Specifies the maximum number of processes per pod. PodMaxPid *int `pulumi:"podMaxPid"` - // Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + // Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. TopologyManagerPolicy *string `pulumi:"topologyManagerPolicy"` } @@ -14553,25 +14553,25 @@ type KubernetesClusterNodePoolKubeletConfigInput interface { } type KubernetesClusterNodePoolKubeletConfigArgs struct { - // Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + // Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). AllowedUnsafeSysctls pulumi.StringArrayInput `pulumi:"allowedUnsafeSysctls"` - // Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + // Specifies the maximum number of container log files that can be present for a container. must be at least 2. ContainerLogMaxLine pulumi.IntPtrInput `pulumi:"containerLogMaxLine"` - // Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + // Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. ContainerLogMaxSizeMb pulumi.IntPtrInput `pulumi:"containerLogMaxSizeMb"` - // Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + // Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. CpuCfsQuotaEnabled pulumi.BoolPtrInput `pulumi:"cpuCfsQuotaEnabled"` - // Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + // Specifies the CPU CFS quota period value. CpuCfsQuotaPeriod pulumi.StringPtrInput `pulumi:"cpuCfsQuotaPeriod"` - // Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + // Specifies the CPU Manager policy to use. Possible values are `none` and `static`, CpuManagerPolicy pulumi.StringPtrInput `pulumi:"cpuManagerPolicy"` - // Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + // Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. ImageGcHighThreshold pulumi.IntPtrInput `pulumi:"imageGcHighThreshold"` - // Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + // Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. ImageGcLowThreshold pulumi.IntPtrInput `pulumi:"imageGcLowThreshold"` - // Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + // Specifies the maximum number of processes per pod. PodMaxPid pulumi.IntPtrInput `pulumi:"podMaxPid"` - // Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + // Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. TopologyManagerPolicy pulumi.StringPtrInput `pulumi:"topologyManagerPolicy"` } @@ -14652,52 +14652,52 @@ func (o KubernetesClusterNodePoolKubeletConfigOutput) ToKubernetesClusterNodePoo }).(KubernetesClusterNodePoolKubeletConfigPtrOutput) } -// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. +// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). func (o KubernetesClusterNodePoolKubeletConfigOutput) AllowedUnsafeSysctls() pulumi.StringArrayOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) []string { return v.AllowedUnsafeSysctls }).(pulumi.StringArrayOutput) } -// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. +// Specifies the maximum number of container log files that can be present for a container. must be at least 2. func (o KubernetesClusterNodePoolKubeletConfigOutput) ContainerLogMaxLine() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *int { return v.ContainerLogMaxLine }).(pulumi.IntPtrOutput) } -// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. +// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. func (o KubernetesClusterNodePoolKubeletConfigOutput) ContainerLogMaxSizeMb() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *int { return v.ContainerLogMaxSizeMb }).(pulumi.IntPtrOutput) } -// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. +// Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. func (o KubernetesClusterNodePoolKubeletConfigOutput) CpuCfsQuotaEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *bool { return v.CpuCfsQuotaEnabled }).(pulumi.BoolPtrOutput) } -// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. +// Specifies the CPU CFS quota period value. func (o KubernetesClusterNodePoolKubeletConfigOutput) CpuCfsQuotaPeriod() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *string { return v.CpuCfsQuotaPeriod }).(pulumi.StringPtrOutput) } -// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. +// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, func (o KubernetesClusterNodePoolKubeletConfigOutput) CpuManagerPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *string { return v.CpuManagerPolicy }).(pulumi.StringPtrOutput) } -// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. +// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. func (o KubernetesClusterNodePoolKubeletConfigOutput) ImageGcHighThreshold() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *int { return v.ImageGcHighThreshold }).(pulumi.IntPtrOutput) } -// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. +// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. func (o KubernetesClusterNodePoolKubeletConfigOutput) ImageGcLowThreshold() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *int { return v.ImageGcLowThreshold }).(pulumi.IntPtrOutput) } -// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. +// Specifies the maximum number of processes per pod. func (o KubernetesClusterNodePoolKubeletConfigOutput) PodMaxPid() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *int { return v.PodMaxPid }).(pulumi.IntPtrOutput) } -// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. +// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. func (o KubernetesClusterNodePoolKubeletConfigOutput) TopologyManagerPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolKubeletConfig) *string { return v.TopologyManagerPolicy }).(pulumi.StringPtrOutput) } @@ -14726,7 +14726,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) Elem() KubernetesCluste }).(KubernetesClusterNodePoolKubeletConfigOutput) } -// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. +// Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) AllowedUnsafeSysctls() pulumi.StringArrayOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) []string { if v == nil { @@ -14736,7 +14736,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) AllowedUnsafeSysctls() }).(pulumi.StringArrayOutput) } -// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. +// Specifies the maximum number of container log files that can be present for a container. must be at least 2. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ContainerLogMaxLine() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *int { if v == nil { @@ -14746,7 +14746,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ContainerLogMaxLine() p }).(pulumi.IntPtrOutput) } -// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. +// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ContainerLogMaxSizeMb() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *int { if v == nil { @@ -14756,7 +14756,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ContainerLogMaxSizeMb() }).(pulumi.IntPtrOutput) } -// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. +// Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuCfsQuotaEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *bool { if v == nil { @@ -14766,7 +14766,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuCfsQuotaEnabled() pu }).(pulumi.BoolPtrOutput) } -// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. +// Specifies the CPU CFS quota period value. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuCfsQuotaPeriod() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *string { if v == nil { @@ -14776,7 +14776,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuCfsQuotaPeriod() pul }).(pulumi.StringPtrOutput) } -// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. +// Specifies the CPU Manager policy to use. Possible values are `none` and `static`, func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuManagerPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *string { if v == nil { @@ -14786,7 +14786,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) CpuManagerPolicy() pulu }).(pulumi.StringPtrOutput) } -// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. +// Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ImageGcHighThreshold() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *int { if v == nil { @@ -14796,7 +14796,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ImageGcHighThreshold() }).(pulumi.IntPtrOutput) } -// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. +// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ImageGcLowThreshold() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *int { if v == nil { @@ -14806,7 +14806,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) ImageGcLowThreshold() p }).(pulumi.IntPtrOutput) } -// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. +// Specifies the maximum number of processes per pod. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) PodMaxPid() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *int { if v == nil { @@ -14816,7 +14816,7 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) PodMaxPid() pulumi.IntP }).(pulumi.IntPtrOutput) } -// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. +// Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) TopologyManagerPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolKubeletConfig) *string { if v == nil { @@ -14827,13 +14827,13 @@ func (o KubernetesClusterNodePoolKubeletConfigPtrOutput) TopologyManagerPolicy() } type KubernetesClusterNodePoolLinuxOsConfig struct { - // Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + // Specifies the size of swap file on each node in MB. SwapFileSizeMb *int `pulumi:"swapFileSizeMb"` - // A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. + // A `sysctlConfig` block as defined below. SysctlConfig *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig `pulumi:"sysctlConfig"` - // specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + // specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. TransparentHugePageDefrag *string `pulumi:"transparentHugePageDefrag"` - // Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + // Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. TransparentHugePageEnabled *string `pulumi:"transparentHugePageEnabled"` } @@ -14849,13 +14849,13 @@ type KubernetesClusterNodePoolLinuxOsConfigInput interface { } type KubernetesClusterNodePoolLinuxOsConfigArgs struct { - // Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + // Specifies the size of swap file on each node in MB. SwapFileSizeMb pulumi.IntPtrInput `pulumi:"swapFileSizeMb"` - // A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. + // A `sysctlConfig` block as defined below. SysctlConfig KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrInput `pulumi:"sysctlConfig"` - // specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + // specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. TransparentHugePageDefrag pulumi.StringPtrInput `pulumi:"transparentHugePageDefrag"` - // Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + // Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. TransparentHugePageEnabled pulumi.StringPtrInput `pulumi:"transparentHugePageEnabled"` } @@ -14936,24 +14936,24 @@ func (o KubernetesClusterNodePoolLinuxOsConfigOutput) ToKubernetesClusterNodePoo }).(KubernetesClusterNodePoolLinuxOsConfigPtrOutput) } -// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. +// Specifies the size of swap file on each node in MB. func (o KubernetesClusterNodePoolLinuxOsConfigOutput) SwapFileSizeMb() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfig) *int { return v.SwapFileSizeMb }).(pulumi.IntPtrOutput) } -// A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. +// A `sysctlConfig` block as defined below. func (o KubernetesClusterNodePoolLinuxOsConfigOutput) SysctlConfig() KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfig) *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { return v.SysctlConfig }).(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) } -// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. +// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. func (o KubernetesClusterNodePoolLinuxOsConfigOutput) TransparentHugePageDefrag() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfig) *string { return v.TransparentHugePageDefrag }).(pulumi.StringPtrOutput) } -// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. +// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. func (o KubernetesClusterNodePoolLinuxOsConfigOutput) TransparentHugePageEnabled() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfig) *string { return v.TransparentHugePageEnabled }).(pulumi.StringPtrOutput) } @@ -14982,7 +14982,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) Elem() KubernetesCluste }).(KubernetesClusterNodePoolLinuxOsConfigOutput) } -// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. +// Specifies the size of swap file on each node in MB. func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) SwapFileSizeMb() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfig) *int { if v == nil { @@ -14992,7 +14992,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) SwapFileSizeMb() pulumi }).(pulumi.IntPtrOutput) } -// A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. +// A `sysctlConfig` block as defined below. func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) SysctlConfig() KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfig) *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { if v == nil { @@ -15002,7 +15002,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) SysctlConfig() Kubernet }).(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) } -// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. +// specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) TransparentHugePageDefrag() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfig) *string { if v == nil { @@ -15012,7 +15012,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) TransparentHugePageDefr }).(pulumi.StringPtrOutput) } -// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. +// Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) TransparentHugePageEnabled() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfig) *string { if v == nil { @@ -15023,63 +15023,63 @@ func (o KubernetesClusterNodePoolLinuxOsConfigPtrOutput) TransparentHugePageEnab } type KubernetesClusterNodePoolLinuxOsConfigSysctlConfig struct { - // The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + // The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. FsAioMaxNr *int `pulumi:"fsAioMaxNr"` - // The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + // The sysctl setting fs.file-max. Must be between `8192` and `12000500`. FsFileMax *int `pulumi:"fsFileMax"` - // The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + // The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. FsInotifyMaxUserWatches *int `pulumi:"fsInotifyMaxUserWatches"` - // The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + // The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. FsNrOpen *int `pulumi:"fsNrOpen"` - // The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + // The sysctl setting kernel.threads-max. Must be between `20` and `513785`. KernelThreadsMax *int `pulumi:"kernelThreadsMax"` - // The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. NetCoreNetdevMaxBacklog *int `pulumi:"netCoreNetdevMaxBacklog"` - // The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + // The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. NetCoreOptmemMax *int `pulumi:"netCoreOptmemMax"` - // The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. NetCoreRmemDefault *int `pulumi:"netCoreRmemDefault"` - // The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. NetCoreRmemMax *int `pulumi:"netCoreRmemMax"` - // The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. NetCoreSomaxconn *int `pulumi:"netCoreSomaxconn"` - // The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. NetCoreWmemDefault *int `pulumi:"netCoreWmemDefault"` - // The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. NetCoreWmemMax *int `pulumi:"netCoreWmemMax"` - // The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. NetIpv4IpLocalPortRangeMax *int `pulumi:"netIpv4IpLocalPortRangeMax"` - // The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. NetIpv4IpLocalPortRangeMin *int `pulumi:"netIpv4IpLocalPortRangeMin"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. NetIpv4NeighDefaultGcThresh1 *int `pulumi:"netIpv4NeighDefaultGcThresh1"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. NetIpv4NeighDefaultGcThresh2 *int `pulumi:"netIpv4NeighDefaultGcThresh2"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. NetIpv4NeighDefaultGcThresh3 *int `pulumi:"netIpv4NeighDefaultGcThresh3"` - // The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. NetIpv4TcpFinTimeout *int `pulumi:"netIpv4TcpFinTimeout"` - // The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. NetIpv4TcpKeepaliveIntvl *int `pulumi:"netIpv4TcpKeepaliveIntvl"` - // The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. NetIpv4TcpKeepaliveProbes *int `pulumi:"netIpv4TcpKeepaliveProbes"` - // The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. NetIpv4TcpKeepaliveTime *int `pulumi:"netIpv4TcpKeepaliveTime"` - // The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. NetIpv4TcpMaxSynBacklog *int `pulumi:"netIpv4TcpMaxSynBacklog"` - // The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. NetIpv4TcpMaxTwBuckets *int `pulumi:"netIpv4TcpMaxTwBuckets"` - // Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + // Is sysctl setting net.ipv4.tcp_tw_reuse enabled? NetIpv4TcpTwReuse *bool `pulumi:"netIpv4TcpTwReuse"` - // The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + // The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. NetNetfilterNfConntrackBuckets *int `pulumi:"netNetfilterNfConntrackBuckets"` - // The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + // The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. NetNetfilterNfConntrackMax *int `pulumi:"netNetfilterNfConntrackMax"` - // The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + // The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. VmMaxMapCount *int `pulumi:"vmMaxMapCount"` - // The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + // The sysctl setting vm.swappiness. Must be between `0` and `100`. VmSwappiness *int `pulumi:"vmSwappiness"` - // The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + // The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. VmVfsCachePressure *int `pulumi:"vmVfsCachePressure"` } @@ -15095,63 +15095,63 @@ type KubernetesClusterNodePoolLinuxOsConfigSysctlConfigInput interface { } type KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs struct { - // The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + // The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. FsAioMaxNr pulumi.IntPtrInput `pulumi:"fsAioMaxNr"` - // The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + // The sysctl setting fs.file-max. Must be between `8192` and `12000500`. FsFileMax pulumi.IntPtrInput `pulumi:"fsFileMax"` - // The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + // The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. FsInotifyMaxUserWatches pulumi.IntPtrInput `pulumi:"fsInotifyMaxUserWatches"` - // The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + // The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. FsNrOpen pulumi.IntPtrInput `pulumi:"fsNrOpen"` - // The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + // The sysctl setting kernel.threads-max. Must be between `20` and `513785`. KernelThreadsMax pulumi.IntPtrInput `pulumi:"kernelThreadsMax"` - // The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. NetCoreNetdevMaxBacklog pulumi.IntPtrInput `pulumi:"netCoreNetdevMaxBacklog"` - // The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + // The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. NetCoreOptmemMax pulumi.IntPtrInput `pulumi:"netCoreOptmemMax"` - // The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. NetCoreRmemDefault pulumi.IntPtrInput `pulumi:"netCoreRmemDefault"` - // The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. NetCoreRmemMax pulumi.IntPtrInput `pulumi:"netCoreRmemMax"` - // The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. NetCoreSomaxconn pulumi.IntPtrInput `pulumi:"netCoreSomaxconn"` - // The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. NetCoreWmemDefault pulumi.IntPtrInput `pulumi:"netCoreWmemDefault"` - // The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + // The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. NetCoreWmemMax pulumi.IntPtrInput `pulumi:"netCoreWmemMax"` - // The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. NetIpv4IpLocalPortRangeMax pulumi.IntPtrInput `pulumi:"netIpv4IpLocalPortRangeMax"` - // The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. NetIpv4IpLocalPortRangeMin pulumi.IntPtrInput `pulumi:"netIpv4IpLocalPortRangeMin"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. NetIpv4NeighDefaultGcThresh1 pulumi.IntPtrInput `pulumi:"netIpv4NeighDefaultGcThresh1"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. NetIpv4NeighDefaultGcThresh2 pulumi.IntPtrInput `pulumi:"netIpv4NeighDefaultGcThresh2"` - // The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. NetIpv4NeighDefaultGcThresh3 pulumi.IntPtrInput `pulumi:"netIpv4NeighDefaultGcThresh3"` - // The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. NetIpv4TcpFinTimeout pulumi.IntPtrInput `pulumi:"netIpv4TcpFinTimeout"` - // The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. NetIpv4TcpKeepaliveIntvl pulumi.IntPtrInput `pulumi:"netIpv4TcpKeepaliveIntvl"` - // The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. NetIpv4TcpKeepaliveProbes pulumi.IntPtrInput `pulumi:"netIpv4TcpKeepaliveProbes"` - // The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. NetIpv4TcpKeepaliveTime pulumi.IntPtrInput `pulumi:"netIpv4TcpKeepaliveTime"` - // The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. NetIpv4TcpMaxSynBacklog pulumi.IntPtrInput `pulumi:"netIpv4TcpMaxSynBacklog"` - // The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + // The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. NetIpv4TcpMaxTwBuckets pulumi.IntPtrInput `pulumi:"netIpv4TcpMaxTwBuckets"` - // Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + // Is sysctl setting net.ipv4.tcp_tw_reuse enabled? NetIpv4TcpTwReuse pulumi.BoolPtrInput `pulumi:"netIpv4TcpTwReuse"` - // The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + // The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. NetNetfilterNfConntrackBuckets pulumi.IntPtrInput `pulumi:"netNetfilterNfConntrackBuckets"` - // The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + // The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. NetNetfilterNfConntrackMax pulumi.IntPtrInput `pulumi:"netNetfilterNfConntrackMax"` - // The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + // The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. VmMaxMapCount pulumi.IntPtrInput `pulumi:"vmMaxMapCount"` - // The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + // The sysctl setting vm.swappiness. Must be between `0` and `100`. VmSwappiness pulumi.IntPtrInput `pulumi:"vmSwappiness"` - // The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + // The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. VmVfsCachePressure pulumi.IntPtrInput `pulumi:"vmVfsCachePressure"` } @@ -15232,149 +15232,149 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) ToKubernetesCl }).(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) } -// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. +// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) FsAioMaxNr() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.FsAioMaxNr }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. +// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) FsFileMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.FsFileMax }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. +// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) FsInotifyMaxUserWatches() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.FsInotifyMaxUserWatches }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. +// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) FsNrOpen() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.FsNrOpen }).(pulumi.IntPtrOutput) } -// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. +// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) KernelThreadsMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.KernelThreadsMax }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreNetdevMaxBacklog() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreNetdevMaxBacklog }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. +// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreOptmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreOptmemMax }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreRmemDefault() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreRmemDefault }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreRmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreRmemMax }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreSomaxconn() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreSomaxconn }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreWmemDefault() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreWmemDefault }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetCoreWmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetCoreWmemMax }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4IpLocalPortRangeMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4IpLocalPortRangeMax }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4IpLocalPortRangeMin() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4IpLocalPortRangeMin }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4NeighDefaultGcThresh1() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4NeighDefaultGcThresh1 }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4NeighDefaultGcThresh2() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4NeighDefaultGcThresh2 }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4NeighDefaultGcThresh3() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4NeighDefaultGcThresh3 }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpFinTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpFinTimeout }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpKeepaliveIntvl() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpKeepaliveIntvl }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpKeepaliveProbes() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpKeepaliveProbes }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpKeepaliveTime() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpKeepaliveTime }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpMaxSynBacklog() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpMaxSynBacklog }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpMaxTwBuckets() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetIpv4TcpMaxTwBuckets }).(pulumi.IntPtrOutput) } -// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. +// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetIpv4TcpTwReuse() pulumi.BoolPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *bool { return v.NetIpv4TcpTwReuse }).(pulumi.BoolPtrOutput) } -// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. +// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetNetfilterNfConntrackBuckets() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetNetfilterNfConntrackBuckets }).(pulumi.IntPtrOutput) } -// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. +// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) NetNetfilterNfConntrackMax() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.NetNetfilterNfConntrackMax }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. +// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) VmMaxMapCount() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.VmMaxMapCount }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. +// The sysctl setting vm.swappiness. Must be between `0` and `100`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) VmSwappiness() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.VmSwappiness }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. +// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) VmVfsCachePressure() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { return v.VmVfsCachePressure }).(pulumi.IntPtrOutput) } @@ -15403,7 +15403,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) Elem() Kube }).(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigOutput) } -// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. +// The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsAioMaxNr() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15413,7 +15413,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsAioMaxNr( }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. +// The sysctl setting fs.file-max. Must be between `8192` and `12000500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsFileMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15423,7 +15423,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsFileMax() }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. +// The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsInotifyMaxUserWatches() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15433,7 +15433,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsInotifyMa }).(pulumi.IntPtrOutput) } -// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. +// The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsNrOpen() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15443,7 +15443,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) FsNrOpen() }).(pulumi.IntPtrOutput) } -// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. +// The sysctl setting kernel.threads-max. Must be between `20` and `513785`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) KernelThreadsMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15453,7 +15453,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) KernelThrea }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreNetdevMaxBacklog() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15463,7 +15463,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreNetd }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. +// The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreOptmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15473,7 +15473,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreOptm }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreRmemDefault() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15483,7 +15483,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreRmem }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreRmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15493,7 +15493,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreRmem }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreSomaxconn() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15503,7 +15503,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreSoma }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreWmemDefault() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15513,7 +15513,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreWmem }).(pulumi.IntPtrOutput) } -// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. +// The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreWmemMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15523,7 +15523,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetCoreWmem }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4IpLocalPortRangeMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15533,7 +15533,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4IpLo }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4IpLocalPortRangeMin() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15543,7 +15543,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4IpLo }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4NeighDefaultGcThresh1() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15553,7 +15553,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4Neig }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4NeighDefaultGcThresh2() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15563,7 +15563,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4Neig }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4NeighDefaultGcThresh3() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15573,7 +15573,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4Neig }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpFinTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15583,7 +15583,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpF }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpKeepaliveIntvl() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15593,7 +15593,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpK }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpKeepaliveProbes() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15603,7 +15603,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpK }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpKeepaliveTime() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15613,7 +15613,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpK }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpMaxSynBacklog() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15623,7 +15623,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpM }).(pulumi.IntPtrOutput) } -// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. +// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpMaxTwBuckets() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15633,7 +15633,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpM }).(pulumi.IntPtrOutput) } -// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. +// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpTwReuse() pulumi.BoolPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *bool { if v == nil { @@ -15643,7 +15643,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetIpv4TcpT }).(pulumi.BoolPtrOutput) } -// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. +// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetNetfilterNfConntrackBuckets() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15653,7 +15653,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetNetfilte }).(pulumi.IntPtrOutput) } -// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. +// The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetNetfilterNfConntrackMax() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15663,7 +15663,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) NetNetfilte }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. +// The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) VmMaxMapCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15673,7 +15673,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) VmMaxMapCou }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. +// The sysctl setting vm.swappiness. Must be between `0` and `100`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) VmSwappiness() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15683,7 +15683,7 @@ func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) VmSwappines }).(pulumi.IntPtrOutput) } -// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. +// The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. func (o KubernetesClusterNodePoolLinuxOsConfigSysctlConfigPtrOutput) VmVfsCachePressure() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolLinuxOsConfigSysctlConfig) *int { if v == nil { @@ -15990,7 +15990,7 @@ type KubernetesClusterNodePoolUpgradeSettings struct { DrainTimeoutInMinutes *int `pulumi:"drainTimeoutInMinutes"` // The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. MaxSurge string `pulumi:"maxSurge"` - // The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + // The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. NodeSoakDurationInMinutes *int `pulumi:"nodeSoakDurationInMinutes"` } @@ -16010,7 +16010,7 @@ type KubernetesClusterNodePoolUpgradeSettingsArgs struct { DrainTimeoutInMinutes pulumi.IntPtrInput `pulumi:"drainTimeoutInMinutes"` // The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. MaxSurge pulumi.StringInput `pulumi:"maxSurge"` - // The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + // The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. NodeSoakDurationInMinutes pulumi.IntPtrInput `pulumi:"nodeSoakDurationInMinutes"` } @@ -16101,7 +16101,7 @@ func (o KubernetesClusterNodePoolUpgradeSettingsOutput) MaxSurge() pulumi.String return o.ApplyT(func(v KubernetesClusterNodePoolUpgradeSettings) string { return v.MaxSurge }).(pulumi.StringOutput) } -// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. +// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. func (o KubernetesClusterNodePoolUpgradeSettingsOutput) NodeSoakDurationInMinutes() pulumi.IntPtrOutput { return o.ApplyT(func(v KubernetesClusterNodePoolUpgradeSettings) *int { return v.NodeSoakDurationInMinutes }).(pulumi.IntPtrOutput) } @@ -16150,7 +16150,7 @@ func (o KubernetesClusterNodePoolUpgradeSettingsPtrOutput) MaxSurge() pulumi.Str }).(pulumi.StringPtrOutput) } -// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. +// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. func (o KubernetesClusterNodePoolUpgradeSettingsPtrOutput) NodeSoakDurationInMinutes() pulumi.IntPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePoolUpgradeSettings) *int { if v == nil { @@ -18357,6 +18357,345 @@ func (o KubernetesFleetManagerHubProfilePtrOutput) KubernetesVersion() pulumi.St }).(pulumi.StringPtrOutput) } +type RegistryCredentialSetAuthenticationCredentials struct { + // The URI of the secret containing the password in a Key Vault. + // + // > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + PasswordSecretId string `pulumi:"passwordSecretId"` + // The URI of the secret containing the username in a Key Vault. + UsernameSecretId string `pulumi:"usernameSecretId"` +} + +// RegistryCredentialSetAuthenticationCredentialsInput is an input type that accepts RegistryCredentialSetAuthenticationCredentialsArgs and RegistryCredentialSetAuthenticationCredentialsOutput values. +// You can construct a concrete instance of `RegistryCredentialSetAuthenticationCredentialsInput` via: +// +// RegistryCredentialSetAuthenticationCredentialsArgs{...} +type RegistryCredentialSetAuthenticationCredentialsInput interface { + pulumi.Input + + ToRegistryCredentialSetAuthenticationCredentialsOutput() RegistryCredentialSetAuthenticationCredentialsOutput + ToRegistryCredentialSetAuthenticationCredentialsOutputWithContext(context.Context) RegistryCredentialSetAuthenticationCredentialsOutput +} + +type RegistryCredentialSetAuthenticationCredentialsArgs struct { + // The URI of the secret containing the password in a Key Vault. + // + // > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + PasswordSecretId pulumi.StringInput `pulumi:"passwordSecretId"` + // The URI of the secret containing the username in a Key Vault. + UsernameSecretId pulumi.StringInput `pulumi:"usernameSecretId"` +} + +func (RegistryCredentialSetAuthenticationCredentialsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RegistryCredentialSetAuthenticationCredentials)(nil)).Elem() +} + +func (i RegistryCredentialSetAuthenticationCredentialsArgs) ToRegistryCredentialSetAuthenticationCredentialsOutput() RegistryCredentialSetAuthenticationCredentialsOutput { + return i.ToRegistryCredentialSetAuthenticationCredentialsOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetAuthenticationCredentialsArgs) ToRegistryCredentialSetAuthenticationCredentialsOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetAuthenticationCredentialsOutput) +} + +func (i RegistryCredentialSetAuthenticationCredentialsArgs) ToRegistryCredentialSetAuthenticationCredentialsPtrOutput() RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return i.ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetAuthenticationCredentialsArgs) ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetAuthenticationCredentialsOutput).ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(ctx) +} + +// RegistryCredentialSetAuthenticationCredentialsPtrInput is an input type that accepts RegistryCredentialSetAuthenticationCredentialsArgs, RegistryCredentialSetAuthenticationCredentialsPtr and RegistryCredentialSetAuthenticationCredentialsPtrOutput values. +// You can construct a concrete instance of `RegistryCredentialSetAuthenticationCredentialsPtrInput` via: +// +// RegistryCredentialSetAuthenticationCredentialsArgs{...} +// +// or: +// +// nil +type RegistryCredentialSetAuthenticationCredentialsPtrInput interface { + pulumi.Input + + ToRegistryCredentialSetAuthenticationCredentialsPtrOutput() RegistryCredentialSetAuthenticationCredentialsPtrOutput + ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(context.Context) RegistryCredentialSetAuthenticationCredentialsPtrOutput +} + +type registryCredentialSetAuthenticationCredentialsPtrType RegistryCredentialSetAuthenticationCredentialsArgs + +func RegistryCredentialSetAuthenticationCredentialsPtr(v *RegistryCredentialSetAuthenticationCredentialsArgs) RegistryCredentialSetAuthenticationCredentialsPtrInput { + return (*registryCredentialSetAuthenticationCredentialsPtrType)(v) +} + +func (*registryCredentialSetAuthenticationCredentialsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSetAuthenticationCredentials)(nil)).Elem() +} + +func (i *registryCredentialSetAuthenticationCredentialsPtrType) ToRegistryCredentialSetAuthenticationCredentialsPtrOutput() RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return i.ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(context.Background()) +} + +func (i *registryCredentialSetAuthenticationCredentialsPtrType) ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetAuthenticationCredentialsPtrOutput) +} + +type RegistryCredentialSetAuthenticationCredentialsOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetAuthenticationCredentialsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RegistryCredentialSetAuthenticationCredentials)(nil)).Elem() +} + +func (o RegistryCredentialSetAuthenticationCredentialsOutput) ToRegistryCredentialSetAuthenticationCredentialsOutput() RegistryCredentialSetAuthenticationCredentialsOutput { + return o +} + +func (o RegistryCredentialSetAuthenticationCredentialsOutput) ToRegistryCredentialSetAuthenticationCredentialsOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsOutput { + return o +} + +func (o RegistryCredentialSetAuthenticationCredentialsOutput) ToRegistryCredentialSetAuthenticationCredentialsPtrOutput() RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return o.ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(context.Background()) +} + +func (o RegistryCredentialSetAuthenticationCredentialsOutput) ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RegistryCredentialSetAuthenticationCredentials) *RegistryCredentialSetAuthenticationCredentials { + return &v + }).(RegistryCredentialSetAuthenticationCredentialsPtrOutput) +} + +// The URI of the secret containing the password in a Key Vault. +// +// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. +func (o RegistryCredentialSetAuthenticationCredentialsOutput) PasswordSecretId() pulumi.StringOutput { + return o.ApplyT(func(v RegistryCredentialSetAuthenticationCredentials) string { return v.PasswordSecretId }).(pulumi.StringOutput) +} + +// The URI of the secret containing the username in a Key Vault. +func (o RegistryCredentialSetAuthenticationCredentialsOutput) UsernameSecretId() pulumi.StringOutput { + return o.ApplyT(func(v RegistryCredentialSetAuthenticationCredentials) string { return v.UsernameSecretId }).(pulumi.StringOutput) +} + +type RegistryCredentialSetAuthenticationCredentialsPtrOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetAuthenticationCredentialsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSetAuthenticationCredentials)(nil)).Elem() +} + +func (o RegistryCredentialSetAuthenticationCredentialsPtrOutput) ToRegistryCredentialSetAuthenticationCredentialsPtrOutput() RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return o +} + +func (o RegistryCredentialSetAuthenticationCredentialsPtrOutput) ToRegistryCredentialSetAuthenticationCredentialsPtrOutputWithContext(ctx context.Context) RegistryCredentialSetAuthenticationCredentialsPtrOutput { + return o +} + +func (o RegistryCredentialSetAuthenticationCredentialsPtrOutput) Elem() RegistryCredentialSetAuthenticationCredentialsOutput { + return o.ApplyT(func(v *RegistryCredentialSetAuthenticationCredentials) RegistryCredentialSetAuthenticationCredentials { + if v != nil { + return *v + } + var ret RegistryCredentialSetAuthenticationCredentials + return ret + }).(RegistryCredentialSetAuthenticationCredentialsOutput) +} + +// The URI of the secret containing the password in a Key Vault. +// +// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. +func (o RegistryCredentialSetAuthenticationCredentialsPtrOutput) PasswordSecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RegistryCredentialSetAuthenticationCredentials) *string { + if v == nil { + return nil + } + return &v.PasswordSecretId + }).(pulumi.StringPtrOutput) +} + +// The URI of the secret containing the username in a Key Vault. +func (o RegistryCredentialSetAuthenticationCredentialsPtrOutput) UsernameSecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RegistryCredentialSetAuthenticationCredentials) *string { + if v == nil { + return nil + } + return &v.UsernameSecretId + }).(pulumi.StringPtrOutput) +} + +type RegistryCredentialSetIdentity struct { + // The principal ID of the Identity. + PrincipalId *string `pulumi:"principalId"` + // The tenant ID of the Identity. + TenantId *string `pulumi:"tenantId"` + // The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + Type string `pulumi:"type"` +} + +// RegistryCredentialSetIdentityInput is an input type that accepts RegistryCredentialSetIdentityArgs and RegistryCredentialSetIdentityOutput values. +// You can construct a concrete instance of `RegistryCredentialSetIdentityInput` via: +// +// RegistryCredentialSetIdentityArgs{...} +type RegistryCredentialSetIdentityInput interface { + pulumi.Input + + ToRegistryCredentialSetIdentityOutput() RegistryCredentialSetIdentityOutput + ToRegistryCredentialSetIdentityOutputWithContext(context.Context) RegistryCredentialSetIdentityOutput +} + +type RegistryCredentialSetIdentityArgs struct { + // The principal ID of the Identity. + PrincipalId pulumi.StringPtrInput `pulumi:"principalId"` + // The tenant ID of the Identity. + TenantId pulumi.StringPtrInput `pulumi:"tenantId"` + // The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (RegistryCredentialSetIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RegistryCredentialSetIdentity)(nil)).Elem() +} + +func (i RegistryCredentialSetIdentityArgs) ToRegistryCredentialSetIdentityOutput() RegistryCredentialSetIdentityOutput { + return i.ToRegistryCredentialSetIdentityOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetIdentityArgs) ToRegistryCredentialSetIdentityOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetIdentityOutput) +} + +func (i RegistryCredentialSetIdentityArgs) ToRegistryCredentialSetIdentityPtrOutput() RegistryCredentialSetIdentityPtrOutput { + return i.ToRegistryCredentialSetIdentityPtrOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetIdentityArgs) ToRegistryCredentialSetIdentityPtrOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetIdentityOutput).ToRegistryCredentialSetIdentityPtrOutputWithContext(ctx) +} + +// RegistryCredentialSetIdentityPtrInput is an input type that accepts RegistryCredentialSetIdentityArgs, RegistryCredentialSetIdentityPtr and RegistryCredentialSetIdentityPtrOutput values. +// You can construct a concrete instance of `RegistryCredentialSetIdentityPtrInput` via: +// +// RegistryCredentialSetIdentityArgs{...} +// +// or: +// +// nil +type RegistryCredentialSetIdentityPtrInput interface { + pulumi.Input + + ToRegistryCredentialSetIdentityPtrOutput() RegistryCredentialSetIdentityPtrOutput + ToRegistryCredentialSetIdentityPtrOutputWithContext(context.Context) RegistryCredentialSetIdentityPtrOutput +} + +type registryCredentialSetIdentityPtrType RegistryCredentialSetIdentityArgs + +func RegistryCredentialSetIdentityPtr(v *RegistryCredentialSetIdentityArgs) RegistryCredentialSetIdentityPtrInput { + return (*registryCredentialSetIdentityPtrType)(v) +} + +func (*registryCredentialSetIdentityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSetIdentity)(nil)).Elem() +} + +func (i *registryCredentialSetIdentityPtrType) ToRegistryCredentialSetIdentityPtrOutput() RegistryCredentialSetIdentityPtrOutput { + return i.ToRegistryCredentialSetIdentityPtrOutputWithContext(context.Background()) +} + +func (i *registryCredentialSetIdentityPtrType) ToRegistryCredentialSetIdentityPtrOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetIdentityPtrOutput) +} + +type RegistryCredentialSetIdentityOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RegistryCredentialSetIdentity)(nil)).Elem() +} + +func (o RegistryCredentialSetIdentityOutput) ToRegistryCredentialSetIdentityOutput() RegistryCredentialSetIdentityOutput { + return o +} + +func (o RegistryCredentialSetIdentityOutput) ToRegistryCredentialSetIdentityOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityOutput { + return o +} + +func (o RegistryCredentialSetIdentityOutput) ToRegistryCredentialSetIdentityPtrOutput() RegistryCredentialSetIdentityPtrOutput { + return o.ToRegistryCredentialSetIdentityPtrOutputWithContext(context.Background()) +} + +func (o RegistryCredentialSetIdentityOutput) ToRegistryCredentialSetIdentityPtrOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RegistryCredentialSetIdentity) *RegistryCredentialSetIdentity { + return &v + }).(RegistryCredentialSetIdentityPtrOutput) +} + +// The principal ID of the Identity. +func (o RegistryCredentialSetIdentityOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RegistryCredentialSetIdentity) *string { return v.PrincipalId }).(pulumi.StringPtrOutput) +} + +// The tenant ID of the Identity. +func (o RegistryCredentialSetIdentityOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RegistryCredentialSetIdentity) *string { return v.TenantId }).(pulumi.StringPtrOutput) +} + +// The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. +func (o RegistryCredentialSetIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RegistryCredentialSetIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type RegistryCredentialSetIdentityPtrOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetIdentityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSetIdentity)(nil)).Elem() +} + +func (o RegistryCredentialSetIdentityPtrOutput) ToRegistryCredentialSetIdentityPtrOutput() RegistryCredentialSetIdentityPtrOutput { + return o +} + +func (o RegistryCredentialSetIdentityPtrOutput) ToRegistryCredentialSetIdentityPtrOutputWithContext(ctx context.Context) RegistryCredentialSetIdentityPtrOutput { + return o +} + +func (o RegistryCredentialSetIdentityPtrOutput) Elem() RegistryCredentialSetIdentityOutput { + return o.ApplyT(func(v *RegistryCredentialSetIdentity) RegistryCredentialSetIdentity { + if v != nil { + return *v + } + var ret RegistryCredentialSetIdentity + return ret + }).(RegistryCredentialSetIdentityOutput) +} + +// The principal ID of the Identity. +func (o RegistryCredentialSetIdentityPtrOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RegistryCredentialSetIdentity) *string { + if v == nil { + return nil + } + return v.PrincipalId + }).(pulumi.StringPtrOutput) +} + +// The tenant ID of the Identity. +func (o RegistryCredentialSetIdentityPtrOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RegistryCredentialSetIdentity) *string { + if v == nil { + return nil + } + return v.TenantId + }).(pulumi.StringPtrOutput) +} + +// The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. +func (o RegistryCredentialSetIdentityPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RegistryCredentialSetIdentity) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + type RegistryEncryption struct { // The client ID of the managed identity associated with the encryption key. IdentityClientId string `pulumi:"identityClientId"` @@ -25214,6 +25553,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KubernetesClusterWorkloadAutoscalerProfilePtrInput)(nil)).Elem(), KubernetesClusterWorkloadAutoscalerProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KubernetesFleetManagerHubProfileInput)(nil)).Elem(), KubernetesFleetManagerHubProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KubernetesFleetManagerHubProfilePtrInput)(nil)).Elem(), KubernetesFleetManagerHubProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetAuthenticationCredentialsInput)(nil)).Elem(), RegistryCredentialSetAuthenticationCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetAuthenticationCredentialsPtrInput)(nil)).Elem(), RegistryCredentialSetAuthenticationCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetIdentityInput)(nil)).Elem(), RegistryCredentialSetIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetIdentityPtrInput)(nil)).Elem(), RegistryCredentialSetIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegistryEncryptionInput)(nil)).Elem(), RegistryEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegistryEncryptionPtrInput)(nil)).Elem(), RegistryEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegistryGeoreplicationInput)(nil)).Elem(), RegistryGeoreplicationArgs{}) @@ -25492,6 +25835,10 @@ func init() { pulumi.RegisterOutputType(KubernetesClusterWorkloadAutoscalerProfilePtrOutput{}) pulumi.RegisterOutputType(KubernetesFleetManagerHubProfileOutput{}) pulumi.RegisterOutputType(KubernetesFleetManagerHubProfilePtrOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetAuthenticationCredentialsOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetAuthenticationCredentialsPtrOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetIdentityOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetIdentityPtrOutput{}) pulumi.RegisterOutputType(RegistryEncryptionOutput{}) pulumi.RegisterOutputType(RegistryEncryptionPtrOutput{}) pulumi.RegisterOutputType(RegistryGeoreplicationOutput{}) diff --git a/sdk/go/azure/containerservice/registryCredentialSet.go b/sdk/go/azure/containerservice/registryCredentialSet.go new file mode 100644 index 0000000000..10fafbe7df --- /dev/null +++ b/sdk/go/azure/containerservice/registryCredentialSet.go @@ -0,0 +1,469 @@ +// 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 containerservice + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Container Registry Credential Set. +// +// ## Example Usage +// +// ### Minimal) +// +// > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "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 +// } +// _, err = containerservice.NewRegistry(ctx, "example", &containerservice.RegistryArgs{ +// Name: pulumi.String("exampleContainerRegistry"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// Sku: pulumi.String("Basic"), +// }) +// if err != nil { +// return err +// } +// _, err = containerservice.NewRegistryCredentialSet(ctx, "example", &containerservice.RegistryCredentialSetArgs{ +// Name: pulumi.String("exampleCredentialSet"), +// ContainerRegistryId: pulumi.String("azurerm_container_registry.example.id"), +// LoginServer: pulumi.String("docker.io"), +// Identity: &containerservice.RegistryCredentialSetIdentityArgs{ +// Type: pulumi.String("SystemAssigned"), +// }, +// AuthenticationCredentials: &containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{ +// UsernameSecretId: pulumi.String("https://example-keyvault.vault.azure.net/secrets/example-user-name"), +// PasswordSecretId: pulumi.String("https://example-keyvault.vault.azure.net/secrets/example-user-password"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Full) +// +// This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault" +// "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 +// } +// current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil) +// if err != nil { +// return err +// } +// exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{ +// Name: pulumi.String("examplekeyvault"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// TenantId: pulumi.String(current.TenantId), +// SkuName: pulumi.String("standard"), +// SoftDeleteRetentionDays: pulumi.Int(7), +// AccessPolicies: keyvault.KeyVaultAccessPolicyArray{ +// &keyvault.KeyVaultAccessPolicyArgs{ +// TenantId: pulumi.String(current.TenantId), +// ObjectId: pulumi.String(current.ObjectId), +// CertificatePermissions: pulumi.StringArray{}, +// KeyPermissions: pulumi.StringArray{}, +// SecretPermissions: pulumi.StringArray{ +// pulumi.String("Get"), +// pulumi.String("Set"), +// pulumi.String("Delete"), +// pulumi.String("Purge"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// exampleUser, err := keyvault.NewSecret(ctx, "example_user", &keyvault.SecretArgs{ +// KeyVaultId: exampleKeyVault.ID(), +// Name: pulumi.String("example-user-name"), +// Value: pulumi.String("name"), +// }) +// if err != nil { +// return err +// } +// examplePassword, err := keyvault.NewSecret(ctx, "example_password", &keyvault.SecretArgs{ +// KeyVaultId: exampleKeyVault.ID(), +// Name: pulumi.String("example-user-password"), +// Value: pulumi.String("password"), +// }) +// if err != nil { +// return err +// } +// _, err = containerservice.NewRegistry(ctx, "example", &containerservice.RegistryArgs{ +// Name: pulumi.String("exampleContainerRegistry"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// Sku: pulumi.String("Basic"), +// }) +// if err != nil { +// return err +// } +// exampleRegistryCredentialSet, err := containerservice.NewRegistryCredentialSet(ctx, "example", &containerservice.RegistryCredentialSetArgs{ +// Name: pulumi.String("exampleCredentialSet"), +// ContainerRegistryId: pulumi.String("azurerm_container_registry.example.id"), +// LoginServer: pulumi.String("docker.io"), +// Identity: &containerservice.RegistryCredentialSetIdentityArgs{ +// Type: pulumi.String("SystemAssigned"), +// }, +// AuthenticationCredentials: &containerservice.RegistryCredentialSetAuthenticationCredentialsArgs{ +// UsernameSecretId: exampleUser.VersionlessId, +// PasswordSecretId: examplePassword.VersionlessId, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = keyvault.NewAccessPolicy(ctx, "read_secrets", &keyvault.AccessPolicyArgs{ +// KeyVaultId: exampleKeyVault.ID(), +// TenantId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) { +// return &identity.TenantId, nil +// }).(pulumi.StringPtrOutput)), +// ObjectId: pulumi.String(exampleRegistryCredentialSet.Identity.ApplyT(func(identity containerservice.RegistryCredentialSetIdentity) (*string, error) { +// return &identity.PrincipalId, nil +// }).(pulumi.StringPtrOutput)), +// SecretPermissions: pulumi.StringArray{ +// pulumi.String("Get"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Container Registry Credential Sets can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 +// ``` +type RegistryCredentialSet struct { + pulumi.CustomResourceState + + // A `authenticationCredentials` block as defined below. + AuthenticationCredentials RegistryCredentialSetAuthenticationCredentialsOutput `pulumi:"authenticationCredentials"` + // The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + ContainerRegistryId pulumi.StringOutput `pulumi:"containerRegistryId"` + // An `identity` block as defined below. + Identity RegistryCredentialSetIdentityOutput `pulumi:"identity"` + // The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + LoginServer pulumi.StringOutput `pulumi:"loginServer"` + // The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewRegistryCredentialSet registers a new resource with the given unique name, arguments, and options. +func NewRegistryCredentialSet(ctx *pulumi.Context, + name string, args *RegistryCredentialSetArgs, opts ...pulumi.ResourceOption) (*RegistryCredentialSet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthenticationCredentials == nil { + return nil, errors.New("invalid value for required argument 'AuthenticationCredentials'") + } + if args.ContainerRegistryId == nil { + return nil, errors.New("invalid value for required argument 'ContainerRegistryId'") + } + if args.Identity == nil { + return nil, errors.New("invalid value for required argument 'Identity'") + } + if args.LoginServer == nil { + return nil, errors.New("invalid value for required argument 'LoginServer'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RegistryCredentialSet + err := ctx.RegisterResource("azure:containerservice/registryCredentialSet:RegistryCredentialSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRegistryCredentialSet gets an existing RegistryCredentialSet 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 GetRegistryCredentialSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RegistryCredentialSetState, opts ...pulumi.ResourceOption) (*RegistryCredentialSet, error) { + var resource RegistryCredentialSet + err := ctx.ReadResource("azure:containerservice/registryCredentialSet:RegistryCredentialSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RegistryCredentialSet resources. +type registryCredentialSetState struct { + // A `authenticationCredentials` block as defined below. + AuthenticationCredentials *RegistryCredentialSetAuthenticationCredentials `pulumi:"authenticationCredentials"` + // The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + ContainerRegistryId *string `pulumi:"containerRegistryId"` + // An `identity` block as defined below. + Identity *RegistryCredentialSetIdentity `pulumi:"identity"` + // The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + LoginServer *string `pulumi:"loginServer"` + // The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + Name *string `pulumi:"name"` +} + +type RegistryCredentialSetState struct { + // A `authenticationCredentials` block as defined below. + AuthenticationCredentials RegistryCredentialSetAuthenticationCredentialsPtrInput + // The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + ContainerRegistryId pulumi.StringPtrInput + // An `identity` block as defined below. + Identity RegistryCredentialSetIdentityPtrInput + // The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + LoginServer pulumi.StringPtrInput + // The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + Name pulumi.StringPtrInput +} + +func (RegistryCredentialSetState) ElementType() reflect.Type { + return reflect.TypeOf((*registryCredentialSetState)(nil)).Elem() +} + +type registryCredentialSetArgs struct { + // A `authenticationCredentials` block as defined below. + AuthenticationCredentials RegistryCredentialSetAuthenticationCredentials `pulumi:"authenticationCredentials"` + // The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + ContainerRegistryId string `pulumi:"containerRegistryId"` + // An `identity` block as defined below. + Identity RegistryCredentialSetIdentity `pulumi:"identity"` + // The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + LoginServer string `pulumi:"loginServer"` + // The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a RegistryCredentialSet resource. +type RegistryCredentialSetArgs struct { + // A `authenticationCredentials` block as defined below. + AuthenticationCredentials RegistryCredentialSetAuthenticationCredentialsInput + // The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + ContainerRegistryId pulumi.StringInput + // An `identity` block as defined below. + Identity RegistryCredentialSetIdentityInput + // The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + LoginServer pulumi.StringInput + // The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + Name pulumi.StringPtrInput +} + +func (RegistryCredentialSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*registryCredentialSetArgs)(nil)).Elem() +} + +type RegistryCredentialSetInput interface { + pulumi.Input + + ToRegistryCredentialSetOutput() RegistryCredentialSetOutput + ToRegistryCredentialSetOutputWithContext(ctx context.Context) RegistryCredentialSetOutput +} + +func (*RegistryCredentialSet) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSet)(nil)).Elem() +} + +func (i *RegistryCredentialSet) ToRegistryCredentialSetOutput() RegistryCredentialSetOutput { + return i.ToRegistryCredentialSetOutputWithContext(context.Background()) +} + +func (i *RegistryCredentialSet) ToRegistryCredentialSetOutputWithContext(ctx context.Context) RegistryCredentialSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetOutput) +} + +// RegistryCredentialSetArrayInput is an input type that accepts RegistryCredentialSetArray and RegistryCredentialSetArrayOutput values. +// You can construct a concrete instance of `RegistryCredentialSetArrayInput` via: +// +// RegistryCredentialSetArray{ RegistryCredentialSetArgs{...} } +type RegistryCredentialSetArrayInput interface { + pulumi.Input + + ToRegistryCredentialSetArrayOutput() RegistryCredentialSetArrayOutput + ToRegistryCredentialSetArrayOutputWithContext(context.Context) RegistryCredentialSetArrayOutput +} + +type RegistryCredentialSetArray []RegistryCredentialSetInput + +func (RegistryCredentialSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RegistryCredentialSet)(nil)).Elem() +} + +func (i RegistryCredentialSetArray) ToRegistryCredentialSetArrayOutput() RegistryCredentialSetArrayOutput { + return i.ToRegistryCredentialSetArrayOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetArray) ToRegistryCredentialSetArrayOutputWithContext(ctx context.Context) RegistryCredentialSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetArrayOutput) +} + +// RegistryCredentialSetMapInput is an input type that accepts RegistryCredentialSetMap and RegistryCredentialSetMapOutput values. +// You can construct a concrete instance of `RegistryCredentialSetMapInput` via: +// +// RegistryCredentialSetMap{ "key": RegistryCredentialSetArgs{...} } +type RegistryCredentialSetMapInput interface { + pulumi.Input + + ToRegistryCredentialSetMapOutput() RegistryCredentialSetMapOutput + ToRegistryCredentialSetMapOutputWithContext(context.Context) RegistryCredentialSetMapOutput +} + +type RegistryCredentialSetMap map[string]RegistryCredentialSetInput + +func (RegistryCredentialSetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RegistryCredentialSet)(nil)).Elem() +} + +func (i RegistryCredentialSetMap) ToRegistryCredentialSetMapOutput() RegistryCredentialSetMapOutput { + return i.ToRegistryCredentialSetMapOutputWithContext(context.Background()) +} + +func (i RegistryCredentialSetMap) ToRegistryCredentialSetMapOutputWithContext(ctx context.Context) RegistryCredentialSetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RegistryCredentialSetMapOutput) +} + +type RegistryCredentialSetOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RegistryCredentialSet)(nil)).Elem() +} + +func (o RegistryCredentialSetOutput) ToRegistryCredentialSetOutput() RegistryCredentialSetOutput { + return o +} + +func (o RegistryCredentialSetOutput) ToRegistryCredentialSetOutputWithContext(ctx context.Context) RegistryCredentialSetOutput { + return o +} + +// A `authenticationCredentials` block as defined below. +func (o RegistryCredentialSetOutput) AuthenticationCredentials() RegistryCredentialSetAuthenticationCredentialsOutput { + return o.ApplyT(func(v *RegistryCredentialSet) RegistryCredentialSetAuthenticationCredentialsOutput { + return v.AuthenticationCredentials + }).(RegistryCredentialSetAuthenticationCredentialsOutput) +} + +// The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. +func (o RegistryCredentialSetOutput) ContainerRegistryId() pulumi.StringOutput { + return o.ApplyT(func(v *RegistryCredentialSet) pulumi.StringOutput { return v.ContainerRegistryId }).(pulumi.StringOutput) +} + +// An `identity` block as defined below. +func (o RegistryCredentialSetOutput) Identity() RegistryCredentialSetIdentityOutput { + return o.ApplyT(func(v *RegistryCredentialSet) RegistryCredentialSetIdentityOutput { return v.Identity }).(RegistryCredentialSetIdentityOutput) +} + +// The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. +func (o RegistryCredentialSetOutput) LoginServer() pulumi.StringOutput { + return o.ApplyT(func(v *RegistryCredentialSet) pulumi.StringOutput { return v.LoginServer }).(pulumi.StringOutput) +} + +// The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. +func (o RegistryCredentialSetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RegistryCredentialSet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type RegistryCredentialSetArrayOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RegistryCredentialSet)(nil)).Elem() +} + +func (o RegistryCredentialSetArrayOutput) ToRegistryCredentialSetArrayOutput() RegistryCredentialSetArrayOutput { + return o +} + +func (o RegistryCredentialSetArrayOutput) ToRegistryCredentialSetArrayOutputWithContext(ctx context.Context) RegistryCredentialSetArrayOutput { + return o +} + +func (o RegistryCredentialSetArrayOutput) Index(i pulumi.IntInput) RegistryCredentialSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RegistryCredentialSet { + return vs[0].([]*RegistryCredentialSet)[vs[1].(int)] + }).(RegistryCredentialSetOutput) +} + +type RegistryCredentialSetMapOutput struct{ *pulumi.OutputState } + +func (RegistryCredentialSetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RegistryCredentialSet)(nil)).Elem() +} + +func (o RegistryCredentialSetMapOutput) ToRegistryCredentialSetMapOutput() RegistryCredentialSetMapOutput { + return o +} + +func (o RegistryCredentialSetMapOutput) ToRegistryCredentialSetMapOutputWithContext(ctx context.Context) RegistryCredentialSetMapOutput { + return o +} + +func (o RegistryCredentialSetMapOutput) MapIndex(k pulumi.StringInput) RegistryCredentialSetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RegistryCredentialSet { + return vs[0].(map[string]*RegistryCredentialSet)[vs[1].(string)] + }).(RegistryCredentialSetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetInput)(nil)).Elem(), &RegistryCredentialSet{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetArrayInput)(nil)).Elem(), RegistryCredentialSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RegistryCredentialSetMapInput)(nil)).Elem(), RegistryCredentialSetMap{}) + pulumi.RegisterOutputType(RegistryCredentialSetOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetArrayOutput{}) + pulumi.RegisterOutputType(RegistryCredentialSetMapOutput{}) +} diff --git a/sdk/go/azure/costmanagement/anomalyAlert.go b/sdk/go/azure/costmanagement/anomalyAlert.go index a9b27cc4d2..258cc19fc1 100644 --- a/sdk/go/azure/costmanagement/anomalyAlert.go +++ b/sdk/go/azure/costmanagement/anomalyAlert.go @@ -68,6 +68,8 @@ type AnomalyAlert struct { Message pulumi.StringPtrOutput `pulumi:"message"` // The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. Name pulumi.StringOutput `pulumi:"name"` + // The email address of the point of contact that should get the unsubscribe requests and notification emails. + NotificationEmail pulumi.StringOutput `pulumi:"notificationEmail"` // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. SubscriptionId pulumi.StringOutput `pulumi:"subscriptionId"` } @@ -121,6 +123,8 @@ type anomalyAlertState struct { Message *string `pulumi:"message"` // The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. Name *string `pulumi:"name"` + // The email address of the point of contact that should get the unsubscribe requests and notification emails. + NotificationEmail *string `pulumi:"notificationEmail"` // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. SubscriptionId *string `pulumi:"subscriptionId"` } @@ -136,6 +140,8 @@ type AnomalyAlertState struct { Message pulumi.StringPtrInput // The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. Name pulumi.StringPtrInput + // The email address of the point of contact that should get the unsubscribe requests and notification emails. + NotificationEmail pulumi.StringPtrInput // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. SubscriptionId pulumi.StringPtrInput } @@ -155,6 +161,8 @@ type anomalyAlertArgs struct { Message *string `pulumi:"message"` // The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. Name *string `pulumi:"name"` + // The email address of the point of contact that should get the unsubscribe requests and notification emails. + NotificationEmail *string `pulumi:"notificationEmail"` // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. SubscriptionId *string `pulumi:"subscriptionId"` } @@ -171,6 +179,8 @@ type AnomalyAlertArgs struct { Message pulumi.StringPtrInput // The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. Name pulumi.StringPtrInput + // The email address of the point of contact that should get the unsubscribe requests and notification emails. + NotificationEmail pulumi.StringPtrInput // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. SubscriptionId pulumi.StringPtrInput } @@ -287,6 +297,11 @@ func (o AnomalyAlertOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *AnomalyAlert) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// The email address of the point of contact that should get the unsubscribe requests and notification emails. +func (o AnomalyAlertOutput) NotificationEmail() pulumi.StringOutput { + return o.ApplyT(func(v *AnomalyAlert) pulumi.StringOutput { return v.NotificationEmail }).(pulumi.StringOutput) +} + // The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. func (o AnomalyAlertOutput) SubscriptionId() pulumi.StringOutput { return o.ApplyT(func(v *AnomalyAlert) pulumi.StringOutput { return v.SubscriptionId }).(pulumi.StringOutput) diff --git a/sdk/go/azure/dataprotection/backupVault.go b/sdk/go/azure/dataprotection/backupVault.go index 075c0151b7..56b928b3b6 100644 --- a/sdk/go/azure/dataprotection/backupVault.go +++ b/sdk/go/azure/dataprotection/backupVault.go @@ -72,6 +72,8 @@ type BackupVault struct { DatastoreType pulumi.StringOutput `pulumi:"datastoreType"` // An `identity` block as defined below. Identity BackupVaultIdentityPtrOutput `pulumi:"identity"` + // The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + Immutability pulumi.StringPtrOutput `pulumi:"immutability"` // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. Location pulumi.StringOutput `pulumi:"location"` // Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. @@ -84,7 +86,7 @@ type BackupVault struct { // // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. RetentionDurationInDays pulumi.Float64PtrOutput `pulumi:"retentionDurationInDays"` - // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. SoftDelete pulumi.StringPtrOutput `pulumi:"softDelete"` @@ -141,6 +143,8 @@ type backupVaultState struct { DatastoreType *string `pulumi:"datastoreType"` // An `identity` block as defined below. Identity *BackupVaultIdentity `pulumi:"identity"` + // The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + Immutability *string `pulumi:"immutability"` // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. Location *string `pulumi:"location"` // Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. @@ -153,7 +157,7 @@ type backupVaultState struct { // // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. RetentionDurationInDays *float64 `pulumi:"retentionDurationInDays"` - // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. SoftDelete *string `pulumi:"softDelete"` @@ -172,6 +176,8 @@ type BackupVaultState struct { DatastoreType pulumi.StringPtrInput // An `identity` block as defined below. Identity BackupVaultIdentityPtrInput + // The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + Immutability pulumi.StringPtrInput // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. Location pulumi.StringPtrInput // Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. @@ -184,7 +190,7 @@ type BackupVaultState struct { // // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. RetentionDurationInDays pulumi.Float64PtrInput - // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. SoftDelete pulumi.StringPtrInput @@ -207,6 +213,8 @@ type backupVaultArgs struct { DatastoreType string `pulumi:"datastoreType"` // An `identity` block as defined below. Identity *BackupVaultIdentity `pulumi:"identity"` + // The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + Immutability *string `pulumi:"immutability"` // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. Location *string `pulumi:"location"` // Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. @@ -219,7 +227,7 @@ type backupVaultArgs struct { // // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. RetentionDurationInDays *float64 `pulumi:"retentionDurationInDays"` - // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. SoftDelete *string `pulumi:"softDelete"` @@ -239,6 +247,8 @@ type BackupVaultArgs struct { DatastoreType pulumi.StringInput // An `identity` block as defined below. Identity BackupVaultIdentityPtrInput + // The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + Immutability pulumi.StringPtrInput // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. Location pulumi.StringPtrInput // Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. @@ -251,7 +261,7 @@ type BackupVaultArgs struct { // // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. RetentionDurationInDays pulumi.Float64PtrInput - // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. SoftDelete pulumi.StringPtrInput @@ -365,6 +375,11 @@ func (o BackupVaultOutput) Identity() BackupVaultIdentityPtrOutput { return o.ApplyT(func(v *BackupVault) BackupVaultIdentityPtrOutput { return v.Identity }).(BackupVaultIdentityPtrOutput) } +// The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. +func (o BackupVaultOutput) Immutability() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BackupVault) pulumi.StringPtrOutput { return v.Immutability }).(pulumi.StringPtrOutput) +} + // The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. func (o BackupVaultOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v *BackupVault) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) @@ -392,7 +407,7 @@ func (o BackupVaultOutput) RetentionDurationInDays() pulumi.Float64PtrOutput { return o.ApplyT(func(v *BackupVault) pulumi.Float64PtrOutput { return v.RetentionDurationInDays }).(pulumi.Float64PtrOutput) } -// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. +// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. // // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. func (o BackupVaultOutput) SoftDelete() pulumi.StringPtrOutput { diff --git a/sdk/go/azure/eventhub/namespace.go b/sdk/go/azure/eventhub/namespace.go index 4efe01ec36..b88d714016 100644 --- a/sdk/go/azure/eventhub/namespace.go +++ b/sdk/go/azure/eventhub/namespace.go @@ -87,6 +87,8 @@ type Namespace struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringOutput `pulumi:"name"` @@ -171,6 +173,8 @@ type namespaceState struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion *string `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name *string `pulumi:"name"` @@ -213,6 +217,8 @@ type NamespaceState struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrInput // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringPtrInput @@ -249,6 +255,8 @@ type namespaceArgs struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion *string `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name *string `pulumi:"name"` @@ -282,6 +290,8 @@ type NamespaceArgs struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrInput // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringPtrInput @@ -440,6 +450,8 @@ func (o NamespaceOutput) Location() pulumi.StringOutput { } // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. +// +// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. func (o NamespaceOutput) MinimumTlsVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.MinimumTlsVersion }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/mssql/init.go b/sdk/go/azure/mssql/init.go index d7909863f5..a272286b36 100644 --- a/sdk/go/azure/mssql/init.go +++ b/sdk/go/azure/mssql/init.go @@ -33,10 +33,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &FailoverGroup{} case "azure:mssql/firewallRule:FirewallRule": r = &FirewallRule{} + case "azure:mssql/job:Job": + r = &Job{} case "azure:mssql/jobAgent:JobAgent": r = &JobAgent{} case "azure:mssql/jobCredential:JobCredential": r = &JobCredential{} + case "azure:mssql/jobSchedule:JobSchedule": + r = &JobSchedule{} case "azure:mssql/managedDatabase:ManagedDatabase": r = &ManagedDatabase{} case "azure:mssql/managedInstance:ManagedInstance": @@ -118,6 +122,11 @@ func init() { "mssql/firewallRule", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "mssql/job", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "mssql/jobAgent", @@ -128,6 +137,11 @@ func init() { "mssql/jobCredential", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "mssql/jobSchedule", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "mssql/managedDatabase", diff --git a/sdk/go/azure/mssql/job.go b/sdk/go/azure/mssql/job.go new file mode 100644 index 0000000000..c03f87b47c --- /dev/null +++ b/sdk/go/azure/mssql/job.go @@ -0,0 +1,330 @@ +// 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 mssql + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an Elastic Job. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql" +// "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-resource-group"), +// Location: pulumi.String("East US"), +// }) +// if err != nil { +// return err +// } +// exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{ +// Name: pulumi.String("example-server"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// Version: pulumi.String("12.0"), +// AdministratorLogin: pulumi.String("4dm1n157r470r"), +// AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"), +// }) +// if err != nil { +// return err +// } +// exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{ +// Name: pulumi.String("example-db"), +// ServerId: exampleServer.ID(), +// Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"), +// SkuName: pulumi.String("S1"), +// }) +// if err != nil { +// return err +// } +// exampleJobAgent, err := mssql.NewJobAgent(ctx, "example", &mssql.JobAgentArgs{ +// Name: pulumi.String("example-job-agent"), +// Location: example.Location, +// DatabaseId: exampleDatabase.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = mssql.NewJobCredential(ctx, "example", &mssql.JobCredentialArgs{ +// Name: pulumi.String("example-job-credential"), +// JobAgentId: exampleJobAgent.ID(), +// Username: pulumi.String("my-username"), +// Password: pulumi.String("MyP4ssw0rd!!!"), +// }) +// if err != nil { +// return err +// } +// _, err = mssql.NewJob(ctx, "example", &mssql.JobArgs{ +// Name: pulumi.String("example-job"), +// JobAgentId: exampleJobAgent.ID(), +// Description: pulumi.String("example description"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Elastic Jobs can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 +// ``` +type Job struct { + pulumi.CustomResourceState + + // The description of the Elastic Job. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + JobAgentId pulumi.StringOutput `pulumi:"jobAgentId"` + // The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + Name pulumi.StringOutput `pulumi:"name"` +} + +// 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.JobAgentId == nil { + return nil, errors.New("invalid value for required argument 'JobAgentId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Job + err := ctx.RegisterResource("azure:mssql/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:mssql/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 description of the Elastic Job. + Description *string `pulumi:"description"` + // The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + JobAgentId *string `pulumi:"jobAgentId"` + // The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + Name *string `pulumi:"name"` +} + +type JobState struct { + // The description of the Elastic Job. + Description pulumi.StringPtrInput + // The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + JobAgentId pulumi.StringPtrInput + // The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + Name pulumi.StringPtrInput +} + +func (JobState) ElementType() reflect.Type { + return reflect.TypeOf((*jobState)(nil)).Elem() +} + +type jobArgs struct { + // The description of the Elastic Job. + Description *string `pulumi:"description"` + // The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + JobAgentId string `pulumi:"jobAgentId"` + // The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a Job resource. +type JobArgs struct { + // The description of the Elastic Job. + Description pulumi.StringPtrInput + // The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + JobAgentId pulumi.StringInput + // The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + Name 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 description of the Elastic Job. +func (o JobOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Job) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. +func (o JobOutput) JobAgentId() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.JobAgentId }).(pulumi.StringOutput) +} + +// The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. +func (o JobOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +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/mssql/jobSchedule.go b/sdk/go/azure/mssql/jobSchedule.go new file mode 100644 index 0000000000..49efe4516c --- /dev/null +++ b/sdk/go/azure/mssql/jobSchedule.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 mssql + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an Elastic Job Schedule. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql" +// "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-resource-group"), +// Location: pulumi.String("East US"), +// }) +// if err != nil { +// return err +// } +// exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{ +// Name: pulumi.String("example-server"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// Version: pulumi.String("12.0"), +// AdministratorLogin: pulumi.String("4dm1n157r470r"), +// AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"), +// }) +// if err != nil { +// return err +// } +// exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{ +// Name: pulumi.String("example-db"), +// ServerId: exampleServer.ID(), +// Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"), +// SkuName: pulumi.String("S1"), +// }) +// if err != nil { +// return err +// } +// exampleJobAgent, err := mssql.NewJobAgent(ctx, "example", &mssql.JobAgentArgs{ +// Name: pulumi.String("example-job-agent"), +// Location: example.Location, +// DatabaseId: exampleDatabase.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = mssql.NewJobCredential(ctx, "example", &mssql.JobCredentialArgs{ +// Name: pulumi.String("example-job-credential"), +// JobAgentId: exampleJobAgent.ID(), +// Username: pulumi.String("my-username"), +// Password: pulumi.String("MyP4ssw0rd!!!"), +// }) +// if err != nil { +// return err +// } +// exampleJob, err := mssql.NewJob(ctx, "example", &mssql.JobArgs{ +// Name: pulumi.String("example-job"), +// JobAgentId: exampleJobAgent.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = mssql.NewJobSchedule(ctx, "example", &mssql.JobScheduleArgs{ +// JobId: exampleJob.ID(), +// Type: pulumi.String("Recurring"), +// Enabled: pulumi.Bool(true), +// EndTime: pulumi.String("2025-12-01T00:00:00Z"), +// Interval: pulumi.String("PT5M"), +// StartTime: pulumi.String("2025-01-01T00:00:00Z"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Elastic Job Schedules can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 +// ``` +type JobSchedule struct { + pulumi.CustomResourceState + + // Should the Elastic Job Schedule be enabled? Defaults to `false`. + // + // > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // The end time of the schedule. Must be in RFC3339 format. + EndTime pulumi.StringOutput `pulumi:"endTime"` + // The interval between job executions. Must be in ISO8601 duration format. + Interval pulumi.StringPtrOutput `pulumi:"interval"` + // The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + JobId pulumi.StringOutput `pulumi:"jobId"` + // The start time of the schedule. Must be in RFC3339 format. + StartTime pulumi.StringOutput `pulumi:"startTime"` + // The type of schedule. Possible values are `Once` and `Recurring`. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewJobSchedule registers a new resource with the given unique name, arguments, and options. +func NewJobSchedule(ctx *pulumi.Context, + name string, args *JobScheduleArgs, opts ...pulumi.ResourceOption) (*JobSchedule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.JobId == nil { + return nil, errors.New("invalid value for required argument 'JobId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource JobSchedule + err := ctx.RegisterResource("azure:mssql/jobSchedule:JobSchedule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetJobSchedule gets an existing JobSchedule 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 GetJobSchedule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *JobScheduleState, opts ...pulumi.ResourceOption) (*JobSchedule, error) { + var resource JobSchedule + err := ctx.ReadResource("azure:mssql/jobSchedule:JobSchedule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering JobSchedule resources. +type jobScheduleState struct { + // Should the Elastic Job Schedule be enabled? Defaults to `false`. + // + // > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + Enabled *bool `pulumi:"enabled"` + // The end time of the schedule. Must be in RFC3339 format. + EndTime *string `pulumi:"endTime"` + // The interval between job executions. Must be in ISO8601 duration format. + Interval *string `pulumi:"interval"` + // The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + JobId *string `pulumi:"jobId"` + // The start time of the schedule. Must be in RFC3339 format. + StartTime *string `pulumi:"startTime"` + // The type of schedule. Possible values are `Once` and `Recurring`. + Type *string `pulumi:"type"` +} + +type JobScheduleState struct { + // Should the Elastic Job Schedule be enabled? Defaults to `false`. + // + // > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + Enabled pulumi.BoolPtrInput + // The end time of the schedule. Must be in RFC3339 format. + EndTime pulumi.StringPtrInput + // The interval between job executions. Must be in ISO8601 duration format. + Interval pulumi.StringPtrInput + // The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + JobId pulumi.StringPtrInput + // The start time of the schedule. Must be in RFC3339 format. + StartTime pulumi.StringPtrInput + // The type of schedule. Possible values are `Once` and `Recurring`. + Type pulumi.StringPtrInput +} + +func (JobScheduleState) ElementType() reflect.Type { + return reflect.TypeOf((*jobScheduleState)(nil)).Elem() +} + +type jobScheduleArgs struct { + // Should the Elastic Job Schedule be enabled? Defaults to `false`. + // + // > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + Enabled *bool `pulumi:"enabled"` + // The end time of the schedule. Must be in RFC3339 format. + EndTime *string `pulumi:"endTime"` + // The interval between job executions. Must be in ISO8601 duration format. + Interval *string `pulumi:"interval"` + // The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + JobId string `pulumi:"jobId"` + // The start time of the schedule. Must be in RFC3339 format. + StartTime *string `pulumi:"startTime"` + // The type of schedule. Possible values are `Once` and `Recurring`. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a JobSchedule resource. +type JobScheduleArgs struct { + // Should the Elastic Job Schedule be enabled? Defaults to `false`. + // + // > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + Enabled pulumi.BoolPtrInput + // The end time of the schedule. Must be in RFC3339 format. + EndTime pulumi.StringPtrInput + // The interval between job executions. Must be in ISO8601 duration format. + Interval pulumi.StringPtrInput + // The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + JobId pulumi.StringInput + // The start time of the schedule. Must be in RFC3339 format. + StartTime pulumi.StringPtrInput + // The type of schedule. Possible values are `Once` and `Recurring`. + Type pulumi.StringInput +} + +func (JobScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*jobScheduleArgs)(nil)).Elem() +} + +type JobScheduleInput interface { + pulumi.Input + + ToJobScheduleOutput() JobScheduleOutput + ToJobScheduleOutputWithContext(ctx context.Context) JobScheduleOutput +} + +func (*JobSchedule) ElementType() reflect.Type { + return reflect.TypeOf((**JobSchedule)(nil)).Elem() +} + +func (i *JobSchedule) ToJobScheduleOutput() JobScheduleOutput { + return i.ToJobScheduleOutputWithContext(context.Background()) +} + +func (i *JobSchedule) ToJobScheduleOutputWithContext(ctx context.Context) JobScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleOutput) +} + +// JobScheduleArrayInput is an input type that accepts JobScheduleArray and JobScheduleArrayOutput values. +// You can construct a concrete instance of `JobScheduleArrayInput` via: +// +// JobScheduleArray{ JobScheduleArgs{...} } +type JobScheduleArrayInput interface { + pulumi.Input + + ToJobScheduleArrayOutput() JobScheduleArrayOutput + ToJobScheduleArrayOutputWithContext(context.Context) JobScheduleArrayOutput +} + +type JobScheduleArray []JobScheduleInput + +func (JobScheduleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*JobSchedule)(nil)).Elem() +} + +func (i JobScheduleArray) ToJobScheduleArrayOutput() JobScheduleArrayOutput { + return i.ToJobScheduleArrayOutputWithContext(context.Background()) +} + +func (i JobScheduleArray) ToJobScheduleArrayOutputWithContext(ctx context.Context) JobScheduleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleArrayOutput) +} + +// JobScheduleMapInput is an input type that accepts JobScheduleMap and JobScheduleMapOutput values. +// You can construct a concrete instance of `JobScheduleMapInput` via: +// +// JobScheduleMap{ "key": JobScheduleArgs{...} } +type JobScheduleMapInput interface { + pulumi.Input + + ToJobScheduleMapOutput() JobScheduleMapOutput + ToJobScheduleMapOutputWithContext(context.Context) JobScheduleMapOutput +} + +type JobScheduleMap map[string]JobScheduleInput + +func (JobScheduleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*JobSchedule)(nil)).Elem() +} + +func (i JobScheduleMap) ToJobScheduleMapOutput() JobScheduleMapOutput { + return i.ToJobScheduleMapOutputWithContext(context.Background()) +} + +func (i JobScheduleMap) ToJobScheduleMapOutputWithContext(ctx context.Context) JobScheduleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobScheduleMapOutput) +} + +type JobScheduleOutput struct{ *pulumi.OutputState } + +func (JobScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobSchedule)(nil)).Elem() +} + +func (o JobScheduleOutput) ToJobScheduleOutput() JobScheduleOutput { + return o +} + +func (o JobScheduleOutput) ToJobScheduleOutputWithContext(ctx context.Context) JobScheduleOutput { + return o +} + +// Should the Elastic Job Schedule be enabled? Defaults to `false`. +// +// > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. +func (o JobScheduleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// The end time of the schedule. Must be in RFC3339 format. +func (o JobScheduleOutput) EndTime() pulumi.StringOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.StringOutput { return v.EndTime }).(pulumi.StringOutput) +} + +// The interval between job executions. Must be in ISO8601 duration format. +func (o JobScheduleOutput) Interval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.StringPtrOutput { return v.Interval }).(pulumi.StringPtrOutput) +} + +// The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. +func (o JobScheduleOutput) JobId() pulumi.StringOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.StringOutput { return v.JobId }).(pulumi.StringOutput) +} + +// The start time of the schedule. Must be in RFC3339 format. +func (o JobScheduleOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.StringOutput { return v.StartTime }).(pulumi.StringOutput) +} + +// The type of schedule. Possible values are `Once` and `Recurring`. +func (o JobScheduleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *JobSchedule) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +type JobScheduleArrayOutput struct{ *pulumi.OutputState } + +func (JobScheduleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*JobSchedule)(nil)).Elem() +} + +func (o JobScheduleArrayOutput) ToJobScheduleArrayOutput() JobScheduleArrayOutput { + return o +} + +func (o JobScheduleArrayOutput) ToJobScheduleArrayOutputWithContext(ctx context.Context) JobScheduleArrayOutput { + return o +} + +func (o JobScheduleArrayOutput) Index(i pulumi.IntInput) JobScheduleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *JobSchedule { + return vs[0].([]*JobSchedule)[vs[1].(int)] + }).(JobScheduleOutput) +} + +type JobScheduleMapOutput struct{ *pulumi.OutputState } + +func (JobScheduleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*JobSchedule)(nil)).Elem() +} + +func (o JobScheduleMapOutput) ToJobScheduleMapOutput() JobScheduleMapOutput { + return o +} + +func (o JobScheduleMapOutput) ToJobScheduleMapOutputWithContext(ctx context.Context) JobScheduleMapOutput { + return o +} + +func (o JobScheduleMapOutput) MapIndex(k pulumi.StringInput) JobScheduleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *JobSchedule { + return vs[0].(map[string]*JobSchedule)[vs[1].(string)] + }).(JobScheduleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*JobScheduleInput)(nil)).Elem(), &JobSchedule{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobScheduleArrayInput)(nil)).Elem(), JobScheduleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobScheduleMapInput)(nil)).Elem(), JobScheduleMap{}) + pulumi.RegisterOutputType(JobScheduleOutput{}) + pulumi.RegisterOutputType(JobScheduleArrayOutput{}) + pulumi.RegisterOutputType(JobScheduleMapOutput{}) +} diff --git a/sdk/go/azure/redis/enterpriseCluster.go b/sdk/go/azure/redis/enterpriseCluster.go index 1626476a2a..b2e8da28b1 100644 --- a/sdk/go/azure/redis/enterpriseCluster.go +++ b/sdk/go/azure/redis/enterpriseCluster.go @@ -73,7 +73,7 @@ type EnterpriseCluster struct { Name pulumi.StringOutput `pulumi:"name"` // The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. SkuName pulumi.StringOutput `pulumi:"skuName"` // A mapping of tags which should be assigned to the Redis Enterprise Cluster. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -129,7 +129,7 @@ type enterpriseClusterState struct { Name *string `pulumi:"name"` // The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. SkuName *string `pulumi:"skuName"` // A mapping of tags which should be assigned to the Redis Enterprise Cluster. Tags map[string]string `pulumi:"tags"` @@ -150,7 +150,7 @@ type EnterpriseClusterState struct { Name pulumi.StringPtrInput // The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. ResourceGroupName pulumi.StringPtrInput - // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. SkuName pulumi.StringPtrInput // A mapping of tags which should be assigned to the Redis Enterprise Cluster. Tags pulumi.StringMapInput @@ -173,7 +173,7 @@ type enterpriseClusterArgs struct { Name *string `pulumi:"name"` // The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. SkuName string `pulumi:"skuName"` // A mapping of tags which should be assigned to the Redis Enterprise Cluster. Tags map[string]string `pulumi:"tags"` @@ -193,7 +193,7 @@ type EnterpriseClusterArgs struct { Name pulumi.StringPtrInput // The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. ResourceGroupName pulumi.StringInput - // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + // The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. SkuName pulumi.StringInput // A mapping of tags which should be assigned to the Redis Enterprise Cluster. Tags pulumi.StringMapInput @@ -315,7 +315,7 @@ func (o EnterpriseClusterOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *EnterpriseCluster) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. +// The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. func (o EnterpriseClusterOutput) SkuName() pulumi.StringOutput { return o.ApplyT(func(v *EnterpriseCluster) pulumi.StringOutput { return v.SkuName }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/servicebus/namespace.go b/sdk/go/azure/servicebus/namespace.go index b9eb321f5a..e3412ebd1d 100644 --- a/sdk/go/azure/servicebus/namespace.go +++ b/sdk/go/azure/servicebus/namespace.go @@ -85,6 +85,8 @@ type Namespace struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringOutput `pulumi:"name"` @@ -175,6 +177,8 @@ type namespaceState struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion *string `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name *string `pulumi:"name"` @@ -217,6 +221,8 @@ type NamespaceState struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrInput // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringPtrInput @@ -253,6 +259,8 @@ type namespaceArgs struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion *string `pulumi:"minimumTlsVersion"` // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name *string `pulumi:"name"` @@ -286,6 +294,8 @@ type NamespaceArgs struct { // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. MinimumTlsVersion pulumi.StringPtrInput // Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. Name pulumi.StringPtrInput @@ -444,6 +454,8 @@ func (o NamespaceOutput) Location() pulumi.StringOutput { } // The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. +// +// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. func (o NamespaceOutput) MinimumTlsVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.MinimumTlsVersion }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/storage/account.go b/sdk/go/azure/storage/account.go index 867063ad49..16ab1893c6 100644 --- a/sdk/go/azure/storage/account.go +++ b/sdk/go/azure/storage/account.go @@ -204,6 +204,8 @@ type Account struct { Location pulumi.StringOutput `pulumi:"location"` // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + // // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. MinTlsVersion pulumi.StringPtrOutput `pulumi:"minTlsVersion"` // Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. @@ -509,6 +511,8 @@ type accountState struct { Location *string `pulumi:"location"` // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + // // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. MinTlsVersion *string `pulumi:"minTlsVersion"` // Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. @@ -767,6 +771,8 @@ type AccountState struct { Location pulumi.StringPtrInput // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + // // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. MinTlsVersion pulumi.StringPtrInput // Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. @@ -1029,6 +1035,8 @@ type accountArgs struct { Location *string `pulumi:"location"` // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + // // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. MinTlsVersion *string `pulumi:"minTlsVersion"` // Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. @@ -1144,6 +1152,8 @@ type AccountArgs struct { Location pulumi.StringPtrInput // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // + // > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + // // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. MinTlsVersion pulumi.StringPtrInput // Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. @@ -1410,6 +1420,8 @@ func (o AccountOutput) Location() pulumi.StringOutput { // The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. // +// > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. +// // > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. func (o AccountOutput) MinTlsVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.MinTlsVersion }).(pulumi.StringPtrOutput) diff --git a/sdk/go/azure/storage/container.go b/sdk/go/azure/storage/container.go index 020e753ca8..8823c0cdb6 100644 --- a/sdk/go/azure/storage/container.go +++ b/sdk/go/azure/storage/container.go @@ -64,10 +64,10 @@ import ( // // ## Import // -// Storage Containers can be imported using the `resource id`, e.g. +// Storage Containers can be imported using the `resource manager id`, e.g. // // ```sh -// $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container +// $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer // ``` type Container struct { pulumi.CustomResourceState diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.java index b49154cab1..2e2cabed57 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxFunctionAppSiteConfigApplicationStackArgs.java @@ -68,14 +68,14 @@ public Optional> javaVersion() { } /** - * The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * */ @Import(name="nodeVersion") private @Nullable Output nodeVersion; /** - * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * */ public Optional> nodeVersion() { @@ -251,7 +251,7 @@ public Builder javaVersion(String javaVersion) { } /** - * @param nodeVersion The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * @param nodeVersion The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * * @return builder * @@ -262,7 +262,7 @@ public Builder nodeVersion(@Nullable Output nodeVersion) { } /** - * @param nodeVersion The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * @param nodeVersion The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java index fcd6a22c8e..00197b9bb3 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java @@ -146,7 +146,7 @@ public Optional> javaServerVersion() { /** * The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * @@ -157,7 +157,7 @@ public Optional> javaServerVersion() { /** * @return The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * @@ -449,7 +449,7 @@ public Builder javaServerVersion(String javaServerVersion) { /** * @param javaVersion The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * @@ -464,7 +464,7 @@ public Builder javaVersion(@Nullable Output javaVersion) { /** * @param javaVersion The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java index 7426bffa04..1284d2dd7f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java @@ -146,7 +146,7 @@ public Optional> javaServerVersion() { /** * The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * */ @Import(name="javaVersion") @@ -155,7 +155,7 @@ public Optional> javaServerVersion() { /** * @return The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * */ public Optional> javaVersion() { @@ -445,7 +445,7 @@ public Builder javaServerVersion(String javaServerVersion) { /** * @param javaVersion The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * @return builder * @@ -458,7 +458,7 @@ public Builder javaVersion(@Nullable Output javaVersion) { /** * @param javaVersion The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.java index 36378d1f4d..211db28d94 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/WindowsFunctionAppSiteConfigApplicationStackArgs.java @@ -47,14 +47,14 @@ public Optional> javaVersion() { } /** - * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * */ @Import(name="nodeVersion") private @Nullable Output nodeVersion; /** - * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * */ public Optional> nodeVersion() { @@ -182,7 +182,7 @@ public Builder javaVersion(String javaVersion) { } /** - * @param nodeVersion The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * @param nodeVersion The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * * @return builder * @@ -193,7 +193,7 @@ public Builder nodeVersion(@Nullable Output nodeVersion) { } /** - * @param nodeVersion The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * @param nodeVersion The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSiteConfigApplicationStack.java index 534df960c0..ebf5722786 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxFunctionAppSiteConfigApplicationStack.java @@ -32,7 +32,7 @@ public final class LinuxFunctionAppSiteConfigApplicationStack { */ private @Nullable String javaVersion; /** - * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * */ private @Nullable String nodeVersion; @@ -82,7 +82,7 @@ public Optional javaVersion() { return Optional.ofNullable(this.javaVersion); } /** - * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * @return The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. * */ public Optional nodeVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java index ad3df09e47..de8588e506 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java @@ -58,7 +58,7 @@ public final class LinuxWebAppSiteConfigApplicationStack { /** * @return The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * @@ -153,7 +153,7 @@ public Optional javaServerVersion() { /** * @return The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java index 0509683128..7bc384e684 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java @@ -58,7 +58,7 @@ public final class LinuxWebAppSlotSiteConfigApplicationStack { /** * @return The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * */ private @Nullable String javaVersion; @@ -151,7 +151,7 @@ public Optional javaServerVersion() { /** * @return The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * */ public Optional javaVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSiteConfigApplicationStack.java index 9d1f7b0591..b3635edc44 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/WindowsFunctionAppSiteConfigApplicationStack.java @@ -23,7 +23,7 @@ public final class WindowsFunctionAppSiteConfigApplicationStack { */ private @Nullable String javaVersion; /** - * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * */ private @Nullable String nodeVersion; @@ -61,7 +61,7 @@ public Optional javaVersion() { return Optional.ofNullable(this.javaVersion); } /** - * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * @return The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. * */ public Optional nodeVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppTemplateArgs.java index 8da9f22277..37c360a964 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppTemplateArgs.java @@ -160,6 +160,21 @@ public Optional>> tcpScaleRules() { return Optional.ofNullable(this.tcpScaleRules); } + /** + * 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); + } + /** * A `volume` block as detailed below. * @@ -187,6 +202,7 @@ private AppTemplateArgs(AppTemplateArgs $) { this.minReplicas = $.minReplicas; this.revisionSuffix = $.revisionSuffix; this.tcpScaleRules = $.tcpScaleRules; + this.terminationGracePeriodSeconds = $.terminationGracePeriodSeconds; this.volumes = $.volumes; } @@ -457,6 +473,27 @@ public Builder tcpScaleRules(AppTemplateTcpScaleRuleArgs... tcpScaleRules) { return tcpScaleRules(List.of(tcpScaleRules)); } + /** + * @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 volumes A `volume` block as detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppTemplate.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppTemplate.java index 43a05f8bbf..b26e919ad7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppTemplate.java @@ -66,6 +66,11 @@ public final class AppTemplate { * */ private @Nullable List tcpScaleRules; + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + private @Nullable Integer terminationGracePeriodSeconds; /** * @return A `volume` block as detailed below. * @@ -136,6 +141,13 @@ public Optional revisionSuffix() { public List tcpScaleRules() { return this.tcpScaleRules == null ? List.of() : this.tcpScaleRules; } + /** + * @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 A `volume` block as detailed below. * @@ -162,6 +174,7 @@ public static final class Builder { private @Nullable Integer minReplicas; private @Nullable String revisionSuffix; private @Nullable List tcpScaleRules; + private @Nullable Integer terminationGracePeriodSeconds; private @Nullable List volumes; public Builder() {} public Builder(AppTemplate defaults) { @@ -175,6 +188,7 @@ public Builder(AppTemplate defaults) { this.minReplicas = defaults.minReplicas; this.revisionSuffix = defaults.revisionSuffix; this.tcpScaleRules = defaults.tcpScaleRules; + this.terminationGracePeriodSeconds = defaults.terminationGracePeriodSeconds; this.volumes = defaults.volumes; } @@ -253,6 +267,12 @@ public Builder tcpScaleRules(AppTemplateTcpScaleRule... tcpScaleRules) { return tcpScaleRules(List.of(tcpScaleRules)); } @CustomType.Setter + public Builder terminationGracePeriodSeconds(@Nullable Integer terminationGracePeriodSeconds) { + + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + @CustomType.Setter public Builder volumes(@Nullable List volumes) { this.volumes = volumes; @@ -272,6 +292,7 @@ public AppTemplate build() { _resultValue.minReplicas = minReplicas; _resultValue.revisionSuffix = revisionSuffix; _resultValue.tcpScaleRules = tcpScaleRules; + _resultValue.terminationGracePeriodSeconds = terminationGracePeriodSeconds; _resultValue.volumes = volumes; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetAppTemplate.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetAppTemplate.java index c8a64a113b..dd5427d091 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetAppTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/GetAppTemplate.java @@ -49,6 +49,11 @@ public final class GetAppTemplate { */ private String revisionSuffix; private List tcpScaleRules; + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + private Integer terminationGracePeriodSeconds; /** * @return A `volume` block as detailed below. * @@ -103,6 +108,13 @@ public String revisionSuffix() { public List tcpScaleRules() { return this.tcpScaleRules; } + /** + * @return The time in seconds after the container is sent the termination signal before the process if forcibly killed. + * + */ + public Integer terminationGracePeriodSeconds() { + return this.terminationGracePeriodSeconds; + } /** * @return A `volume` block as detailed below. * @@ -129,6 +141,7 @@ public static final class Builder { private Integer minReplicas; private String revisionSuffix; private List tcpScaleRules; + private Integer terminationGracePeriodSeconds; private List volumes; public Builder() {} public Builder(GetAppTemplate defaults) { @@ -142,6 +155,7 @@ public Builder(GetAppTemplate defaults) { this.minReplicas = defaults.minReplicas; this.revisionSuffix = defaults.revisionSuffix; this.tcpScaleRules = defaults.tcpScaleRules; + this.terminationGracePeriodSeconds = defaults.terminationGracePeriodSeconds; this.volumes = defaults.volumes; } @@ -234,6 +248,14 @@ public Builder tcpScaleRules(GetAppTemplateTcpScaleRule... tcpScaleRules) { return tcpScaleRules(List.of(tcpScaleRules)); } @CustomType.Setter + public Builder terminationGracePeriodSeconds(Integer terminationGracePeriodSeconds) { + if (terminationGracePeriodSeconds == null) { + throw new MissingRequiredPropertyException("GetAppTemplate", "terminationGracePeriodSeconds"); + } + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + return this; + } + @CustomType.Setter public Builder volumes(List volumes) { if (volumes == null) { throw new MissingRequiredPropertyException("GetAppTemplate", "volumes"); @@ -255,6 +277,7 @@ public GetAppTemplate build() { _resultValue.minReplicas = minReplicas; _resultValue.revisionSuffix = revisionSuffix; _resultValue.tcpScaleRules = tcpScaleRules; + _resultValue.terminationGracePeriodSeconds = terminationGracePeriodSeconds; _resultValue.volumes = volumes; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java index 51635e0013..509d1e6056 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java @@ -29,6 +29,8 @@ * * > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. * + * > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`. + * * ## Example Usage * * This example provisions a basic Kubernetes Node Pool. @@ -155,7 +157,7 @@ public Output> evictionPolicy() { return Codegen.optional(this.evictionPolicy); } /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -164,7 +166,7 @@ public Output> evictionPolicy() { private Output fipsEnabled; /** - * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -187,7 +189,7 @@ public Output> gpuInstance() { return Codegen.optional(this.gpuInstance); } /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -196,7 +198,7 @@ public Output> gpuInstance() { private Output hostEncryptionEnabled; /** - * @return Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -219,14 +221,14 @@ public Output> hostGroupId() { return Codegen.optional(this.hostGroupId); } /** - * A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Export(name="kubeletConfig", refs={KubernetesClusterNodePoolKubeletConfig.class}, tree="[0]") private Output kubeletConfig; /** - * @return A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * @return A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Output> kubeletConfig() { @@ -265,14 +267,14 @@ public Output kubernetesClusterId() { return this.kubernetesClusterId; } /** - * A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Export(name="linuxOsConfig", refs={KubernetesClusterNodePoolLinuxOsConfig.class}, tree="[0]") private Output linuxOsConfig; /** - * @return A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * @return A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Output> linuxOsConfig() { @@ -285,14 +287,14 @@ public Output> maxCount() { return Codegen.optional(this.maxCount); } /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="maxPods", refs={Integer.class}, tree="[0]") private Output maxPods; /** - * @return The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * @return The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output maxPods() { @@ -371,14 +373,14 @@ public Output> nodeNetwork return Codegen.optional(this.nodeNetworkProfile); } /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="nodePublicIpEnabled", refs={Boolean.class}, tree="[0]") private Output nodePublicIpEnabled; /** - * @return Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @return Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output> nodePublicIpEnabled() { @@ -431,28 +433,28 @@ public Output orchestratorVersion() { return this.orchestratorVersion; } /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="osDiskSizeGb", refs={Integer.class}, tree="[0]") private Output osDiskSizeGb; /** - * @return The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @return The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output osDiskSizeGb() { return this.osDiskSizeGb; } /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="osDiskType", refs={String.class}, tree="[0]") private Output osDiskType; /** - * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output> osDiskType() { @@ -487,14 +489,14 @@ public Output> osType() { return Codegen.optional(this.osType); } /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="podSubnetId", refs={String.class}, tree="[0]") private Output podSubnetId; /** - * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output> podSubnetId() { @@ -547,14 +549,14 @@ public Output> scaleDownMode() { return Codegen.optional(this.scaleDownMode); } /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="snapshotId", refs={String.class}, tree="[0]") private Output snapshotId; /** - * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output> snapshotId() { @@ -597,14 +599,28 @@ public Output>> tags() { return Codegen.optional(this.tags); } /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + @Export(name="temporaryNameForRotation", refs={String.class}, tree="[0]") + private Output temporaryNameForRotation; + + /** + * @return Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + public Output> temporaryNameForRotation() { + return Codegen.optional(this.temporaryNameForRotation); + } + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="ultraSsdEnabled", refs={Boolean.class}, tree="[0]") private Output ultraSsdEnabled; /** - * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output> ultraSsdEnabled() { @@ -625,21 +641,21 @@ public Output> upgradeSetting return Codegen.optional(this.upgradeSettings); } /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="vmSize", refs={String.class}, tree="[0]") private Output vmSize; /** - * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output vmSize() { return this.vmSize; } /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -648,7 +664,7 @@ public Output vmSize() { private Output vnetSubnetId; /** - * @return The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -689,14 +705,14 @@ public Output> workloadRuntime() { return Codegen.optional(this.workloadRuntime); } /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Export(name="zones", refs={List.class,String.class}, tree="[0,1]") private Output> zones; /** - * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output>> zones() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java index c6e1056906..0b8cfe1990 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java @@ -76,7 +76,7 @@ public Optional> evictionPolicy() { } /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -85,7 +85,7 @@ public Optional> evictionPolicy() { private @Nullable Output fipsEnabled; /** - * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -110,7 +110,7 @@ public Optional> gpuInstance() { } /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -119,7 +119,7 @@ public Optional> gpuInstance() { private @Nullable Output hostEncryptionEnabled; /** - * @return Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -144,14 +144,14 @@ public Optional> hostGroupId() { } /** - * A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Import(name="kubeletConfig") private @Nullable Output kubeletConfig; /** - * @return A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * @return A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Optional> kubeletConfig() { @@ -193,14 +193,14 @@ public Output kubernetesClusterId() { } /** - * A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Import(name="linuxOsConfig") private @Nullable Output linuxOsConfig; /** - * @return A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * @return A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Optional> linuxOsConfig() { @@ -215,14 +215,14 @@ public Optional> maxCount() { } /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="maxPods") private @Nullable Output maxPods; /** - * @return The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * @return The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> maxPods() { @@ -308,14 +308,14 @@ public Optional> nodeNet } /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="nodePublicIpEnabled") private @Nullable Output nodePublicIpEnabled; /** - * @return Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @return Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> nodePublicIpEnabled() { @@ -372,14 +372,14 @@ public Optional> orchestratorVersion() { } /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="osDiskSizeGb") private @Nullable Output osDiskSizeGb; /** - * @return The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @return The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> osDiskSizeGb() { @@ -387,14 +387,14 @@ public Optional> osDiskSizeGb() { } /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="osDiskType") private @Nullable Output osDiskType; /** - * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> osDiskType() { @@ -432,14 +432,14 @@ public Optional> osType() { } /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="podSubnetId") private @Nullable Output podSubnetId; /** - * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> podSubnetId() { @@ -496,14 +496,14 @@ public Optional> scaleDownMode() { } /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="snapshotId") private @Nullable Output snapshotId; /** - * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> snapshotId() { @@ -549,14 +549,29 @@ public Optional>> tags() { } /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + @Import(name="temporaryNameForRotation") + private @Nullable Output temporaryNameForRotation; + + /** + * @return Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + public Optional> temporaryNameForRotation() { + return Optional.ofNullable(this.temporaryNameForRotation); + } + + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="ultraSsdEnabled") private @Nullable Output ultraSsdEnabled; /** - * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> ultraSsdEnabled() { @@ -579,14 +594,14 @@ public Optional> upgradeSet } /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="vmSize", required=true) private Output vmSize; /** - * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Output vmSize() { @@ -594,7 +609,7 @@ public Output vmSize() { } /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -603,7 +618,7 @@ public Output vmSize() { private @Nullable Output vnetSubnetId; /** - * @return The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -647,14 +662,14 @@ public Optional> workloadRuntime() { } /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional>> zones() { @@ -698,6 +713,7 @@ private KubernetesClusterNodePoolArgs(KubernetesClusterNodePoolArgs $) { this.snapshotId = $.snapshotId; this.spotMaxPrice = $.spotMaxPrice; this.tags = $.tags; + this.temporaryNameForRotation = $.temporaryNameForRotation; this.ultraSsdEnabled = $.ultraSsdEnabled; this.upgradeSettings = $.upgradeSettings; this.vmSize = $.vmSize; @@ -793,7 +809,7 @@ public Builder evictionPolicy(String evictionPolicy) { } /** - * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -806,7 +822,7 @@ public Builder fipsEnabled(@Nullable Output fipsEnabled) { } /** - * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -839,7 +855,7 @@ public Builder gpuInstance(String gpuInstance) { } /** - * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -852,7 +868,7 @@ public Builder hostEncryptionEnabled(@Nullable Output hostEncryptionEna } /** - * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -885,7 +901,7 @@ public Builder hostGroupId(String hostGroupId) { } /** - * @param kubeletConfig A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * @param kubeletConfig A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -896,7 +912,7 @@ public Builder kubeletConfig(@Nullable Output maxPods) { } /** - * @param maxPods The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * @param maxPods The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1109,7 +1125,7 @@ public Builder nodeNetworkProfile(KubernetesClusterNodePoolNodeNetworkProfileArg } /** - * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1120,7 +1136,7 @@ public Builder nodePublicIpEnabled(@Nullable Output nodePublicIpEnabled } /** - * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1207,7 +1223,7 @@ public Builder orchestratorVersion(String orchestratorVersion) { } /** - * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1218,7 +1234,7 @@ public Builder osDiskSizeGb(@Nullable Output osDiskSizeGb) { } /** - * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1228,7 +1244,7 @@ public Builder osDiskSizeGb(Integer osDiskSizeGb) { } /** - * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1239,7 +1255,7 @@ public Builder osDiskType(@Nullable Output osDiskType) { } /** - * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1291,7 +1307,7 @@ public Builder osType(String osType) { } /** - * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1302,7 +1318,7 @@ public Builder podSubnetId(@Nullable Output podSubnetId) { } /** - * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1379,7 +1395,7 @@ public Builder scaleDownMode(String scaleDownMode) { } /** - * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1390,7 +1406,7 @@ public Builder snapshotId(@Nullable Output snapshotId) { } /** - * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1450,7 +1466,28 @@ public Builder tags(Map tags) { } /** - * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @param temporaryNameForRotation Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + * @return builder + * + */ + public Builder temporaryNameForRotation(@Nullable Output temporaryNameForRotation) { + $.temporaryNameForRotation = temporaryNameForRotation; + return this; + } + + /** + * @param temporaryNameForRotation Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + * @return builder + * + */ + public Builder temporaryNameForRotation(String temporaryNameForRotation) { + return temporaryNameForRotation(Output.of(temporaryNameForRotation)); + } + + /** + * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1461,7 +1498,7 @@ public Builder ultraSsdEnabled(@Nullable Output ultraSsdEnabled) { } /** - * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1492,7 +1529,7 @@ public Builder upgradeSettings(KubernetesClusterNodePoolUpgradeSettingsArgs upgr } /** - * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1503,7 +1540,7 @@ public Builder vmSize(Output vmSize) { } /** - * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1513,7 +1550,7 @@ public Builder vmSize(String vmSize) { } /** - * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -1526,7 +1563,7 @@ public Builder vnetSubnetId(@Nullable Output vnetSubnetId) { } /** - * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -1584,7 +1621,7 @@ public Builder workloadRuntime(String workloadRuntime) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1595,7 +1632,7 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1605,7 +1642,7 @@ public Builder zones(List zones) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSet.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSet.java new file mode 100644 index 0000000000..f2e07c90f0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSet.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.containerservice; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.containerservice.RegistryCredentialSetArgs; +import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetState; +import com.pulumi.azure.containerservice.outputs.RegistryCredentialSetAuthenticationCredentials; +import com.pulumi.azure.containerservice.outputs.RegistryCredentialSetIdentity; +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 Container Registry Credential Set. + * + * ## Example Usage + * + * ### Minimal) + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + * <!--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.containerservice.Registry;
+ * import com.pulumi.azure.containerservice.RegistryArgs;
+ * import com.pulumi.azure.containerservice.RegistryCredentialSet;
+ * import com.pulumi.azure.containerservice.RegistryCredentialSetArgs;
+ * import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;
+ * import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;
+ * 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 exampleRegistry = new Registry("exampleRegistry", RegistryArgs.builder()
+ *             .name("exampleContainerRegistry")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .sku("Basic")
+ *             .build());
+ * 
+ *         var exampleRegistryCredentialSet = new RegistryCredentialSet("exampleRegistryCredentialSet", RegistryCredentialSetArgs.builder()
+ *             .name("exampleCredentialSet")
+ *             .containerRegistryId("azurerm_container_registry.example.id")
+ *             .loginServer("docker.io")
+ *             .identity(RegistryCredentialSetIdentityArgs.builder()
+ *                 .type("SystemAssigned")
+ *                 .build())
+ *             .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()
+ *                 .usernameSecretId("https://example-keyvault.vault.azure.net/secrets/example-user-name")
+ *                 .passwordSecretId("https://example-keyvault.vault.azure.net/secrets/example-user-password")
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Full) + * + * This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. + * + * <!--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.core.CoreFunctions;
+ * 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.containerservice.Registry;
+ * import com.pulumi.azure.containerservice.RegistryArgs;
+ * import com.pulumi.azure.containerservice.RegistryCredentialSet;
+ * import com.pulumi.azure.containerservice.RegistryCredentialSetArgs;
+ * import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs;
+ * import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs;
+ * import com.pulumi.azure.keyvault.AccessPolicy;
+ * import com.pulumi.azure.keyvault.AccessPolicyArgs;
+ * 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());
+ * 
+ *         final var current = CoreFunctions.getClientConfig();
+ * 
+ *         var exampleKeyVault = new KeyVault("exampleKeyVault", KeyVaultArgs.builder()
+ *             .name("examplekeyvault")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
+ *             .skuName("standard")
+ *             .softDeleteRetentionDays(7)
+ *             .accessPolicies(KeyVaultAccessPolicyArgs.builder()
+ *                 .tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
+ *                 .objectId(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
+ *                 .certificatePermissions()
+ *                 .keyPermissions()
+ *                 .secretPermissions(                
+ *                     "Get",
+ *                     "Set",
+ *                     "Delete",
+ *                     "Purge")
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleUser = new Secret("exampleUser", SecretArgs.builder()
+ *             .keyVaultId(exampleKeyVault.id())
+ *             .name("example-user-name")
+ *             .value("name")
+ *             .build());
+ * 
+ *         var examplePassword = new Secret("examplePassword", SecretArgs.builder()
+ *             .keyVaultId(exampleKeyVault.id())
+ *             .name("example-user-password")
+ *             .value("password")
+ *             .build());
+ * 
+ *         var exampleRegistry = new Registry("exampleRegistry", RegistryArgs.builder()
+ *             .name("exampleContainerRegistry")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .sku("Basic")
+ *             .build());
+ * 
+ *         var exampleRegistryCredentialSet = new RegistryCredentialSet("exampleRegistryCredentialSet", RegistryCredentialSetArgs.builder()
+ *             .name("exampleCredentialSet")
+ *             .containerRegistryId("azurerm_container_registry.example.id")
+ *             .loginServer("docker.io")
+ *             .identity(RegistryCredentialSetIdentityArgs.builder()
+ *                 .type("SystemAssigned")
+ *                 .build())
+ *             .authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs.builder()
+ *                 .usernameSecretId(exampleUser.versionlessId())
+ *                 .passwordSecretId(examplePassword.versionlessId())
+ *                 .build())
+ *             .build());
+ * 
+ *         var readSecrets = new AccessPolicy("readSecrets", AccessPolicyArgs.builder()
+ *             .keyVaultId(exampleKeyVault.id())
+ *             .tenantId(exampleRegistryCredentialSet.identity().applyValue(identity -> identity.tenantId()))
+ *             .objectId(exampleRegistryCredentialSet.identity().applyValue(identity -> identity.principalId()))
+ *             .secretPermissions("Get")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Container Registry Credential Sets can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 + * ``` + * + */ +@ResourceType(type="azure:containerservice/registryCredentialSet:RegistryCredentialSet") +public class RegistryCredentialSet extends com.pulumi.resources.CustomResource { + /** + * A `authentication_credentials` block as defined below. + * + */ + @Export(name="authenticationCredentials", refs={RegistryCredentialSetAuthenticationCredentials.class}, tree="[0]") + private Output authenticationCredentials; + + /** + * @return A `authentication_credentials` block as defined below. + * + */ + public Output authenticationCredentials() { + return this.authenticationCredentials; + } + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Export(name="containerRegistryId", refs={String.class}, tree="[0]") + private Output containerRegistryId; + + /** + * @return The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Output containerRegistryId() { + return this.containerRegistryId; + } + /** + * An `identity` block as defined below. + * + */ + @Export(name="identity", refs={RegistryCredentialSetIdentity.class}, tree="[0]") + private Output identity; + + /** + * @return An `identity` block as defined below. + * + */ + public Output identity() { + return this.identity; + } + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Export(name="loginServer", refs={String.class}, tree="[0]") + private Output loginServer; + + /** + * @return The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Output loginServer() { + return this.loginServer; + } + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Output name() { + return this.name; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public RegistryCredentialSet(java.lang.String name) { + this(name, RegistryCredentialSetArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public RegistryCredentialSet(java.lang.String name, RegistryCredentialSetArgs 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 RegistryCredentialSet(java.lang.String name, RegistryCredentialSetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerservice/registryCredentialSet:RegistryCredentialSet", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private RegistryCredentialSet(java.lang.String name, Output id, @Nullable RegistryCredentialSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerservice/registryCredentialSet:RegistryCredentialSet", name, state, makeResourceOptions(options, id), false); + } + + private static RegistryCredentialSetArgs makeArgs(RegistryCredentialSetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RegistryCredentialSetArgs.Empty : args; + } + + 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 RegistryCredentialSet get(java.lang.String name, Output id, @Nullable RegistryCredentialSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new RegistryCredentialSet(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSetArgs.java new file mode 100644 index 0000000000..ce2896f77f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryCredentialSetArgs.java @@ -0,0 +1,246 @@ +// *** 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.containerservice; + +import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs; +import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs; +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 RegistryCredentialSetArgs extends com.pulumi.resources.ResourceArgs { + + public static final RegistryCredentialSetArgs Empty = new RegistryCredentialSetArgs(); + + /** + * A `authentication_credentials` block as defined below. + * + */ + @Import(name="authenticationCredentials", required=true) + private Output authenticationCredentials; + + /** + * @return A `authentication_credentials` block as defined below. + * + */ + public Output authenticationCredentials() { + return this.authenticationCredentials; + } + + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="containerRegistryId", required=true) + private Output containerRegistryId; + + /** + * @return The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Output containerRegistryId() { + return this.containerRegistryId; + } + + /** + * An `identity` block as defined below. + * + */ + @Import(name="identity", required=true) + private Output identity; + + /** + * @return An `identity` block as defined below. + * + */ + public Output identity() { + return this.identity; + } + + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="loginServer", required=true) + private Output loginServer; + + /** + * @return The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Output loginServer() { + return this.loginServer; + } + + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private RegistryCredentialSetArgs() {} + + private RegistryCredentialSetArgs(RegistryCredentialSetArgs $) { + this.authenticationCredentials = $.authenticationCredentials; + this.containerRegistryId = $.containerRegistryId; + this.identity = $.identity; + this.loginServer = $.loginServer; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RegistryCredentialSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RegistryCredentialSetArgs $; + + public Builder() { + $ = new RegistryCredentialSetArgs(); + } + + public Builder(RegistryCredentialSetArgs defaults) { + $ = new RegistryCredentialSetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param authenticationCredentials A `authentication_credentials` block as defined below. + * + * @return builder + * + */ + public Builder authenticationCredentials(Output authenticationCredentials) { + $.authenticationCredentials = authenticationCredentials; + return this; + } + + /** + * @param authenticationCredentials A `authentication_credentials` block as defined below. + * + * @return builder + * + */ + public Builder authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs authenticationCredentials) { + return authenticationCredentials(Output.of(authenticationCredentials)); + } + + /** + * @param containerRegistryId The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder containerRegistryId(Output containerRegistryId) { + $.containerRegistryId = containerRegistryId; + return this; + } + + /** + * @param containerRegistryId The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder containerRegistryId(String containerRegistryId) { + return containerRegistryId(Output.of(containerRegistryId)); + } + + /** + * @param identity An `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity An `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(RegistryCredentialSetIdentityArgs identity) { + return identity(Output.of(identity)); + } + + /** + * @param loginServer The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder loginServer(Output loginServer) { + $.loginServer = loginServer; + return this; + } + + /** + * @param loginServer The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder loginServer(String loginServer) { + return loginServer(Output.of(loginServer)); + } + + /** + * @param name The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public RegistryCredentialSetArgs build() { + if ($.authenticationCredentials == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetArgs", "authenticationCredentials"); + } + if ($.containerRegistryId == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetArgs", "containerRegistryId"); + } + if ($.identity == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetArgs", "identity"); + } + if ($.loginServer == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetArgs", "loginServer"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolKubeletConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolKubeletConfigArgs.java index 69dc0e22a1..9e976c74b7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolKubeletConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolKubeletConfigArgs.java @@ -19,14 +19,14 @@ public final class KubernetesClusterNodePoolKubeletConfigArgs extends com.pulumi public static final KubernetesClusterNodePoolKubeletConfigArgs Empty = new KubernetesClusterNodePoolKubeletConfigArgs(); /** - * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * */ @Import(name="allowedUnsafeSysctls") private @Nullable Output> allowedUnsafeSysctls; /** - * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * */ public Optional>> allowedUnsafeSysctls() { @@ -34,14 +34,14 @@ public Optional>> allowedUnsafeSysctls() { } /** - * Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * Specifies the maximum number of container log files that can be present for a container. must be at least 2. * */ @Import(name="containerLogMaxLine") private @Nullable Output containerLogMaxLine; /** - * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. * */ public Optional> containerLogMaxLine() { @@ -49,14 +49,14 @@ public Optional> containerLogMaxLine() { } /** - * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * */ @Import(name="containerLogMaxSizeMb") private @Nullable Output containerLogMaxSizeMb; /** - * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * */ public Optional> containerLogMaxSizeMb() { @@ -64,14 +64,14 @@ public Optional> containerLogMaxSizeMb() { } /** - * Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * */ @Import(name="cpuCfsQuotaEnabled") private @Nullable Output cpuCfsQuotaEnabled; /** - * @return Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * @return Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * */ public Optional> cpuCfsQuotaEnabled() { @@ -79,14 +79,14 @@ public Optional> cpuCfsQuotaEnabled() { } /** - * Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * Specifies the CPU CFS quota period value. * */ @Import(name="cpuCfsQuotaPeriod") private @Nullable Output cpuCfsQuotaPeriod; /** - * @return Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * @return Specifies the CPU CFS quota period value. * */ public Optional> cpuCfsQuotaPeriod() { @@ -94,14 +94,14 @@ public Optional> cpuCfsQuotaPeriod() { } /** - * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * */ @Import(name="cpuManagerPolicy") private @Nullable Output cpuManagerPolicy; /** - * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * */ public Optional> cpuManagerPolicy() { @@ -109,14 +109,14 @@ public Optional> cpuManagerPolicy() { } /** - * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * */ @Import(name="imageGcHighThreshold") private @Nullable Output imageGcHighThreshold; /** - * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * */ public Optional> imageGcHighThreshold() { @@ -124,14 +124,14 @@ public Optional> imageGcHighThreshold() { } /** - * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * */ @Import(name="imageGcLowThreshold") private @Nullable Output imageGcLowThreshold; /** - * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * */ public Optional> imageGcLowThreshold() { @@ -139,14 +139,14 @@ public Optional> imageGcLowThreshold() { } /** - * Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * Specifies the maximum number of processes per pod. * */ @Import(name="podMaxPid") private @Nullable Output podMaxPid; /** - * @return Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * @return Specifies the maximum number of processes per pod. * */ public Optional> podMaxPid() { @@ -154,14 +154,14 @@ public Optional> podMaxPid() { } /** - * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * */ @Import(name="topologyManagerPolicy") private @Nullable Output topologyManagerPolicy; /** - * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * */ public Optional> topologyManagerPolicy() { @@ -202,7 +202,7 @@ public Builder(KubernetesClusterNodePoolKubeletConfigArgs defaults) { } /** - * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * * @return builder * @@ -213,7 +213,7 @@ public Builder allowedUnsafeSysctls(@Nullable Output> allowedUnsafe } /** - * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * * @return builder * @@ -223,7 +223,7 @@ public Builder allowedUnsafeSysctls(List allowedUnsafeSysctls) { } /** - * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @param allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * * @return builder * @@ -233,7 +233,7 @@ public Builder allowedUnsafeSysctls(String... allowedUnsafeSysctls) { } /** - * @param containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * @param containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2. * * @return builder * @@ -244,7 +244,7 @@ public Builder containerLogMaxLine(@Nullable Output containerLogMaxLine } /** - * @param containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * @param containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2. * * @return builder * @@ -254,7 +254,7 @@ public Builder containerLogMaxLine(Integer containerLogMaxLine) { } /** - * @param containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * @param containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * * @return builder * @@ -265,7 +265,7 @@ public Builder containerLogMaxSizeMb(@Nullable Output containerLogMaxSi } /** - * @param containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * @param containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * * @return builder * @@ -275,7 +275,7 @@ public Builder containerLogMaxSizeMb(Integer containerLogMaxSizeMb) { } /** - * @param cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * @param cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * * @return builder * @@ -286,7 +286,7 @@ public Builder cpuCfsQuotaEnabled(@Nullable Output cpuCfsQuotaEnabled) } /** - * @param cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * @param cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * * @return builder * @@ -296,7 +296,7 @@ public Builder cpuCfsQuotaEnabled(Boolean cpuCfsQuotaEnabled) { } /** - * @param cpuCfsQuotaPeriod Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * @param cpuCfsQuotaPeriod Specifies the CPU CFS quota period value. * * @return builder * @@ -307,7 +307,7 @@ public Builder cpuCfsQuotaPeriod(@Nullable Output cpuCfsQuotaPeriod) { } /** - * @param cpuCfsQuotaPeriod Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * @param cpuCfsQuotaPeriod Specifies the CPU CFS quota period value. * * @return builder * @@ -317,7 +317,7 @@ public Builder cpuCfsQuotaPeriod(String cpuCfsQuotaPeriod) { } /** - * @param cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * @param cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * * @return builder * @@ -328,7 +328,7 @@ public Builder cpuManagerPolicy(@Nullable Output cpuManagerPolicy) { } /** - * @param cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * @param cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * * @return builder * @@ -338,7 +338,7 @@ public Builder cpuManagerPolicy(String cpuManagerPolicy) { } /** - * @param imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * * @return builder * @@ -349,7 +349,7 @@ public Builder imageGcHighThreshold(@Nullable Output imageGcHighThresho } /** - * @param imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * * @return builder * @@ -359,7 +359,7 @@ public Builder imageGcHighThreshold(Integer imageGcHighThreshold) { } /** - * @param imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * * @return builder * @@ -370,7 +370,7 @@ public Builder imageGcLowThreshold(@Nullable Output imageGcLowThreshold } /** - * @param imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * * @return builder * @@ -380,7 +380,7 @@ public Builder imageGcLowThreshold(Integer imageGcLowThreshold) { } /** - * @param podMaxPid Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * @param podMaxPid Specifies the maximum number of processes per pod. * * @return builder * @@ -391,7 +391,7 @@ public Builder podMaxPid(@Nullable Output podMaxPid) { } /** - * @param podMaxPid Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * @param podMaxPid Specifies the maximum number of processes per pod. * * @return builder * @@ -401,7 +401,7 @@ public Builder podMaxPid(Integer podMaxPid) { } /** - * @param topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * @param topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * * @return builder * @@ -412,7 +412,7 @@ public Builder topologyManagerPolicy(@Nullable Output topologyManagerPol } /** - * @param topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * @param topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.java index bcbf485ed9..b10209baa5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigArgs.java @@ -18,14 +18,14 @@ public final class KubernetesClusterNodePoolLinuxOsConfigArgs extends com.pulumi public static final KubernetesClusterNodePoolLinuxOsConfigArgs Empty = new KubernetesClusterNodePoolLinuxOsConfigArgs(); /** - * Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * Specifies the size of swap file on each node in MB. * */ @Import(name="swapFileSizeMb") private @Nullable Output swapFileSizeMb; /** - * @return Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * @return Specifies the size of swap file on each node in MB. * */ public Optional> swapFileSizeMb() { @@ -33,14 +33,14 @@ public Optional> swapFileSizeMb() { } /** - * A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + * A `sysctl_config` block as defined below. * */ @Import(name="sysctlConfig") private @Nullable Output sysctlConfig; /** - * @return A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + * @return A `sysctl_config` block as defined below. * */ public Optional> sysctlConfig() { @@ -48,14 +48,14 @@ public Optional> } /** - * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. * */ @Import(name="transparentHugePageDefrag") private @Nullable Output transparentHugePageDefrag; /** - * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. * */ public Optional> transparentHugePageDefrag() { @@ -63,14 +63,14 @@ public Optional> transparentHugePageDefrag() { } /** - * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * */ @Import(name="transparentHugePageEnabled") private @Nullable Output transparentHugePageEnabled; /** - * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * */ public Optional> transparentHugePageEnabled() { @@ -105,7 +105,7 @@ public Builder(KubernetesClusterNodePoolLinuxOsConfigArgs defaults) { } /** - * @param swapFileSizeMb Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * @param swapFileSizeMb Specifies the size of swap file on each node in MB. * * @return builder * @@ -116,7 +116,7 @@ public Builder swapFileSizeMb(@Nullable Output swapFileSizeMb) { } /** - * @param swapFileSizeMb Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * @param swapFileSizeMb Specifies the size of swap file on each node in MB. * * @return builder * @@ -126,7 +126,7 @@ public Builder swapFileSizeMb(Integer swapFileSizeMb) { } /** - * @param sysctlConfig A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + * @param sysctlConfig A `sysctl_config` block as defined below. * * @return builder * @@ -137,7 +137,7 @@ public Builder sysctlConfig(@Nullable Output transparentHug } /** - * @param transparentHugePageDefrag specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * @param transparentHugePageDefrag specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. * * @return builder * @@ -168,7 +168,7 @@ public Builder transparentHugePageDefrag(String transparentHugePageDefrag) { } /** - * @param transparentHugePageEnabled Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * @param transparentHugePageEnabled Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * * @return builder * @@ -179,7 +179,7 @@ public Builder transparentHugePageEnabled(@Nullable Output transparentHu } /** - * @param transparentHugePageEnabled Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * @param transparentHugePageEnabled Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.java index 2dbe8decfa..bbd5ffc29f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.java @@ -17,14 +17,14 @@ public final class KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs extend public static final KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs Empty = new KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs(); /** - * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * */ @Import(name="fsAioMaxNr") private @Nullable Output fsAioMaxNr; /** - * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * */ public Optional> fsAioMaxNr() { @@ -32,14 +32,14 @@ public Optional> fsAioMaxNr() { } /** - * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * */ @Import(name="fsFileMax") private @Nullable Output fsFileMax; /** - * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * */ public Optional> fsFileMax() { @@ -47,14 +47,14 @@ public Optional> fsFileMax() { } /** - * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * */ @Import(name="fsInotifyMaxUserWatches") private @Nullable Output fsInotifyMaxUserWatches; /** - * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * */ public Optional> fsInotifyMaxUserWatches() { @@ -62,14 +62,14 @@ public Optional> fsInotifyMaxUserWatches() { } /** - * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * */ @Import(name="fsNrOpen") private @Nullable Output fsNrOpen; /** - * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * */ public Optional> fsNrOpen() { @@ -77,14 +77,14 @@ public Optional> fsNrOpen() { } /** - * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * */ @Import(name="kernelThreadsMax") private @Nullable Output kernelThreadsMax; /** - * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * */ public Optional> kernelThreadsMax() { @@ -92,14 +92,14 @@ public Optional> kernelThreadsMax() { } /** - * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * */ @Import(name="netCoreNetdevMaxBacklog") private @Nullable Output netCoreNetdevMaxBacklog; /** - * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * */ public Optional> netCoreNetdevMaxBacklog() { @@ -107,14 +107,14 @@ public Optional> netCoreNetdevMaxBacklog() { } /** - * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * */ @Import(name="netCoreOptmemMax") private @Nullable Output netCoreOptmemMax; /** - * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * */ public Optional> netCoreOptmemMax() { @@ -122,14 +122,14 @@ public Optional> netCoreOptmemMax() { } /** - * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * */ @Import(name="netCoreRmemDefault") private @Nullable Output netCoreRmemDefault; /** - * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * */ public Optional> netCoreRmemDefault() { @@ -137,14 +137,14 @@ public Optional> netCoreRmemDefault() { } /** - * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * */ @Import(name="netCoreRmemMax") private @Nullable Output netCoreRmemMax; /** - * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * */ public Optional> netCoreRmemMax() { @@ -152,14 +152,14 @@ public Optional> netCoreRmemMax() { } /** - * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * */ @Import(name="netCoreSomaxconn") private @Nullable Output netCoreSomaxconn; /** - * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * */ public Optional> netCoreSomaxconn() { @@ -167,14 +167,14 @@ public Optional> netCoreSomaxconn() { } /** - * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * */ @Import(name="netCoreWmemDefault") private @Nullable Output netCoreWmemDefault; /** - * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * */ public Optional> netCoreWmemDefault() { @@ -182,14 +182,14 @@ public Optional> netCoreWmemDefault() { } /** - * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * */ @Import(name="netCoreWmemMax") private @Nullable Output netCoreWmemMax; /** - * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * */ public Optional> netCoreWmemMax() { @@ -197,14 +197,14 @@ public Optional> netCoreWmemMax() { } /** - * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * */ @Import(name="netIpv4IpLocalPortRangeMax") private @Nullable Output netIpv4IpLocalPortRangeMax; /** - * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * */ public Optional> netIpv4IpLocalPortRangeMax() { @@ -212,14 +212,14 @@ public Optional> netIpv4IpLocalPortRangeMax() { } /** - * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * */ @Import(name="netIpv4IpLocalPortRangeMin") private @Nullable Output netIpv4IpLocalPortRangeMin; /** - * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * */ public Optional> netIpv4IpLocalPortRangeMin() { @@ -227,14 +227,14 @@ public Optional> netIpv4IpLocalPortRangeMin() { } /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * */ @Import(name="netIpv4NeighDefaultGcThresh1") private @Nullable Output netIpv4NeighDefaultGcThresh1; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * */ public Optional> netIpv4NeighDefaultGcThresh1() { @@ -242,14 +242,14 @@ public Optional> netIpv4NeighDefaultGcThresh1() { } /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * */ @Import(name="netIpv4NeighDefaultGcThresh2") private @Nullable Output netIpv4NeighDefaultGcThresh2; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * */ public Optional> netIpv4NeighDefaultGcThresh2() { @@ -257,14 +257,14 @@ public Optional> netIpv4NeighDefaultGcThresh2() { } /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * */ @Import(name="netIpv4NeighDefaultGcThresh3") private @Nullable Output netIpv4NeighDefaultGcThresh3; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * */ public Optional> netIpv4NeighDefaultGcThresh3() { @@ -272,14 +272,14 @@ public Optional> netIpv4NeighDefaultGcThresh3() { } /** - * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * */ @Import(name="netIpv4TcpFinTimeout") private @Nullable Output netIpv4TcpFinTimeout; /** - * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * */ public Optional> netIpv4TcpFinTimeout() { @@ -287,14 +287,14 @@ public Optional> netIpv4TcpFinTimeout() { } /** - * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * */ @Import(name="netIpv4TcpKeepaliveIntvl") private @Nullable Output netIpv4TcpKeepaliveIntvl; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * */ public Optional> netIpv4TcpKeepaliveIntvl() { @@ -302,14 +302,14 @@ public Optional> netIpv4TcpKeepaliveIntvl() { } /** - * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * */ @Import(name="netIpv4TcpKeepaliveProbes") private @Nullable Output netIpv4TcpKeepaliveProbes; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * */ public Optional> netIpv4TcpKeepaliveProbes() { @@ -317,14 +317,14 @@ public Optional> netIpv4TcpKeepaliveProbes() { } /** - * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * */ @Import(name="netIpv4TcpKeepaliveTime") private @Nullable Output netIpv4TcpKeepaliveTime; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * */ public Optional> netIpv4TcpKeepaliveTime() { @@ -332,14 +332,14 @@ public Optional> netIpv4TcpKeepaliveTime() { } /** - * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * */ @Import(name="netIpv4TcpMaxSynBacklog") private @Nullable Output netIpv4TcpMaxSynBacklog; /** - * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * */ public Optional> netIpv4TcpMaxSynBacklog() { @@ -347,14 +347,14 @@ public Optional> netIpv4TcpMaxSynBacklog() { } /** - * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * */ @Import(name="netIpv4TcpMaxTwBuckets") private @Nullable Output netIpv4TcpMaxTwBuckets; /** - * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * */ public Optional> netIpv4TcpMaxTwBuckets() { @@ -362,14 +362,14 @@ public Optional> netIpv4TcpMaxTwBuckets() { } /** - * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * */ @Import(name="netIpv4TcpTwReuse") private @Nullable Output netIpv4TcpTwReuse; /** - * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * */ public Optional> netIpv4TcpTwReuse() { @@ -377,14 +377,14 @@ public Optional> netIpv4TcpTwReuse() { } /** - * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * */ @Import(name="netNetfilterNfConntrackBuckets") private @Nullable Output netNetfilterNfConntrackBuckets; /** - * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * */ public Optional> netNetfilterNfConntrackBuckets() { @@ -392,14 +392,14 @@ public Optional> netNetfilterNfConntrackBuckets() { } /** - * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * */ @Import(name="netNetfilterNfConntrackMax") private @Nullable Output netNetfilterNfConntrackMax; /** - * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * */ public Optional> netNetfilterNfConntrackMax() { @@ -407,14 +407,14 @@ public Optional> netNetfilterNfConntrackMax() { } /** - * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * */ @Import(name="vmMaxMapCount") private @Nullable Output vmMaxMapCount; /** - * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * */ public Optional> vmMaxMapCount() { @@ -422,14 +422,14 @@ public Optional> vmMaxMapCount() { } /** - * The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.swappiness. Must be between `0` and `100`. * */ @Import(name="vmSwappiness") private @Nullable Output vmSwappiness; /** - * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. * */ public Optional> vmSwappiness() { @@ -437,14 +437,14 @@ public Optional> vmSwappiness() { } /** - * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * */ @Import(name="vmVfsCachePressure") private @Nullable Output vmVfsCachePressure; /** - * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * */ public Optional> vmVfsCachePressure() { @@ -504,7 +504,7 @@ public Builder(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs defaults) } /** - * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * * @return builder * @@ -515,7 +515,7 @@ public Builder fsAioMaxNr(@Nullable Output fsAioMaxNr) { } /** - * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * * @return builder * @@ -525,7 +525,7 @@ public Builder fsAioMaxNr(Integer fsAioMaxNr) { } /** - * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * * @return builder * @@ -536,7 +536,7 @@ public Builder fsFileMax(@Nullable Output fsFileMax) { } /** - * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * * @return builder * @@ -546,7 +546,7 @@ public Builder fsFileMax(Integer fsFileMax) { } /** - * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * * @return builder * @@ -557,7 +557,7 @@ public Builder fsInotifyMaxUserWatches(@Nullable Output fsInotifyMaxUse } /** - * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * * @return builder * @@ -567,7 +567,7 @@ public Builder fsInotifyMaxUserWatches(Integer fsInotifyMaxUserWatches) { } /** - * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * * @return builder * @@ -578,7 +578,7 @@ public Builder fsNrOpen(@Nullable Output fsNrOpen) { } /** - * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * * @return builder * @@ -588,7 +588,7 @@ public Builder fsNrOpen(Integer fsNrOpen) { } /** - * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * * @return builder * @@ -599,7 +599,7 @@ public Builder kernelThreadsMax(@Nullable Output kernelThreadsMax) { } /** - * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * * @return builder * @@ -609,7 +609,7 @@ public Builder kernelThreadsMax(Integer kernelThreadsMax) { } /** - * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * * @return builder * @@ -620,7 +620,7 @@ public Builder netCoreNetdevMaxBacklog(@Nullable Output netCoreNetdevMa } /** - * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * * @return builder * @@ -630,7 +630,7 @@ public Builder netCoreNetdevMaxBacklog(Integer netCoreNetdevMaxBacklog) { } /** - * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * * @return builder * @@ -641,7 +641,7 @@ public Builder netCoreOptmemMax(@Nullable Output netCoreOptmemMax) { } /** - * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * * @return builder * @@ -651,7 +651,7 @@ public Builder netCoreOptmemMax(Integer netCoreOptmemMax) { } /** - * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * * @return builder * @@ -662,7 +662,7 @@ public Builder netCoreRmemDefault(@Nullable Output netCoreRmemDefault) } /** - * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * * @return builder * @@ -672,7 +672,7 @@ public Builder netCoreRmemDefault(Integer netCoreRmemDefault) { } /** - * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * * @return builder * @@ -683,7 +683,7 @@ public Builder netCoreRmemMax(@Nullable Output netCoreRmemMax) { } /** - * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * * @return builder * @@ -693,7 +693,7 @@ public Builder netCoreRmemMax(Integer netCoreRmemMax) { } /** - * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * * @return builder * @@ -704,7 +704,7 @@ public Builder netCoreSomaxconn(@Nullable Output netCoreSomaxconn) { } /** - * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * * @return builder * @@ -714,7 +714,7 @@ public Builder netCoreSomaxconn(Integer netCoreSomaxconn) { } /** - * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * * @return builder * @@ -725,7 +725,7 @@ public Builder netCoreWmemDefault(@Nullable Output netCoreWmemDefault) } /** - * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * * @return builder * @@ -735,7 +735,7 @@ public Builder netCoreWmemDefault(Integer netCoreWmemDefault) { } /** - * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * * @return builder * @@ -746,7 +746,7 @@ public Builder netCoreWmemMax(@Nullable Output netCoreWmemMax) { } /** - * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * * @return builder * @@ -756,7 +756,7 @@ public Builder netCoreWmemMax(Integer netCoreWmemMax) { } /** - * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * * @return builder * @@ -767,7 +767,7 @@ public Builder netIpv4IpLocalPortRangeMax(@Nullable Output netIpv4IpLoc } /** - * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * * @return builder * @@ -777,7 +777,7 @@ public Builder netIpv4IpLocalPortRangeMax(Integer netIpv4IpLocalPortRangeMax) { } /** - * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * * @return builder * @@ -788,7 +788,7 @@ public Builder netIpv4IpLocalPortRangeMin(@Nullable Output netIpv4IpLoc } /** - * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * * @return builder * @@ -798,7 +798,7 @@ public Builder netIpv4IpLocalPortRangeMin(Integer netIpv4IpLocalPortRangeMin) { } /** - * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * * @return builder * @@ -809,7 +809,7 @@ public Builder netIpv4NeighDefaultGcThresh1(@Nullable Output netIpv4Nei } /** - * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * * @return builder * @@ -819,7 +819,7 @@ public Builder netIpv4NeighDefaultGcThresh1(Integer netIpv4NeighDefaultGcThresh1 } /** - * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * * @return builder * @@ -830,7 +830,7 @@ public Builder netIpv4NeighDefaultGcThresh2(@Nullable Output netIpv4Nei } /** - * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * * @return builder * @@ -840,7 +840,7 @@ public Builder netIpv4NeighDefaultGcThresh2(Integer netIpv4NeighDefaultGcThresh2 } /** - * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * * @return builder * @@ -851,7 +851,7 @@ public Builder netIpv4NeighDefaultGcThresh3(@Nullable Output netIpv4Nei } /** - * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * * @return builder * @@ -861,7 +861,7 @@ public Builder netIpv4NeighDefaultGcThresh3(Integer netIpv4NeighDefaultGcThresh3 } /** - * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * * @return builder * @@ -872,7 +872,7 @@ public Builder netIpv4TcpFinTimeout(@Nullable Output netIpv4TcpFinTimeo } /** - * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * * @return builder * @@ -882,7 +882,7 @@ public Builder netIpv4TcpFinTimeout(Integer netIpv4TcpFinTimeout) { } /** - * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * * @return builder * @@ -893,7 +893,7 @@ public Builder netIpv4TcpKeepaliveIntvl(@Nullable Output netIpv4TcpKeep } /** - * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * * @return builder * @@ -903,7 +903,7 @@ public Builder netIpv4TcpKeepaliveIntvl(Integer netIpv4TcpKeepaliveIntvl) { } /** - * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * * @return builder * @@ -914,7 +914,7 @@ public Builder netIpv4TcpKeepaliveProbes(@Nullable Output netIpv4TcpKee } /** - * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * * @return builder * @@ -924,7 +924,7 @@ public Builder netIpv4TcpKeepaliveProbes(Integer netIpv4TcpKeepaliveProbes) { } /** - * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * * @return builder * @@ -935,7 +935,7 @@ public Builder netIpv4TcpKeepaliveTime(@Nullable Output netIpv4TcpKeepa } /** - * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * * @return builder * @@ -945,7 +945,7 @@ public Builder netIpv4TcpKeepaliveTime(Integer netIpv4TcpKeepaliveTime) { } /** - * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * * @return builder * @@ -956,7 +956,7 @@ public Builder netIpv4TcpMaxSynBacklog(@Nullable Output netIpv4TcpMaxSy } /** - * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * * @return builder * @@ -966,7 +966,7 @@ public Builder netIpv4TcpMaxSynBacklog(Integer netIpv4TcpMaxSynBacklog) { } /** - * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * * @return builder * @@ -977,7 +977,7 @@ public Builder netIpv4TcpMaxTwBuckets(@Nullable Output netIpv4TcpMaxTwB } /** - * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * * @return builder * @@ -987,7 +987,7 @@ public Builder netIpv4TcpMaxTwBuckets(Integer netIpv4TcpMaxTwBuckets) { } /** - * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * * @return builder * @@ -998,7 +998,7 @@ public Builder netIpv4TcpTwReuse(@Nullable Output netIpv4TcpTwReuse) { } /** - * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * * @return builder * @@ -1008,7 +1008,7 @@ public Builder netIpv4TcpTwReuse(Boolean netIpv4TcpTwReuse) { } /** - * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * * @return builder * @@ -1019,7 +1019,7 @@ public Builder netNetfilterNfConntrackBuckets(@Nullable Output netNetfi } /** - * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * * @return builder * @@ -1029,7 +1029,7 @@ public Builder netNetfilterNfConntrackBuckets(Integer netNetfilterNfConntrackBuc } /** - * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * * @return builder * @@ -1040,7 +1040,7 @@ public Builder netNetfilterNfConntrackMax(@Nullable Output netNetfilter } /** - * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * * @return builder * @@ -1050,7 +1050,7 @@ public Builder netNetfilterNfConntrackMax(Integer netNetfilterNfConntrackMax) { } /** - * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * * @return builder * @@ -1061,7 +1061,7 @@ public Builder vmMaxMapCount(@Nullable Output vmMaxMapCount) { } /** - * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * * @return builder * @@ -1071,7 +1071,7 @@ public Builder vmMaxMapCount(Integer vmMaxMapCount) { } /** - * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. * * @return builder * @@ -1082,7 +1082,7 @@ public Builder vmSwappiness(@Nullable Output vmSwappiness) { } /** - * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. * * @return builder * @@ -1092,7 +1092,7 @@ public Builder vmSwappiness(Integer vmSwappiness) { } /** - * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * * @return builder * @@ -1103,7 +1103,7 @@ public Builder vmVfsCachePressure(@Nullable Output vmVfsCachePressure) } /** - * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java index 5d54556e8d..f4adac0c72 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java @@ -75,7 +75,7 @@ public Optional> evictionPolicy() { } /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -84,7 +84,7 @@ public Optional> evictionPolicy() { private @Nullable Output fipsEnabled; /** - * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -109,7 +109,7 @@ public Optional> gpuInstance() { } /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -118,7 +118,7 @@ public Optional> gpuInstance() { private @Nullable Output hostEncryptionEnabled; /** - * @return Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @return Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -143,14 +143,14 @@ public Optional> hostGroupId() { } /** - * A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Import(name="kubeletConfig") private @Nullable Output kubeletConfig; /** - * @return A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * @return A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Optional> kubeletConfig() { @@ -192,14 +192,14 @@ public Optional> kubernetesClusterId() { } /** - * A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ @Import(name="linuxOsConfig") private @Nullable Output linuxOsConfig; /** - * @return A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + * @return A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * */ public Optional> linuxOsConfig() { @@ -214,14 +214,14 @@ public Optional> maxCount() { } /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="maxPods") private @Nullable Output maxPods; /** - * @return The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * @return The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> maxPods() { @@ -307,14 +307,14 @@ public Optional> nodeNet } /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="nodePublicIpEnabled") private @Nullable Output nodePublicIpEnabled; /** - * @return Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @return Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> nodePublicIpEnabled() { @@ -371,14 +371,14 @@ public Optional> orchestratorVersion() { } /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="osDiskSizeGb") private @Nullable Output osDiskSizeGb; /** - * @return The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @return The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> osDiskSizeGb() { @@ -386,14 +386,14 @@ public Optional> osDiskSizeGb() { } /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="osDiskType") private @Nullable Output osDiskType; /** - * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @return The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> osDiskType() { @@ -431,14 +431,14 @@ public Optional> osType() { } /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="podSubnetId") private @Nullable Output podSubnetId; /** - * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> podSubnetId() { @@ -495,14 +495,14 @@ public Optional> scaleDownMode() { } /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="snapshotId") private @Nullable Output snapshotId; /** - * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @return The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> snapshotId() { @@ -548,14 +548,29 @@ public Optional>> tags() { } /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + @Import(name="temporaryNameForRotation") + private @Nullable Output temporaryNameForRotation; + + /** + * @return Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + */ + public Optional> temporaryNameForRotation() { + return Optional.ofNullable(this.temporaryNameForRotation); + } + + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="ultraSsdEnabled") private @Nullable Output ultraSsdEnabled; /** - * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @return Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> ultraSsdEnabled() { @@ -578,14 +593,14 @@ public Optional> upgradeSet } /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="vmSize") private @Nullable Output vmSize; /** - * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @return The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional> vmSize() { @@ -593,7 +608,7 @@ public Optional> vmSize() { } /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -602,7 +617,7 @@ public Optional> vmSize() { private @Nullable Output vnetSubnetId; /** - * @return The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @return The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -646,14 +661,14 @@ public Optional> workloadRuntime() { } /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @return Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * */ public Optional>> zones() { @@ -697,6 +712,7 @@ private KubernetesClusterNodePoolState(KubernetesClusterNodePoolState $) { this.snapshotId = $.snapshotId; this.spotMaxPrice = $.spotMaxPrice; this.tags = $.tags; + this.temporaryNameForRotation = $.temporaryNameForRotation; this.ultraSsdEnabled = $.ultraSsdEnabled; this.upgradeSettings = $.upgradeSettings; this.vmSize = $.vmSize; @@ -792,7 +808,7 @@ public Builder evictionPolicy(String evictionPolicy) { } /** - * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -805,7 +821,7 @@ public Builder fipsEnabled(@Nullable Output fipsEnabled) { } /** - * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * @param fipsEnabled Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). * @@ -838,7 +854,7 @@ public Builder gpuInstance(String gpuInstance) { } /** - * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -851,7 +867,7 @@ public Builder hostEncryptionEnabled(@Nullable Output hostEncryptionEna } /** - * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * @param hostEncryptionEnabled Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. * @@ -884,7 +900,7 @@ public Builder hostGroupId(String hostGroupId) { } /** - * @param kubeletConfig A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + * @param kubeletConfig A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -895,7 +911,7 @@ public Builder kubeletConfig(@Nullable Output maxPods) { } /** - * @param maxPods The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * @param maxPods The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1108,7 +1124,7 @@ public Builder nodeNetworkProfile(KubernetesClusterNodePoolNodeNetworkProfileArg } /** - * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1119,7 +1135,7 @@ public Builder nodePublicIpEnabled(@Nullable Output nodePublicIpEnabled } /** - * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this forces a new resource to be created. + * @param nodePublicIpEnabled Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1206,7 +1222,7 @@ public Builder orchestratorVersion(String orchestratorVersion) { } /** - * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1217,7 +1233,7 @@ public Builder osDiskSizeGb(@Nullable Output osDiskSizeGb) { } /** - * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * @param osDiskSizeGb The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1227,7 +1243,7 @@ public Builder osDiskSizeGb(Integer osDiskSizeGb) { } /** - * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1238,7 +1254,7 @@ public Builder osDiskType(@Nullable Output osDiskType) { } /** - * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * @param osDiskType The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1290,7 +1306,7 @@ public Builder osType(String osType) { } /** - * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1301,7 +1317,7 @@ public Builder podSubnetId(@Nullable Output podSubnetId) { } /** - * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * @param podSubnetId The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1378,7 +1394,7 @@ public Builder scaleDownMode(String scaleDownMode) { } /** - * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1389,7 +1405,7 @@ public Builder snapshotId(@Nullable Output snapshotId) { } /** - * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * @param snapshotId The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1449,7 +1465,28 @@ public Builder tags(Map tags) { } /** - * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @param temporaryNameForRotation Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + * @return builder + * + */ + public Builder temporaryNameForRotation(@Nullable Output temporaryNameForRotation) { + $.temporaryNameForRotation = temporaryNameForRotation; + return this; + } + + /** + * @param temporaryNameForRotation Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + * + * @return builder + * + */ + public Builder temporaryNameForRotation(String temporaryNameForRotation) { + return temporaryNameForRotation(Output.of(temporaryNameForRotation)); + } + + /** + * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1460,7 +1497,7 @@ public Builder ultraSsdEnabled(@Nullable Output ultraSsdEnabled) { } /** - * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * @param ultraSsdEnabled Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1491,7 +1528,7 @@ public Builder upgradeSettings(KubernetesClusterNodePoolUpgradeSettingsArgs upgr } /** - * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1502,7 +1539,7 @@ public Builder vmSize(@Nullable Output vmSize) { } /** - * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * @param vmSize The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1512,7 +1549,7 @@ public Builder vmSize(String vmSize) { } /** - * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -1525,7 +1562,7 @@ public Builder vnetSubnetId(@Nullable Output vnetSubnetId) { } /** - * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * @param vnetSubnetId The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. * * > **NOTE:** A route table must be configured on this Subnet. * @@ -1583,7 +1620,7 @@ public Builder workloadRuntime(String workloadRuntime) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1594,7 +1631,7 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * @@ -1604,7 +1641,7 @@ public Builder zones(List zones) { } /** - * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * @param zones Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.java index e59204c4a7..d645462a5c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolUpgradeSettingsArgs.java @@ -48,14 +48,14 @@ public Output maxSurge() { } /** - * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * */ @Import(name="nodeSoakDurationInMinutes") private @Nullable Output nodeSoakDurationInMinutes; /** - * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * */ public Optional> nodeSoakDurationInMinutes() { @@ -131,7 +131,7 @@ public Builder maxSurge(String maxSurge) { } /** - * @param nodeSoakDurationInMinutes The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * @param nodeSoakDurationInMinutes The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * * @return builder * @@ -142,7 +142,7 @@ public Builder nodeSoakDurationInMinutes(@Nullable Output nodeSoakDurat } /** - * @param nodeSoakDurationInMinutes The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * @param nodeSoakDurationInMinutes The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetAuthenticationCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetAuthenticationCredentialsArgs.java new file mode 100644 index 0000000000..453b9675d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetAuthenticationCredentialsArgs.java @@ -0,0 +1,133 @@ +// *** 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.containerservice.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 RegistryCredentialSetAuthenticationCredentialsArgs extends com.pulumi.resources.ResourceArgs { + + public static final RegistryCredentialSetAuthenticationCredentialsArgs Empty = new RegistryCredentialSetAuthenticationCredentialsArgs(); + + /** + * The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + */ + @Import(name="passwordSecretId", required=true) + private Output passwordSecretId; + + /** + * @return The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + */ + public Output passwordSecretId() { + return this.passwordSecretId; + } + + /** + * The URI of the secret containing the username in a Key Vault. + * + */ + @Import(name="usernameSecretId", required=true) + private Output usernameSecretId; + + /** + * @return The URI of the secret containing the username in a Key Vault. + * + */ + public Output usernameSecretId() { + return this.usernameSecretId; + } + + private RegistryCredentialSetAuthenticationCredentialsArgs() {} + + private RegistryCredentialSetAuthenticationCredentialsArgs(RegistryCredentialSetAuthenticationCredentialsArgs $) { + this.passwordSecretId = $.passwordSecretId; + this.usernameSecretId = $.usernameSecretId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RegistryCredentialSetAuthenticationCredentialsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RegistryCredentialSetAuthenticationCredentialsArgs $; + + public Builder() { + $ = new RegistryCredentialSetAuthenticationCredentialsArgs(); + } + + public Builder(RegistryCredentialSetAuthenticationCredentialsArgs defaults) { + $ = new RegistryCredentialSetAuthenticationCredentialsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param passwordSecretId The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + * @return builder + * + */ + public Builder passwordSecretId(Output passwordSecretId) { + $.passwordSecretId = passwordSecretId; + return this; + } + + /** + * @param passwordSecretId The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + * @return builder + * + */ + public Builder passwordSecretId(String passwordSecretId) { + return passwordSecretId(Output.of(passwordSecretId)); + } + + /** + * @param usernameSecretId The URI of the secret containing the username in a Key Vault. + * + * @return builder + * + */ + public Builder usernameSecretId(Output usernameSecretId) { + $.usernameSecretId = usernameSecretId; + return this; + } + + /** + * @param usernameSecretId The URI of the secret containing the username in a Key Vault. + * + * @return builder + * + */ + public Builder usernameSecretId(String usernameSecretId) { + return usernameSecretId(Output.of(usernameSecretId)); + } + + public RegistryCredentialSetAuthenticationCredentialsArgs build() { + if ($.passwordSecretId == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetAuthenticationCredentialsArgs", "passwordSecretId"); + } + if ($.usernameSecretId == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetAuthenticationCredentialsArgs", "usernameSecretId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetIdentityArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetIdentityArgs.java new file mode 100644 index 0000000000..c70d7d287f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetIdentityArgs.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.containerservice.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 RegistryCredentialSetIdentityArgs extends com.pulumi.resources.ResourceArgs { + + public static final RegistryCredentialSetIdentityArgs Empty = new RegistryCredentialSetIdentityArgs(); + + /** + * The principal ID of the Identity. + * + */ + @Import(name="principalId") + private @Nullable Output principalId; + + /** + * @return The principal ID of the Identity. + * + */ + public Optional> principalId() { + return Optional.ofNullable(this.principalId); + } + + /** + * The tenant ID of the Identity. + * + */ + @Import(name="tenantId") + private @Nullable Output tenantId; + + /** + * @return The tenant ID of the Identity. + * + */ + public Optional> tenantId() { + return Optional.ofNullable(this.tenantId); + } + + /** + * The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + */ + public Output type() { + return this.type; + } + + private RegistryCredentialSetIdentityArgs() {} + + private RegistryCredentialSetIdentityArgs(RegistryCredentialSetIdentityArgs $) { + this.principalId = $.principalId; + this.tenantId = $.tenantId; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RegistryCredentialSetIdentityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RegistryCredentialSetIdentityArgs $; + + public Builder() { + $ = new RegistryCredentialSetIdentityArgs(); + } + + public Builder(RegistryCredentialSetIdentityArgs defaults) { + $ = new RegistryCredentialSetIdentityArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param principalId The principal ID of the Identity. + * + * @return builder + * + */ + public Builder principalId(@Nullable Output principalId) { + $.principalId = principalId; + return this; + } + + /** + * @param principalId The principal ID of the Identity. + * + * @return builder + * + */ + public Builder principalId(String principalId) { + return principalId(Output.of(principalId)); + } + + /** + * @param tenantId The tenant ID of the Identity. + * + * @return builder + * + */ + public Builder tenantId(@Nullable Output tenantId) { + $.tenantId = tenantId; + return this; + } + + /** + * @param tenantId The tenant ID of the Identity. + * + * @return builder + * + */ + public Builder tenantId(String tenantId) { + return tenantId(Output.of(tenantId)); + } + + /** + * @param type The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public RegistryCredentialSetIdentityArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetIdentityArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetState.java new file mode 100644 index 0000000000..95e86b4095 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryCredentialSetState.java @@ -0,0 +1,233 @@ +// *** 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.containerservice.inputs; + +import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetAuthenticationCredentialsArgs; +import com.pulumi.azure.containerservice.inputs.RegistryCredentialSetIdentityArgs; +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 RegistryCredentialSetState extends com.pulumi.resources.ResourceArgs { + + public static final RegistryCredentialSetState Empty = new RegistryCredentialSetState(); + + /** + * A `authentication_credentials` block as defined below. + * + */ + @Import(name="authenticationCredentials") + private @Nullable Output authenticationCredentials; + + /** + * @return A `authentication_credentials` block as defined below. + * + */ + public Optional> authenticationCredentials() { + return Optional.ofNullable(this.authenticationCredentials); + } + + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="containerRegistryId") + private @Nullable Output containerRegistryId; + + /** + * @return The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Optional> containerRegistryId() { + return Optional.ofNullable(this.containerRegistryId); + } + + /** + * An `identity` block as defined below. + * + */ + @Import(name="identity") + private @Nullable Output identity; + + /** + * @return An `identity` block as defined below. + * + */ + public Optional> identity() { + return Optional.ofNullable(this.identity); + } + + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="loginServer") + private @Nullable Output loginServer; + + /** + * @return The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Optional> loginServer() { + return Optional.ofNullable(this.loginServer); + } + + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private RegistryCredentialSetState() {} + + private RegistryCredentialSetState(RegistryCredentialSetState $) { + this.authenticationCredentials = $.authenticationCredentials; + this.containerRegistryId = $.containerRegistryId; + this.identity = $.identity; + this.loginServer = $.loginServer; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RegistryCredentialSetState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RegistryCredentialSetState $; + + public Builder() { + $ = new RegistryCredentialSetState(); + } + + public Builder(RegistryCredentialSetState defaults) { + $ = new RegistryCredentialSetState(Objects.requireNonNull(defaults)); + } + + /** + * @param authenticationCredentials A `authentication_credentials` block as defined below. + * + * @return builder + * + */ + public Builder authenticationCredentials(@Nullable Output authenticationCredentials) { + $.authenticationCredentials = authenticationCredentials; + return this; + } + + /** + * @param authenticationCredentials A `authentication_credentials` block as defined below. + * + * @return builder + * + */ + public Builder authenticationCredentials(RegistryCredentialSetAuthenticationCredentialsArgs authenticationCredentials) { + return authenticationCredentials(Output.of(authenticationCredentials)); + } + + /** + * @param containerRegistryId The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder containerRegistryId(@Nullable Output containerRegistryId) { + $.containerRegistryId = containerRegistryId; + return this; + } + + /** + * @param containerRegistryId The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder containerRegistryId(String containerRegistryId) { + return containerRegistryId(Output.of(containerRegistryId)); + } + + /** + * @param identity An `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(@Nullable Output identity) { + $.identity = identity; + return this; + } + + /** + * @param identity An `identity` block as defined below. + * + * @return builder + * + */ + public Builder identity(RegistryCredentialSetIdentityArgs identity) { + return identity(Output.of(identity)); + } + + /** + * @param loginServer The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder loginServer(@Nullable Output loginServer) { + $.loginServer = loginServer; + return this; + } + + /** + * @param loginServer The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder loginServer(String loginServer) { + return loginServer(Output.of(loginServer)); + } + + /** + * @param name The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public RegistryCredentialSetState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolKubeletConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolKubeletConfig.java index a6ddc6b8cd..f14038a1b4 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolKubeletConfig.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolKubeletConfig.java @@ -15,122 +15,122 @@ @CustomType public final class KubernetesClusterNodePoolKubeletConfig { /** - * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * */ private @Nullable List allowedUnsafeSysctls; /** - * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. * */ private @Nullable Integer containerLogMaxLine; /** - * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * */ private @Nullable Integer containerLogMaxSizeMb; /** - * @return Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * @return Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * */ private @Nullable Boolean cpuCfsQuotaEnabled; /** - * @return Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * @return Specifies the CPU CFS quota period value. * */ private @Nullable String cpuCfsQuotaPeriod; /** - * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * */ private @Nullable String cpuManagerPolicy; /** - * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * */ private @Nullable Integer imageGcHighThreshold; /** - * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * */ private @Nullable Integer imageGcLowThreshold; /** - * @return Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * @return Specifies the maximum number of processes per pod. * */ private @Nullable Integer podMaxPid; /** - * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * */ private @Nullable String topologyManagerPolicy; private KubernetesClusterNodePoolKubeletConfig() {} /** - * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * @return Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). * */ public List allowedUnsafeSysctls() { return this.allowedUnsafeSysctls == null ? List.of() : this.allowedUnsafeSysctls; } /** - * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * @return Specifies the maximum number of container log files that can be present for a container. must be at least 2. * */ public Optional containerLogMaxLine() { return Optional.ofNullable(this.containerLogMaxLine); } /** - * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * @return Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. * */ public Optional containerLogMaxSizeMb() { return Optional.ofNullable(this.containerLogMaxSizeMb); } /** - * @return Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * @return Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. * */ public Optional cpuCfsQuotaEnabled() { return Optional.ofNullable(this.cpuCfsQuotaEnabled); } /** - * @return Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * @return Specifies the CPU CFS quota period value. * */ public Optional cpuCfsQuotaPeriod() { return Optional.ofNullable(this.cpuCfsQuotaPeriod); } /** - * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * @return Specifies the CPU Manager policy to use. Possible values are `none` and `static`, * */ public Optional cpuManagerPolicy() { return Optional.ofNullable(this.cpuManagerPolicy); } /** - * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. * */ public Optional imageGcHighThreshold() { return Optional.ofNullable(this.imageGcHighThreshold); } /** - * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. * */ public Optional imageGcLowThreshold() { return Optional.ofNullable(this.imageGcLowThreshold); } /** - * @return Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * @return Specifies the maximum number of processes per pod. * */ public Optional podMaxPid() { return Optional.ofNullable(this.podMaxPid); } /** - * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * @return Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. * */ public Optional topologyManagerPolicy() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfig.java index 16fa174f91..cf74d10016 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfig.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfig.java @@ -14,50 +14,50 @@ @CustomType public final class KubernetesClusterNodePoolLinuxOsConfig { /** - * @return Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * @return Specifies the size of swap file on each node in MB. * */ private @Nullable Integer swapFileSizeMb; /** - * @return A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + * @return A `sysctl_config` block as defined below. * */ private @Nullable KubernetesClusterNodePoolLinuxOsConfigSysctlConfig sysctlConfig; /** - * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. * */ private @Nullable String transparentHugePageDefrag; /** - * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * */ private @Nullable String transparentHugePageEnabled; private KubernetesClusterNodePoolLinuxOsConfig() {} /** - * @return Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * @return Specifies the size of swap file on each node in MB. * */ public Optional swapFileSizeMb() { return Optional.ofNullable(this.swapFileSizeMb); } /** - * @return A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + * @return A `sysctl_config` block as defined below. * */ public Optional sysctlConfig() { return Optional.ofNullable(this.sysctlConfig); } /** - * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. * */ public Optional transparentHugePageDefrag() { return Optional.ofNullable(this.transparentHugePageDefrag); } /** - * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * @return Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. * */ public Optional transparentHugePageEnabled() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.java index 4633b17cd2..72974486ef 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolLinuxOsConfigSysctlConfig.java @@ -13,350 +13,350 @@ @CustomType public final class KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { /** - * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * */ private @Nullable Integer fsAioMaxNr; /** - * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * */ private @Nullable Integer fsFileMax; /** - * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * */ private @Nullable Integer fsInotifyMaxUserWatches; /** - * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * */ private @Nullable Integer fsNrOpen; /** - * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * */ private @Nullable Integer kernelThreadsMax; /** - * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * */ private @Nullable Integer netCoreNetdevMaxBacklog; /** - * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * */ private @Nullable Integer netCoreOptmemMax; /** - * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * */ private @Nullable Integer netCoreRmemDefault; /** - * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * */ private @Nullable Integer netCoreRmemMax; /** - * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * */ private @Nullable Integer netCoreSomaxconn; /** - * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * */ private @Nullable Integer netCoreWmemDefault; /** - * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * */ private @Nullable Integer netCoreWmemMax; /** - * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * */ private @Nullable Integer netIpv4IpLocalPortRangeMax; /** - * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * */ private @Nullable Integer netIpv4IpLocalPortRangeMin; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * */ private @Nullable Integer netIpv4NeighDefaultGcThresh1; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * */ private @Nullable Integer netIpv4NeighDefaultGcThresh2; /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * */ private @Nullable Integer netIpv4NeighDefaultGcThresh3; /** - * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * */ private @Nullable Integer netIpv4TcpFinTimeout; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * */ private @Nullable Integer netIpv4TcpKeepaliveIntvl; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * */ private @Nullable Integer netIpv4TcpKeepaliveProbes; /** - * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * */ private @Nullable Integer netIpv4TcpKeepaliveTime; /** - * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * */ private @Nullable Integer netIpv4TcpMaxSynBacklog; /** - * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * */ private @Nullable Integer netIpv4TcpMaxTwBuckets; /** - * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * */ private @Nullable Boolean netIpv4TcpTwReuse; /** - * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * */ private @Nullable Integer netNetfilterNfConntrackBuckets; /** - * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * */ private @Nullable Integer netNetfilterNfConntrackMax; /** - * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * */ private @Nullable Integer vmMaxMapCount; /** - * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. * */ private @Nullable Integer vmSwappiness; /** - * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * */ private @Nullable Integer vmVfsCachePressure; private KubernetesClusterNodePoolLinuxOsConfigSysctlConfig() {} /** - * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. * */ public Optional fsAioMaxNr() { return Optional.ofNullable(this.fsAioMaxNr); } /** - * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. * */ public Optional fsFileMax() { return Optional.ofNullable(this.fsFileMax); } /** - * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. * */ public Optional fsInotifyMaxUserWatches() { return Optional.ofNullable(this.fsInotifyMaxUserWatches); } /** - * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. * */ public Optional fsNrOpen() { return Optional.ofNullable(this.fsNrOpen); } /** - * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. * */ public Optional kernelThreadsMax() { return Optional.ofNullable(this.kernelThreadsMax); } /** - * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. * */ public Optional netCoreNetdevMaxBacklog() { return Optional.ofNullable(this.netCoreNetdevMaxBacklog); } /** - * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. * */ public Optional netCoreOptmemMax() { return Optional.ofNullable(this.netCoreOptmemMax); } /** - * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. * */ public Optional netCoreRmemDefault() { return Optional.ofNullable(this.netCoreRmemDefault); } /** - * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. * */ public Optional netCoreRmemMax() { return Optional.ofNullable(this.netCoreRmemMax); } /** - * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. * */ public Optional netCoreSomaxconn() { return Optional.ofNullable(this.netCoreSomaxconn); } /** - * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. * */ public Optional netCoreWmemDefault() { return Optional.ofNullable(this.netCoreWmemDefault); } /** - * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. * */ public Optional netCoreWmemMax() { return Optional.ofNullable(this.netCoreWmemMax); } /** - * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. * */ public Optional netIpv4IpLocalPortRangeMax() { return Optional.ofNullable(this.netIpv4IpLocalPortRangeMax); } /** - * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. * */ public Optional netIpv4IpLocalPortRangeMin() { return Optional.ofNullable(this.netIpv4IpLocalPortRangeMin); } /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. * */ public Optional netIpv4NeighDefaultGcThresh1() { return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh1); } /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. * */ public Optional netIpv4NeighDefaultGcThresh2() { return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh2); } /** - * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. * */ public Optional netIpv4NeighDefaultGcThresh3() { return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh3); } /** - * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. * */ public Optional netIpv4TcpFinTimeout() { return Optional.ofNullable(this.netIpv4TcpFinTimeout); } /** - * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. * */ public Optional netIpv4TcpKeepaliveIntvl() { return Optional.ofNullable(this.netIpv4TcpKeepaliveIntvl); } /** - * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. * */ public Optional netIpv4TcpKeepaliveProbes() { return Optional.ofNullable(this.netIpv4TcpKeepaliveProbes); } /** - * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. * */ public Optional netIpv4TcpKeepaliveTime() { return Optional.ofNullable(this.netIpv4TcpKeepaliveTime); } /** - * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. * */ public Optional netIpv4TcpMaxSynBacklog() { return Optional.ofNullable(this.netIpv4TcpMaxSynBacklog); } /** - * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. * */ public Optional netIpv4TcpMaxTwBuckets() { return Optional.ofNullable(this.netIpv4TcpMaxTwBuckets); } /** - * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? * */ public Optional netIpv4TcpTwReuse() { return Optional.ofNullable(this.netIpv4TcpTwReuse); } /** - * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. * */ public Optional netNetfilterNfConntrackBuckets() { return Optional.ofNullable(this.netNetfilterNfConntrackBuckets); } /** - * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. * */ public Optional netNetfilterNfConntrackMax() { return Optional.ofNullable(this.netNetfilterNfConntrackMax); } /** - * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. * */ public Optional vmMaxMapCount() { return Optional.ofNullable(this.vmMaxMapCount); } /** - * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. * */ public Optional vmSwappiness() { return Optional.ofNullable(this.vmSwappiness); } /** - * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. * */ public Optional vmVfsCachePressure() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolUpgradeSettings.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolUpgradeSettings.java index 11ed454dfc..e46131308a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolUpgradeSettings.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNodePoolUpgradeSettings.java @@ -24,7 +24,7 @@ public final class KubernetesClusterNodePoolUpgradeSettings { */ private String maxSurge; /** - * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * */ private @Nullable Integer nodeSoakDurationInMinutes; @@ -45,7 +45,7 @@ public String maxSurge() { return this.maxSurge; } /** - * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * @return The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. * */ public Optional nodeSoakDurationInMinutes() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetAuthenticationCredentials.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetAuthenticationCredentials.java new file mode 100644 index 0000000000..6320aece51 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetAuthenticationCredentials.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.containerservice.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RegistryCredentialSetAuthenticationCredentials { + /** + * @return The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + */ + private String passwordSecretId; + /** + * @return The URI of the secret containing the username in a Key Vault. + * + */ + private String usernameSecretId; + + private RegistryCredentialSetAuthenticationCredentials() {} + /** + * @return The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + */ + public String passwordSecretId() { + return this.passwordSecretId; + } + /** + * @return The URI of the secret containing the username in a Key Vault. + * + */ + public String usernameSecretId() { + return this.usernameSecretId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RegistryCredentialSetAuthenticationCredentials defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String passwordSecretId; + private String usernameSecretId; + public Builder() {} + public Builder(RegistryCredentialSetAuthenticationCredentials defaults) { + Objects.requireNonNull(defaults); + this.passwordSecretId = defaults.passwordSecretId; + this.usernameSecretId = defaults.usernameSecretId; + } + + @CustomType.Setter + public Builder passwordSecretId(String passwordSecretId) { + if (passwordSecretId == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetAuthenticationCredentials", "passwordSecretId"); + } + this.passwordSecretId = passwordSecretId; + return this; + } + @CustomType.Setter + public Builder usernameSecretId(String usernameSecretId) { + if (usernameSecretId == null) { + throw new MissingRequiredPropertyException("RegistryCredentialSetAuthenticationCredentials", "usernameSecretId"); + } + this.usernameSecretId = usernameSecretId; + return this; + } + public RegistryCredentialSetAuthenticationCredentials build() { + final var _resultValue = new RegistryCredentialSetAuthenticationCredentials(); + _resultValue.passwordSecretId = passwordSecretId; + _resultValue.usernameSecretId = usernameSecretId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetIdentity.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetIdentity.java new file mode 100644 index 0000000000..c0c8e15609 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/RegistryCredentialSetIdentity.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.containerservice.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 RegistryCredentialSetIdentity { + /** + * @return The principal ID of the Identity. + * + */ + private @Nullable String principalId; + /** + * @return The tenant ID of the Identity. + * + */ + private @Nullable String tenantId; + /** + * @return The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + */ + private String type; + + private RegistryCredentialSetIdentity() {} + /** + * @return The principal ID of the Identity. + * + */ + public Optional principalId() { + return Optional.ofNullable(this.principalId); + } + /** + * @return The tenant ID of the Identity. + * + */ + public Optional tenantId() { + return Optional.ofNullable(this.tenantId); + } + /** + * @return The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RegistryCredentialSetIdentity defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String principalId; + private @Nullable String tenantId; + private String type; + public Builder() {} + public Builder(RegistryCredentialSetIdentity defaults) { + Objects.requireNonNull(defaults); + this.principalId = defaults.principalId; + this.tenantId = defaults.tenantId; + this.type = defaults.type; + } + + @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("RegistryCredentialSetIdentity", "type"); + } + this.type = type; + return this; + } + public RegistryCredentialSetIdentity build() { + final var _resultValue = new RegistryCredentialSetIdentity(); + _resultValue.principalId = principalId; + _resultValue.tenantId = tenantId; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlert.java b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlert.java index a4867b058f..e7a03f709c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlert.java +++ b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlert.java @@ -140,6 +140,20 @@ public Output> message() { public Output name() { return this.name; } + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + @Export(name="notificationEmail", refs={String.class}, tree="[0]") + private Output notificationEmail; + + /** + * @return The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + public Output notificationEmail() { + return this.notificationEmail; + } /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlertArgs.java b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlertArgs.java index 10dca1fc58..9374d0d2d9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlertArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/AnomalyAlertArgs.java @@ -92,6 +92,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + @Import(name="notificationEmail") + private @Nullable Output notificationEmail; + + /** + * @return The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + public Optional> notificationEmail() { + return Optional.ofNullable(this.notificationEmail); + } + /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. * @@ -115,6 +130,7 @@ private AnomalyAlertArgs(AnomalyAlertArgs $) { this.emailSubject = $.emailSubject; this.message = $.message; this.name = $.name; + this.notificationEmail = $.notificationEmail; this.subscriptionId = $.subscriptionId; } @@ -251,6 +267,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param notificationEmail The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + * @return builder + * + */ + public Builder notificationEmail(@Nullable Output notificationEmail) { + $.notificationEmail = notificationEmail; + return this; + } + + /** + * @param notificationEmail The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + * @return builder + * + */ + public Builder notificationEmail(String notificationEmail) { + return notificationEmail(Output.of(notificationEmail)); + } + /** * @param subscriptionId The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/inputs/AnomalyAlertState.java b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/inputs/AnomalyAlertState.java index d27cf3fefd..bbb583ebc6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/costmanagement/inputs/AnomalyAlertState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/costmanagement/inputs/AnomalyAlertState.java @@ -91,6 +91,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + @Import(name="notificationEmail") + private @Nullable Output notificationEmail; + + /** + * @return The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + */ + public Optional> notificationEmail() { + return Optional.ofNullable(this.notificationEmail); + } + /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. * @@ -114,6 +129,7 @@ private AnomalyAlertState(AnomalyAlertState $) { this.emailSubject = $.emailSubject; this.message = $.message; this.name = $.name; + this.notificationEmail = $.notificationEmail; this.subscriptionId = $.subscriptionId; } @@ -250,6 +266,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param notificationEmail The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + * @return builder + * + */ + public Builder notificationEmail(@Nullable Output notificationEmail) { + $.notificationEmail = notificationEmail; + return this; + } + + /** + * @param notificationEmail The email address of the point of contact that should get the unsubscribe requests and notification emails. + * + * @return builder + * + */ + public Builder notificationEmail(String notificationEmail) { + return notificationEmail(Output.of(notificationEmail)); + } + /** * @param subscriptionId The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java index 22a9e9902e..ce6b19e037 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java @@ -128,6 +128,20 @@ public Output datastoreType() { public Output> identity() { return Codegen.optional(this.identity); } + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + @Export(name="immutability", refs={String.class}, tree="[0]") + private Output immutability; + + /** + * @return The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + public Output> immutability() { + return Codegen.optional(this.immutability); + } /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. * @@ -203,7 +217,7 @@ public Output> retentionDurationInDays() { return Codegen.optional(this.retentionDurationInDays); } /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -212,7 +226,7 @@ public Output> retentionDurationInDays() { private Output softDelete; /** - * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java index 772e75c6a6..05a39ba60c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java @@ -73,6 +73,21 @@ public Optional> identity() { return Optional.ofNullable(this.identity); } + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + @Import(name="immutability") + private @Nullable Output immutability; + + /** + * @return The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + public Optional> immutability() { + return Optional.ofNullable(this.immutability); + } + /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. * @@ -153,7 +168,7 @@ public Optional> retentionDurationInDays() { } /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -162,7 +177,7 @@ public Optional> retentionDurationInDays() { private @Nullable Output softDelete; /** - * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -192,6 +207,7 @@ private BackupVaultArgs(BackupVaultArgs $) { this.crossRegionRestoreEnabled = $.crossRegionRestoreEnabled; this.datastoreType = $.datastoreType; this.identity = $.identity; + this.immutability = $.immutability; this.location = $.location; this.name = $.name; this.redundancy = $.redundancy; @@ -290,6 +306,27 @@ public Builder identity(BackupVaultIdentityArgs identity) { return identity(Output.of(identity)); } + /** + * @param immutability The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + * @return builder + * + */ + public Builder immutability(@Nullable Output immutability) { + $.immutability = immutability; + return this; + } + + /** + * @param immutability The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + * @return builder + * + */ + public Builder immutability(String immutability) { + return immutability(Output.of(immutability)); + } + /** * @param location The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. * @@ -400,7 +437,7 @@ public Builder retentionDurationInDays(Double retentionDurationInDays) { } /** - * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -413,7 +450,7 @@ public Builder softDelete(@Nullable Output softDelete) { } /** - * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java index ab28b8414f..e41b9130b9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java @@ -72,6 +72,21 @@ public Optional> identity() { return Optional.ofNullable(this.identity); } + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + @Import(name="immutability") + private @Nullable Output immutability; + + /** + * @return The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + */ + public Optional> immutability() { + return Optional.ofNullable(this.immutability); + } + /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. * @@ -152,7 +167,7 @@ public Optional> retentionDurationInDays() { } /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -161,7 +176,7 @@ public Optional> retentionDurationInDays() { private @Nullable Output softDelete; /** - * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -191,6 +206,7 @@ private BackupVaultState(BackupVaultState $) { this.crossRegionRestoreEnabled = $.crossRegionRestoreEnabled; this.datastoreType = $.datastoreType; this.identity = $.identity; + this.immutability = $.immutability; this.location = $.location; this.name = $.name; this.redundancy = $.redundancy; @@ -289,6 +305,27 @@ public Builder identity(BackupVaultIdentityArgs identity) { return identity(Output.of(identity)); } + /** + * @param immutability The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + * @return builder + * + */ + public Builder immutability(@Nullable Output immutability) { + $.immutability = immutability; + return this; + } + + /** + * @param immutability The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + * + * @return builder + * + */ + public Builder immutability(String immutability) { + return immutability(Output.of(immutability)); + } + /** * @param location The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. * @@ -399,7 +436,7 @@ public Builder retentionDurationInDays(Double retentionDurationInDays) { } /** - * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * @@ -412,7 +449,7 @@ public Builder softDelete(@Nullable Output softDelete) { } /** - * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java index cce994e42c..affb22f28f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java @@ -228,6 +228,8 @@ public Output location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Export(name="minimumTlsVersion", refs={String.class}, tree="[0]") private Output minimumTlsVersion; @@ -235,6 +237,8 @@ public Output location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Output> minimumTlsVersion() { return Codegen.optional(this.minimumTlsVersion); diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java index 67781aabd0..79d60635c1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java @@ -100,6 +100,8 @@ public Optional> location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Import(name="minimumTlsVersion") private @Nullable Output minimumTlsVersion; @@ -107,6 +109,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Optional> minimumTlsVersion() { return Optional.ofNullable(this.minimumTlsVersion); @@ -367,6 +371,8 @@ public Builder location(String location) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ @@ -378,6 +384,8 @@ public Builder minimumTlsVersion(@Nullable Output minimumTlsVersion) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java index 2dea303977..d6caa1f139 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java @@ -174,6 +174,8 @@ public Optional> location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Import(name="minimumTlsVersion") private @Nullable Output minimumTlsVersion; @@ -181,6 +183,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Optional> minimumTlsVersion() { return Optional.ofNullable(this.minimumTlsVersion); @@ -551,6 +555,8 @@ public Builder location(String location) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ @@ -562,6 +568,8 @@ public Builder minimumTlsVersion(@Nullable Output minimumTlsVersion) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/Job.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/Job.java new file mode 100644 index 0000000000..57f411535b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/Job.java @@ -0,0 +1,210 @@ +// *** 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.mssql; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.mssql.JobArgs; +import com.pulumi.azure.mssql.inputs.JobState; +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.Optional; +import javax.annotation.Nullable; + +/** + * Manages an Elastic 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.mssql.Server;
+ * import com.pulumi.azure.mssql.ServerArgs;
+ * import com.pulumi.azure.mssql.Database;
+ * import com.pulumi.azure.mssql.DatabaseArgs;
+ * import com.pulumi.azure.mssql.JobAgent;
+ * import com.pulumi.azure.mssql.JobAgentArgs;
+ * import com.pulumi.azure.mssql.JobCredential;
+ * import com.pulumi.azure.mssql.JobCredentialArgs;
+ * import com.pulumi.azure.mssql.Job;
+ * import com.pulumi.azure.mssql.JobArgs;
+ * 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-resource-group")
+ *             .location("East US")
+ *             .build());
+ * 
+ *         var exampleServer = new Server("exampleServer", ServerArgs.builder()
+ *             .name("example-server")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .version("12.0")
+ *             .administratorLogin("4dm1n157r470r")
+ *             .administratorLoginPassword("4-v3ry-53cr37-p455w0rd")
+ *             .build());
+ * 
+ *         var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder()
+ *             .name("example-db")
+ *             .serverId(exampleServer.id())
+ *             .collation("SQL_Latin1_General_CP1_CI_AS")
+ *             .skuName("S1")
+ *             .build());
+ * 
+ *         var exampleJobAgent = new JobAgent("exampleJobAgent", JobAgentArgs.builder()
+ *             .name("example-job-agent")
+ *             .location(example.location())
+ *             .databaseId(exampleDatabase.id())
+ *             .build());
+ * 
+ *         var exampleJobCredential = new JobCredential("exampleJobCredential", JobCredentialArgs.builder()
+ *             .name("example-job-credential")
+ *             .jobAgentId(exampleJobAgent.id())
+ *             .username("my-username")
+ *             .password("MyP4ssw0rd!!!")
+ *             .build());
+ * 
+ *         var exampleJob = new Job("exampleJob", JobArgs.builder()
+ *             .name("example-job")
+ *             .jobAgentId(exampleJobAgent.id())
+ *             .description("example description")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Elastic Jobs can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + * ``` + * + */ +@ResourceType(type="azure:mssql/job:Job") +public class Job extends com.pulumi.resources.CustomResource { + /** + * The description of the Elastic Job. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return The description of the Elastic Job. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + @Export(name="jobAgentId", refs={String.class}, tree="[0]") + private Output jobAgentId; + + /** + * @return The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + public Output jobAgentId() { + return this.jobAgentId; + } + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + public Output name() { + return this.name; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Job(java.lang.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(java.lang.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(java.lang.String name, JobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:mssql/job:Job", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Job(java.lang.String name, Output id, @Nullable JobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:mssql/job:Job", name, state, makeResourceOptions(options, id), false); + } + + private static JobArgs makeArgs(JobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? JobArgs.Empty : args; + } + + 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 Job get(java.lang.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/mssql/JobArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobArgs.java new file mode 100644 index 0000000000..fab179aba3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobArgs.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.mssql; + +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 JobArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobArgs Empty = new JobArgs(); + + /** + * The description of the Elastic Job. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the Elastic Job. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + @Import(name="jobAgentId", required=true) + private Output jobAgentId; + + /** + * @return The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + public Output jobAgentId() { + return this.jobAgentId; + } + + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private JobArgs() {} + + private JobArgs(JobArgs $) { + this.description = $.description; + this.jobAgentId = $.jobAgentId; + this.name = $.name; + } + + 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 description The description of the Elastic Job. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the Elastic Job. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param jobAgentId The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder jobAgentId(Output jobAgentId) { + $.jobAgentId = jobAgentId; + return this; + } + + /** + * @param jobAgentId The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder jobAgentId(String jobAgentId) { + return jobAgentId(Output.of(jobAgentId)); + } + + /** + * @param name The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public JobArgs build() { + if ($.jobAgentId == null) { + throw new MissingRequiredPropertyException("JobArgs", "jobAgentId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/JobSchedule.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobSchedule.java new file mode 100644 index 0000000000..5db012b0f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobSchedule.java @@ -0,0 +1,267 @@ +// *** 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.mssql; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.mssql.JobScheduleArgs; +import com.pulumi.azure.mssql.inputs.JobScheduleState; +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.Boolean; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages an Elastic Job Schedule. + * + * ## 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.mssql.Server;
+ * import com.pulumi.azure.mssql.ServerArgs;
+ * import com.pulumi.azure.mssql.Database;
+ * import com.pulumi.azure.mssql.DatabaseArgs;
+ * import com.pulumi.azure.mssql.JobAgent;
+ * import com.pulumi.azure.mssql.JobAgentArgs;
+ * import com.pulumi.azure.mssql.JobCredential;
+ * import com.pulumi.azure.mssql.JobCredentialArgs;
+ * import com.pulumi.azure.mssql.Job;
+ * import com.pulumi.azure.mssql.JobArgs;
+ * import com.pulumi.azure.mssql.JobSchedule;
+ * import com.pulumi.azure.mssql.JobScheduleArgs;
+ * 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-resource-group")
+ *             .location("East US")
+ *             .build());
+ * 
+ *         var exampleServer = new Server("exampleServer", ServerArgs.builder()
+ *             .name("example-server")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .version("12.0")
+ *             .administratorLogin("4dm1n157r470r")
+ *             .administratorLoginPassword("4-v3ry-53cr37-p455w0rd")
+ *             .build());
+ * 
+ *         var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder()
+ *             .name("example-db")
+ *             .serverId(exampleServer.id())
+ *             .collation("SQL_Latin1_General_CP1_CI_AS")
+ *             .skuName("S1")
+ *             .build());
+ * 
+ *         var exampleJobAgent = new JobAgent("exampleJobAgent", JobAgentArgs.builder()
+ *             .name("example-job-agent")
+ *             .location(example.location())
+ *             .databaseId(exampleDatabase.id())
+ *             .build());
+ * 
+ *         var exampleJobCredential = new JobCredential("exampleJobCredential", JobCredentialArgs.builder()
+ *             .name("example-job-credential")
+ *             .jobAgentId(exampleJobAgent.id())
+ *             .username("my-username")
+ *             .password("MyP4ssw0rd!!!")
+ *             .build());
+ * 
+ *         var exampleJob = new Job("exampleJob", JobArgs.builder()
+ *             .name("example-job")
+ *             .jobAgentId(exampleJobAgent.id())
+ *             .build());
+ * 
+ *         var exampleJobSchedule = new JobSchedule("exampleJobSchedule", JobScheduleArgs.builder()
+ *             .jobId(exampleJob.id())
+ *             .type("Recurring")
+ *             .enabled(true)
+ *             .endTime("2025-12-01T00:00:00Z")
+ *             .interval("PT5M")
+ *             .startTime("2025-01-01T00:00:00Z")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Elastic Job Schedules can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + * ``` + * + */ +@ResourceType(type="azure:mssql/jobSchedule:JobSchedule") +public class JobSchedule extends com.pulumi.resources.CustomResource { + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + @Export(name="enabled", refs={Boolean.class}, tree="[0]") + private Output enabled; + + /** + * @return Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + public Output enabled() { + return this.enabled; + } + /** + * The end time of the schedule. Must be in RFC3339 format. + * + */ + @Export(name="endTime", refs={String.class}, tree="[0]") + private Output endTime; + + /** + * @return The end time of the schedule. Must be in RFC3339 format. + * + */ + public Output endTime() { + return this.endTime; + } + /** + * The interval between job executions. Must be in ISO8601 duration format. + * + */ + @Export(name="interval", refs={String.class}, tree="[0]") + private Output interval; + + /** + * @return The interval between job executions. Must be in ISO8601 duration format. + * + */ + public Output> interval() { + return Codegen.optional(this.interval); + } + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + @Export(name="jobId", refs={String.class}, tree="[0]") + private Output jobId; + + /** + * @return The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + public Output jobId() { + return this.jobId; + } + /** + * The start time of the schedule. Must be in RFC3339 format. + * + */ + @Export(name="startTime", refs={String.class}, tree="[0]") + private Output startTime; + + /** + * @return The start time of the schedule. Must be in RFC3339 format. + * + */ + public Output startTime() { + return this.startTime; + } + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + @Export(name="type", refs={String.class}, tree="[0]") + private Output type; + + /** + * @return The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + public Output type() { + return this.type; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public JobSchedule(java.lang.String name) { + this(name, JobScheduleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public JobSchedule(java.lang.String name, JobScheduleArgs 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 JobSchedule(java.lang.String name, JobScheduleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:mssql/jobSchedule:JobSchedule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private JobSchedule(java.lang.String name, Output id, @Nullable JobScheduleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:mssql/jobSchedule:JobSchedule", name, state, makeResourceOptions(options, id), false); + } + + private static JobScheduleArgs makeArgs(JobScheduleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? JobScheduleArgs.Empty : args; + } + + 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 JobSchedule get(java.lang.String name, Output id, @Nullable JobScheduleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new JobSchedule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/JobScheduleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobScheduleArgs.java new file mode 100644 index 0000000000..cc44bf46c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/JobScheduleArgs.java @@ -0,0 +1,284 @@ +// *** 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.mssql; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobScheduleArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobScheduleArgs Empty = new JobScheduleArgs(); + + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The end time of the schedule. Must be in RFC3339 format. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return The end time of the schedule. Must be in RFC3339 format. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + + /** + * The interval between job executions. Must be in ISO8601 duration format. + * + */ + @Import(name="interval") + private @Nullable Output interval; + + /** + * @return The interval between job executions. Must be in ISO8601 duration format. + * + */ + public Optional> interval() { + return Optional.ofNullable(this.interval); + } + + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + @Import(name="jobId", required=true) + private Output jobId; + + /** + * @return The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + public Output jobId() { + return this.jobId; + } + + /** + * The start time of the schedule. Must be in RFC3339 format. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the schedule. Must be in RFC3339 format. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + public Output type() { + return this.type; + } + + private JobScheduleArgs() {} + + private JobScheduleArgs(JobScheduleArgs $) { + this.enabled = $.enabled; + this.endTime = $.endTime; + this.interval = $.interval; + this.jobId = $.jobId; + this.startTime = $.startTime; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobScheduleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobScheduleArgs $; + + public Builder() { + $ = new JobScheduleArgs(); + } + + public Builder(JobScheduleArgs defaults) { + $ = new JobScheduleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param endTime The end time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime The end time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder endTime(String endTime) { + return endTime(Output.of(endTime)); + } + + /** + * @param interval The interval between job executions. Must be in ISO8601 duration format. + * + * @return builder + * + */ + public Builder interval(@Nullable Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The interval between job executions. Must be in ISO8601 duration format. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param jobId The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + * @return builder + * + */ + public Builder jobId(Output jobId) { + $.jobId = jobId; + return this; + } + + /** + * @param jobId The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + * @return builder + * + */ + public Builder jobId(String jobId) { + return jobId(Output.of(jobId)); + } + + /** + * @param startTime The start time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder startTime(String startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param type The type of schedule. Possible values are `Once` and `Recurring`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of schedule. Possible values are `Once` and `Recurring`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public JobScheduleArgs build() { + if ($.jobId == null) { + throw new MissingRequiredPropertyException("JobScheduleArgs", "jobId"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("JobScheduleArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobScheduleState.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobScheduleState.java new file mode 100644 index 0000000000..2de8fdc775 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobScheduleState.java @@ -0,0 +1,277 @@ +// *** 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.mssql.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobScheduleState extends com.pulumi.resources.ResourceArgs { + + public static final JobScheduleState Empty = new JobScheduleState(); + + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The end time of the schedule. Must be in RFC3339 format. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return The end time of the schedule. Must be in RFC3339 format. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + + /** + * The interval between job executions. Must be in ISO8601 duration format. + * + */ + @Import(name="interval") + private @Nullable Output interval; + + /** + * @return The interval between job executions. Must be in ISO8601 duration format. + * + */ + public Optional> interval() { + return Optional.ofNullable(this.interval); + } + + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + @Import(name="jobId") + private @Nullable Output jobId; + + /** + * @return The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + */ + public Optional> jobId() { + return Optional.ofNullable(this.jobId); + } + + /** + * The start time of the schedule. Must be in RFC3339 format. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the schedule. Must be in RFC3339 format. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The type of schedule. Possible values are `Once` and `Recurring`. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + private JobScheduleState() {} + + private JobScheduleState(JobScheduleState $) { + this.enabled = $.enabled; + this.endTime = $.endTime; + this.interval = $.interval; + this.jobId = $.jobId; + this.startTime = $.startTime; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobScheduleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobScheduleState $; + + public Builder() { + $ = new JobScheduleState(); + } + + public Builder(JobScheduleState defaults) { + $ = new JobScheduleState(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param endTime The end time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime The end time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder endTime(String endTime) { + return endTime(Output.of(endTime)); + } + + /** + * @param interval The interval between job executions. Must be in ISO8601 duration format. + * + * @return builder + * + */ + public Builder interval(@Nullable Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval The interval between job executions. Must be in ISO8601 duration format. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param jobId The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + * @return builder + * + */ + public Builder jobId(@Nullable Output jobId) { + $.jobId = jobId; + return this; + } + + /** + * @param jobId The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + * + * @return builder + * + */ + public Builder jobId(String jobId) { + return jobId(Output.of(jobId)); + } + + /** + * @param startTime The start time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the schedule. Must be in RFC3339 format. + * + * @return builder + * + */ + public Builder startTime(String startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param type The type of schedule. Possible values are `Once` and `Recurring`. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of schedule. Possible values are `Once` and `Recurring`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public JobScheduleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobState.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobState.java new file mode 100644 index 0000000000..9cddb219be --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/JobState.java @@ -0,0 +1,157 @@ +// *** 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.mssql.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 JobState extends com.pulumi.resources.ResourceArgs { + + public static final JobState Empty = new JobState(); + + /** + * The description of the Elastic Job. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the Elastic Job. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + @Import(name="jobAgentId") + private @Nullable Output jobAgentId; + + /** + * @return The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + */ + public Optional> jobAgentId() { + return Optional.ofNullable(this.jobAgentId); + } + + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private JobState() {} + + private JobState(JobState $) { + this.description = $.description; + this.jobAgentId = $.jobAgentId; + this.name = $.name; + } + + 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 description The description of the Elastic Job. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the Elastic Job. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param jobAgentId The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder jobAgentId(@Nullable Output jobAgentId) { + $.jobAgentId = jobAgentId; + return this; + } + + /** + * @param jobAgentId The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder jobAgentId(String jobAgentId) { + return jobAgentId(Output.of(jobAgentId)); + } + + /** + * @param name The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public JobState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseCluster.java b/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseCluster.java index 9c1246bdab..ca2fe08725 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseCluster.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseCluster.java @@ -150,14 +150,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ @Export(name="skuName", refs={String.class}, tree="[0]") private Output skuName; /** - * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ public Output skuName() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseClusterArgs.java b/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseClusterArgs.java index 66eb608f6c..b2bd7a4597 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/EnterpriseClusterArgs.java @@ -83,14 +83,14 @@ public Output resourceGroupName() { } /** - * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ @Import(name="skuName", required=true) private Output skuName; /** - * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ public Output skuName() { @@ -246,7 +246,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * * @return builder * @@ -257,7 +257,7 @@ public Builder skuName(Output skuName) { } /** - * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/EnterpriseClusterState.java b/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/EnterpriseClusterState.java index 1c3908750c..61d9c76f35 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/EnterpriseClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/EnterpriseClusterState.java @@ -97,14 +97,14 @@ public Optional> resourceGroupName() { } /** - * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ @Import(name="skuName") private @Nullable Output skuName; /** - * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @return The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * */ public Optional> skuName() { @@ -282,7 +282,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * * @return builder * @@ -293,7 +293,7 @@ public Builder skuName(@Nullable Output skuName) { } /** - * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * @param skuName The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java index 01a6f1540f..5075f744ed 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java @@ -225,6 +225,8 @@ public Output location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Export(name="minimumTlsVersion", refs={String.class}, tree="[0]") private Output minimumTlsVersion; @@ -232,6 +234,8 @@ public Output location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Output> minimumTlsVersion() { return Codegen.optional(this.minimumTlsVersion); diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java index ef6e62c125..3a1061ba4b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java @@ -100,6 +100,8 @@ public Optional> location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Import(name="minimumTlsVersion") private @Nullable Output minimumTlsVersion; @@ -107,6 +109,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Optional> minimumTlsVersion() { return Optional.ofNullable(this.minimumTlsVersion); @@ -367,6 +371,8 @@ public Builder location(String location) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ @@ -378,6 +384,8 @@ public Builder minimumTlsVersion(@Nullable Output minimumTlsVersion) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java index 81a517c68b..e17daaee75 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java @@ -174,6 +174,8 @@ public Optional> location() { /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ @Import(name="minimumTlsVersion") private @Nullable Output minimumTlsVersion; @@ -181,6 +183,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * */ public Optional> minimumTlsVersion() { return Optional.ofNullable(this.minimumTlsVersion); @@ -551,6 +555,8 @@ public Builder location(String location) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ @@ -562,6 +568,8 @@ public Builder minimumTlsVersion(@Nullable Output minimumTlsVersion) { /** * @param minimumTlsVersion The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/Account.java b/sdk/java/src/main/java/com/pulumi/azure/storage/Account.java index 4545c7d0b8..3a89f1f3d6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/Account.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/Account.java @@ -507,6 +507,8 @@ public Output location() { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ @@ -516,6 +518,8 @@ public Output location() { /** * @return The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/AccountArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/AccountArgs.java index d431f022d5..9619a16ec5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/AccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/AccountArgs.java @@ -395,6 +395,8 @@ public Optional> location() { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ @@ -404,6 +406,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ @@ -1230,6 +1234,8 @@ public Builder location(String location) { /** * @param minTlsVersion The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * * @return builder @@ -1243,6 +1249,8 @@ public Builder minTlsVersion(@Nullable Output minTlsVersion) { /** * @param minTlsVersion The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/Container.java b/sdk/java/src/main/java/com/pulumi/azure/storage/Container.java index 62b63aadb6..de402b594a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/Container.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/Container.java @@ -76,10 +76,10 @@ * * ## Import * - * Storage Containers can be imported using the `resource id`, e.g. + * Storage Containers can be imported using the `resource manager id`, e.g. * * ```sh - * $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container + * $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountState.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountState.java index 81bc829eec..2c58490e87 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/AccountState.java @@ -394,6 +394,8 @@ public Optional> location() { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ @@ -403,6 +405,8 @@ public Optional> location() { /** * @return The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * */ @@ -2381,6 +2385,8 @@ public Builder location(String location) { /** * @param minTlsVersion The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * * @return builder @@ -2394,6 +2400,8 @@ public Builder minTlsVersion(@Nullable Output minTlsVersion) { /** * @param minTlsVersion The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. * * @return builder diff --git a/sdk/nodejs/containerservice/index.ts b/sdk/nodejs/containerservice/index.ts index 3adf6b2d0f..d09dc17d50 100644 --- a/sdk/nodejs/containerservice/index.ts +++ b/sdk/nodejs/containerservice/index.ts @@ -125,6 +125,11 @@ export type RegistryCacheRule = import("./registryCacheRule").RegistryCacheRule; export const RegistryCacheRule: typeof import("./registryCacheRule").RegistryCacheRule = null as any; utilities.lazyLoad(exports, ["RegistryCacheRule"], () => require("./registryCacheRule")); +export { RegistryCredentialSetArgs, RegistryCredentialSetState } from "./registryCredentialSet"; +export type RegistryCredentialSet = import("./registryCredentialSet").RegistryCredentialSet; +export const RegistryCredentialSet: typeof import("./registryCredentialSet").RegistryCredentialSet = null as any; +utilities.lazyLoad(exports, ["RegistryCredentialSet"], () => require("./registryCredentialSet")); + export { RegistryScopeMapArgs, RegistryScopeMapState } from "./registryScopeMap"; export type RegistryScopeMap = import("./registryScopeMap").RegistryScopeMap; export const RegistryScopeMap: typeof import("./registryScopeMap").RegistryScopeMap = null as any; @@ -193,6 +198,8 @@ const _module = { return new RegistryAgentPool(name, undefined, { urn }) case "azure:containerservice/registryCacheRule:RegistryCacheRule": return new RegistryCacheRule(name, undefined, { urn }) + case "azure:containerservice/registryCredentialSet:RegistryCredentialSet": + return new RegistryCredentialSet(name, undefined, { urn }) case "azure:containerservice/registryScopeMap:RegistryScopeMap": return new RegistryScopeMap(name, undefined, { urn }) case "azure:containerservice/registryTask:RegistryTask": @@ -226,6 +233,7 @@ pulumi.runtime.registerResourceModule("azure", "containerservice/kubernetesFleet pulumi.runtime.registerResourceModule("azure", "containerservice/registry", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/registryAgentPool", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/registryCacheRule", _module) +pulumi.runtime.registerResourceModule("azure", "containerservice/registryCredentialSet", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/registryScopeMap", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/registryTask", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/registryTaskScheduleRunNow", _module) diff --git a/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts b/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts index 4423fd9bad..9229b5ded1 100644 --- a/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts +++ b/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts @@ -11,6 +11,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. * + * > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporaryNameForRotation` must be specified when changing any of the following properties: `fipsEnabled`, `hostEncryptionEnabled`, `kubeletConfig`, `linuxOsConfig`, `maxPods`, `nodePublicIpEnabled`, `osDiskSizeGb`, `osDiskType`, `podSubnetId`, `snapshotId`, `ultraSsdEnabled`, `vmSize`, `vnetSubnetId`, `zones`. + * * ## Example Usage * * This example provisions a basic Kubernetes Node Pool. @@ -100,7 +102,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly evictionPolicy!: pulumi.Output; /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). */ @@ -110,7 +112,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly gpuInstance!: pulumi.Output; /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. */ @@ -120,7 +122,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly hostGroupId!: pulumi.Output; /** - * A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + * A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ public readonly kubeletConfig!: pulumi.Output; /** @@ -134,12 +136,12 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly kubernetesClusterId!: pulumi.Output; /** - * A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + * A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ public readonly linuxOsConfig!: pulumi.Output; public readonly maxCount!: pulumi.Output; /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly maxPods!: pulumi.Output; public readonly minCount!: pulumi.Output; @@ -163,7 +165,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly nodeNetworkProfile!: pulumi.Output; /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. */ public readonly nodePublicIpEnabled!: pulumi.Output; /** @@ -181,11 +183,11 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly orchestratorVersion!: pulumi.Output; /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly osDiskSizeGb!: pulumi.Output; /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly osDiskType!: pulumi.Output; /** @@ -197,7 +199,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly osType!: pulumi.Output; /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly podSubnetId!: pulumi.Output; /** @@ -215,7 +217,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly scaleDownMode!: pulumi.Output; /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly snapshotId!: pulumi.Output; /** @@ -231,7 +233,11 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + */ + public readonly temporaryNameForRotation!: pulumi.Output; + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly ultraSsdEnabled!: pulumi.Output; /** @@ -239,11 +245,11 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly upgradeSettings!: pulumi.Output; /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly vmSize!: pulumi.Output; /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** A route table must be configured on this Subnet. */ @@ -259,7 +265,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly workloadRuntime!: pulumi.Output; /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. */ public readonly zones!: pulumi.Output; @@ -310,6 +316,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { resourceInputs["snapshotId"] = state ? state.snapshotId : undefined; resourceInputs["spotMaxPrice"] = state ? state.spotMaxPrice : undefined; resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["temporaryNameForRotation"] = state ? state.temporaryNameForRotation : undefined; resourceInputs["ultraSsdEnabled"] = state ? state.ultraSsdEnabled : undefined; resourceInputs["upgradeSettings"] = state ? state.upgradeSettings : undefined; resourceInputs["vmSize"] = state ? state.vmSize : undefined; @@ -359,6 +366,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { resourceInputs["snapshotId"] = args ? args.snapshotId : undefined; resourceInputs["spotMaxPrice"] = args ? args.spotMaxPrice : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["temporaryNameForRotation"] = args ? args.temporaryNameForRotation : undefined; resourceInputs["ultraSsdEnabled"] = args ? args.ultraSsdEnabled : undefined; resourceInputs["upgradeSettings"] = args ? args.upgradeSettings : undefined; resourceInputs["vmSize"] = args ? args.vmSize : undefined; @@ -391,7 +399,7 @@ export interface KubernetesClusterNodePoolState { */ evictionPolicy?: pulumi.Input; /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). */ @@ -401,7 +409,7 @@ export interface KubernetesClusterNodePoolState { */ gpuInstance?: pulumi.Input; /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. */ @@ -411,7 +419,7 @@ export interface KubernetesClusterNodePoolState { */ hostGroupId?: pulumi.Input; /** - * A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + * A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ kubeletConfig?: pulumi.Input; /** @@ -425,12 +433,12 @@ export interface KubernetesClusterNodePoolState { */ kubernetesClusterId?: pulumi.Input; /** - * A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + * A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ linuxOsConfig?: pulumi.Input; maxCount?: pulumi.Input; /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. */ maxPods?: pulumi.Input; minCount?: pulumi.Input; @@ -454,7 +462,7 @@ export interface KubernetesClusterNodePoolState { */ nodeNetworkProfile?: pulumi.Input; /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. */ nodePublicIpEnabled?: pulumi.Input; /** @@ -472,11 +480,11 @@ export interface KubernetesClusterNodePoolState { */ orchestratorVersion?: pulumi.Input; /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. */ osDiskSizeGb?: pulumi.Input; /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. */ osDiskType?: pulumi.Input; /** @@ -488,7 +496,7 @@ export interface KubernetesClusterNodePoolState { */ osType?: pulumi.Input; /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. */ podSubnetId?: pulumi.Input; /** @@ -506,7 +514,7 @@ export interface KubernetesClusterNodePoolState { */ scaleDownMode?: pulumi.Input; /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ snapshotId?: pulumi.Input; /** @@ -522,7 +530,11 @@ export interface KubernetesClusterNodePoolState { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + */ + temporaryNameForRotation?: pulumi.Input; + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. */ ultraSsdEnabled?: pulumi.Input; /** @@ -530,11 +542,11 @@ export interface KubernetesClusterNodePoolState { */ upgradeSettings?: pulumi.Input; /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ vmSize?: pulumi.Input; /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** A route table must be configured on this Subnet. */ @@ -550,7 +562,7 @@ export interface KubernetesClusterNodePoolState { */ workloadRuntime?: pulumi.Input; /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. */ zones?: pulumi.Input[]>; } @@ -574,7 +586,7 @@ export interface KubernetesClusterNodePoolArgs { */ evictionPolicy?: pulumi.Input; /** - * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). */ @@ -584,7 +596,7 @@ export interface KubernetesClusterNodePoolArgs { */ gpuInstance?: pulumi.Input; /** - * Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + * Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** Additional fields must be configured depending on the value of this field - see below. */ @@ -594,7 +606,7 @@ export interface KubernetesClusterNodePoolArgs { */ hostGroupId?: pulumi.Input; /** - * A `kubeletConfig` block as defined below. Changing this forces a new resource to be created. + * A `kubeletConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ kubeletConfig?: pulumi.Input; /** @@ -608,12 +620,12 @@ export interface KubernetesClusterNodePoolArgs { */ kubernetesClusterId: pulumi.Input; /** - * A `linuxOsConfig` block as defined below. Changing this forces a new resource to be created. + * A `linuxOsConfig` block as defined below. Changing this requires specifying `temporaryNameForRotation`. */ linuxOsConfig?: pulumi.Input; maxCount?: pulumi.Input; /** - * The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + * The maximum number of pods that can run on each agent. Changing this property requires specifying `temporaryNameForRotation`. */ maxPods?: pulumi.Input; minCount?: pulumi.Input; @@ -637,7 +649,7 @@ export interface KubernetesClusterNodePoolArgs { */ nodeNetworkProfile?: pulumi.Input; /** - * Should each node have a Public IP Address? Changing this forces a new resource to be created. + * Should each node have a Public IP Address? Changing this property requires specifying `temporaryNameForRotation`. */ nodePublicIpEnabled?: pulumi.Input; /** @@ -655,11 +667,11 @@ export interface KubernetesClusterNodePoolArgs { */ orchestratorVersion?: pulumi.Input; /** - * The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + * The Agent Operating System disk size in GB. Changing this property requires specifying `temporaryNameForRotation`. */ osDiskSizeGb?: pulumi.Input; /** - * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + * The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporaryNameForRotation`. */ osDiskType?: pulumi.Input; /** @@ -671,7 +683,7 @@ export interface KubernetesClusterNodePoolArgs { */ osType?: pulumi.Input; /** - * The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. */ podSubnetId?: pulumi.Input; /** @@ -689,7 +701,7 @@ export interface KubernetesClusterNodePoolArgs { */ scaleDownMode?: pulumi.Input; /** - * The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + * The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ snapshotId?: pulumi.Input; /** @@ -705,7 +717,11 @@ export interface KubernetesClusterNodePoolArgs { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + * Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + */ + temporaryNameForRotation?: pulumi.Input; + /** + * Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporaryNameForRotation`. */ ultraSsdEnabled?: pulumi.Input; /** @@ -713,11 +729,11 @@ export interface KubernetesClusterNodePoolArgs { */ upgradeSettings?: pulumi.Input; /** - * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + * The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporaryNameForRotation`. */ vmSize: pulumi.Input; /** - * The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + * The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporaryNameForRotation`. * * > **NOTE:** A route table must be configured on this Subnet. */ @@ -733,7 +749,7 @@ export interface KubernetesClusterNodePoolArgs { */ workloadRuntime?: pulumi.Input; /** - * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + * Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporaryNameForRotation`. */ zones?: pulumi.Input[]>; } diff --git a/sdk/nodejs/containerservice/registryCredentialSet.ts b/sdk/nodejs/containerservice/registryCredentialSet.ts new file mode 100644 index 0000000000..fe5cf5010b --- /dev/null +++ b/sdk/nodejs/containerservice/registryCredentialSet.ts @@ -0,0 +1,265 @@ +// *** 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 Registry Credential Set. + * + * ## Example Usage + * + * ### Minimal) + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + * + * ```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 exampleRegistry = new azure.containerservice.Registry("example", { + * name: "exampleContainerRegistry", + * resourceGroupName: example.name, + * location: example.location, + * sku: "Basic", + * }); + * const exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet("example", { + * name: "exampleCredentialSet", + * containerRegistryId: "azurerm_container_registry.example.id", + * loginServer: "docker.io", + * identity: { + * type: "SystemAssigned", + * }, + * authenticationCredentials: { + * usernameSecretId: "https://example-keyvault.vault.azure.net/secrets/example-user-name", + * passwordSecretId: "https://example-keyvault.vault.azure.net/secrets/example-user-password", + * }, + * }); + * ``` + * + * ### Full) + * + * This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. + * + * ```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 current = azure.core.getClientConfig({}); + * const exampleKeyVault = new azure.keyvault.KeyVault("example", { + * name: "examplekeyvault", + * location: example.location, + * resourceGroupName: example.name, + * tenantId: current.then(current => current.tenantId), + * skuName: "standard", + * softDeleteRetentionDays: 7, + * accessPolicies: [{ + * tenantId: current.then(current => current.tenantId), + * objectId: current.then(current => current.objectId), + * certificatePermissions: [], + * keyPermissions: [], + * secretPermissions: [ + * "Get", + * "Set", + * "Delete", + * "Purge", + * ], + * }], + * }); + * const exampleUser = new azure.keyvault.Secret("example_user", { + * keyVaultId: exampleKeyVault.id, + * name: "example-user-name", + * value: "name", + * }); + * const examplePassword = new azure.keyvault.Secret("example_password", { + * keyVaultId: exampleKeyVault.id, + * name: "example-user-password", + * value: "password", + * }); + * const exampleRegistry = new azure.containerservice.Registry("example", { + * name: "exampleContainerRegistry", + * resourceGroupName: example.name, + * location: example.location, + * sku: "Basic", + * }); + * const exampleRegistryCredentialSet = new azure.containerservice.RegistryCredentialSet("example", { + * name: "exampleCredentialSet", + * containerRegistryId: "azurerm_container_registry.example.id", + * loginServer: "docker.io", + * identity: { + * type: "SystemAssigned", + * }, + * authenticationCredentials: { + * usernameSecretId: exampleUser.versionlessId, + * passwordSecretId: examplePassword.versionlessId, + * }, + * }); + * const readSecrets = new azure.keyvault.AccessPolicy("read_secrets", { + * keyVaultId: exampleKeyVault.id, + * tenantId: exampleRegistryCredentialSet.identity.apply(identity => identity.tenantId), + * objectId: exampleRegistryCredentialSet.identity.apply(identity => identity.principalId), + * secretPermissions: ["Get"], + * }); + * ``` + * + * ## Import + * + * Container Registry Credential Sets can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 + * ``` + */ +export class RegistryCredentialSet extends pulumi.CustomResource { + /** + * Get an existing RegistryCredentialSet 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?: RegistryCredentialSetState, opts?: pulumi.CustomResourceOptions): RegistryCredentialSet { + return new RegistryCredentialSet(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:containerservice/registryCredentialSet:RegistryCredentialSet'; + + /** + * Returns true if the given object is an instance of RegistryCredentialSet. 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 RegistryCredentialSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RegistryCredentialSet.__pulumiType; + } + + /** + * A `authenticationCredentials` block as defined below. + */ + public readonly authenticationCredentials!: pulumi.Output; + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + */ + public readonly containerRegistryId!: pulumi.Output; + /** + * An `identity` block as defined below. + */ + public readonly identity!: pulumi.Output; + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + public readonly loginServer!: pulumi.Output; + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + public readonly name!: pulumi.Output; + + /** + * Create a RegistryCredentialSet 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: RegistryCredentialSetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RegistryCredentialSetArgs | RegistryCredentialSetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RegistryCredentialSetState | undefined; + resourceInputs["authenticationCredentials"] = state ? state.authenticationCredentials : undefined; + resourceInputs["containerRegistryId"] = state ? state.containerRegistryId : undefined; + resourceInputs["identity"] = state ? state.identity : undefined; + resourceInputs["loginServer"] = state ? state.loginServer : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as RegistryCredentialSetArgs | undefined; + if ((!args || args.authenticationCredentials === undefined) && !opts.urn) { + throw new Error("Missing required property 'authenticationCredentials'"); + } + if ((!args || args.containerRegistryId === undefined) && !opts.urn) { + throw new Error("Missing required property 'containerRegistryId'"); + } + if ((!args || args.identity === undefined) && !opts.urn) { + throw new Error("Missing required property 'identity'"); + } + if ((!args || args.loginServer === undefined) && !opts.urn) { + throw new Error("Missing required property 'loginServer'"); + } + resourceInputs["authenticationCredentials"] = args ? args.authenticationCredentials : undefined; + resourceInputs["containerRegistryId"] = args ? args.containerRegistryId : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["loginServer"] = args ? args.loginServer : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RegistryCredentialSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RegistryCredentialSet resources. + */ +export interface RegistryCredentialSetState { + /** + * A `authenticationCredentials` block as defined below. + */ + authenticationCredentials?: pulumi.Input; + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + */ + containerRegistryId?: pulumi.Input; + /** + * An `identity` block as defined below. + */ + identity?: pulumi.Input; + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + loginServer?: pulumi.Input; + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RegistryCredentialSet resource. + */ +export interface RegistryCredentialSetArgs { + /** + * A `authenticationCredentials` block as defined below. + */ + authenticationCredentials: pulumi.Input; + /** + * The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + */ + containerRegistryId: pulumi.Input; + /** + * An `identity` block as defined below. + */ + identity: pulumi.Input; + /** + * The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + loginServer: pulumi.Input; + /** + * The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/costmanagement/anomalyAlert.ts b/sdk/nodejs/costmanagement/anomalyAlert.ts index d99a8b9418..426d9dce9d 100644 --- a/sdk/nodejs/costmanagement/anomalyAlert.ts +++ b/sdk/nodejs/costmanagement/anomalyAlert.ts @@ -80,6 +80,10 @@ export class AnomalyAlert extends pulumi.CustomResource { * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ public readonly name!: pulumi.Output; + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + */ + public readonly notificationEmail!: pulumi.Output; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ @@ -103,6 +107,7 @@ export class AnomalyAlert extends pulumi.CustomResource { resourceInputs["emailSubject"] = state ? state.emailSubject : undefined; resourceInputs["message"] = state ? state.message : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["notificationEmail"] = state ? state.notificationEmail : undefined; resourceInputs["subscriptionId"] = state ? state.subscriptionId : undefined; } else { const args = argsOrState as AnomalyAlertArgs | undefined; @@ -120,6 +125,7 @@ export class AnomalyAlert extends pulumi.CustomResource { resourceInputs["emailSubject"] = args ? args.emailSubject : undefined; resourceInputs["message"] = args ? args.message : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["notificationEmail"] = args ? args.notificationEmail : undefined; resourceInputs["subscriptionId"] = args ? args.subscriptionId : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -151,6 +157,10 @@ export interface AnomalyAlertState { * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ name?: pulumi.Input; + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + */ + notificationEmail?: pulumi.Input; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ @@ -181,6 +191,10 @@ export interface AnomalyAlertArgs { * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ name?: pulumi.Input; + /** + * The email address of the point of contact that should get the unsubscribe requests and notification emails. + */ + notificationEmail?: pulumi.Input; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ diff --git a/sdk/nodejs/dataprotection/backupVault.ts b/sdk/nodejs/dataprotection/backupVault.ts index 5629889f9f..ab56bfa51e 100644 --- a/sdk/nodejs/dataprotection/backupVault.ts +++ b/sdk/nodejs/dataprotection/backupVault.ts @@ -80,6 +80,10 @@ export class BackupVault extends pulumi.CustomResource { * An `identity` block as defined below. */ public readonly identity!: pulumi.Output; + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + */ + public readonly immutability!: pulumi.Output; /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ @@ -103,7 +107,7 @@ export class BackupVault extends pulumi.CustomResource { */ public readonly retentionDurationInDays!: pulumi.Output; /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. */ @@ -129,6 +133,7 @@ export class BackupVault extends pulumi.CustomResource { resourceInputs["crossRegionRestoreEnabled"] = state ? state.crossRegionRestoreEnabled : undefined; resourceInputs["datastoreType"] = state ? state.datastoreType : undefined; resourceInputs["identity"] = state ? state.identity : undefined; + resourceInputs["immutability"] = state ? state.immutability : undefined; resourceInputs["location"] = state ? state.location : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["redundancy"] = state ? state.redundancy : undefined; @@ -150,6 +155,7 @@ export class BackupVault extends pulumi.CustomResource { resourceInputs["crossRegionRestoreEnabled"] = args ? args.crossRegionRestoreEnabled : undefined; resourceInputs["datastoreType"] = args ? args.datastoreType : undefined; resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["immutability"] = args ? args.immutability : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["redundancy"] = args ? args.redundancy : undefined; @@ -183,6 +189,10 @@ export interface BackupVaultState { * An `identity` block as defined below. */ identity?: pulumi.Input; + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + */ + immutability?: pulumi.Input; /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ @@ -206,7 +216,7 @@ export interface BackupVaultState { */ retentionDurationInDays?: pulumi.Input; /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. */ @@ -237,6 +247,10 @@ export interface BackupVaultArgs { * An `identity` block as defined below. */ identity?: pulumi.Input; + /** + * The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + */ + immutability?: pulumi.Input; /** * The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ @@ -260,7 +274,7 @@ export interface BackupVaultArgs { */ retentionDurationInDays?: pulumi.Input; /** - * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. * * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. */ diff --git a/sdk/nodejs/eventhub/namespace.ts b/sdk/nodejs/eventhub/namespace.ts index 02087de4b4..3bb4ad6b03 100644 --- a/sdk/nodejs/eventhub/namespace.ts +++ b/sdk/nodejs/eventhub/namespace.ts @@ -111,6 +111,8 @@ export class Namespace extends pulumi.CustomResource { public readonly location!: pulumi.Output; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ public readonly minimumTlsVersion!: pulumi.Output; /** @@ -259,6 +261,8 @@ export interface NamespaceState { location?: pulumi.Input; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** @@ -320,6 +324,8 @@ export interface NamespaceArgs { location?: pulumi.Input; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** diff --git a/sdk/nodejs/mssql/index.ts b/sdk/nodejs/mssql/index.ts index 1cc192dc5f..b089ed4a86 100644 --- a/sdk/nodejs/mssql/index.ts +++ b/sdk/nodejs/mssql/index.ts @@ -60,6 +60,11 @@ export const getServer: typeof import("./getServer").getServer = null as any; export const getServerOutput: typeof import("./getServer").getServerOutput = null as any; utilities.lazyLoad(exports, ["getServer","getServerOutput"], () => require("./getServer")); +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")); + export { JobAgentArgs, JobAgentState } from "./jobAgent"; export type JobAgent = import("./jobAgent").JobAgent; export const JobAgent: typeof import("./jobAgent").JobAgent = null as any; @@ -70,6 +75,11 @@ export type JobCredential = import("./jobCredential").JobCredential; export const JobCredential: typeof import("./jobCredential").JobCredential = null as any; utilities.lazyLoad(exports, ["JobCredential"], () => require("./jobCredential")); +export { JobScheduleArgs, JobScheduleState } from "./jobSchedule"; +export type JobSchedule = import("./jobSchedule").JobSchedule; +export const JobSchedule: typeof import("./jobSchedule").JobSchedule = null as any; +utilities.lazyLoad(exports, ["JobSchedule"], () => require("./jobSchedule")); + export { ManagedDatabaseArgs, ManagedDatabaseState } from "./managedDatabase"; export type ManagedDatabase = import("./managedDatabase").ManagedDatabase; export const ManagedDatabase: typeof import("./managedDatabase").ManagedDatabase = null as any; @@ -182,10 +192,14 @@ const _module = { return new FailoverGroup(name, undefined, { urn }) case "azure:mssql/firewallRule:FirewallRule": return new FirewallRule(name, undefined, { urn }) + case "azure:mssql/job:Job": + return new Job(name, undefined, { urn }) case "azure:mssql/jobAgent:JobAgent": return new JobAgent(name, undefined, { urn }) case "azure:mssql/jobCredential:JobCredential": return new JobCredential(name, undefined, { urn }) + case "azure:mssql/jobSchedule:JobSchedule": + return new JobSchedule(name, undefined, { urn }) case "azure:mssql/managedDatabase:ManagedDatabase": return new ManagedDatabase(name, undefined, { urn }) case "azure:mssql/managedInstance:ManagedInstance": @@ -235,8 +249,10 @@ pulumi.runtime.registerResourceModule("azure", "mssql/databaseVulnerabilityAsses pulumi.runtime.registerResourceModule("azure", "mssql/elasticPool", _module) pulumi.runtime.registerResourceModule("azure", "mssql/failoverGroup", _module) pulumi.runtime.registerResourceModule("azure", "mssql/firewallRule", _module) +pulumi.runtime.registerResourceModule("azure", "mssql/job", _module) pulumi.runtime.registerResourceModule("azure", "mssql/jobAgent", _module) pulumi.runtime.registerResourceModule("azure", "mssql/jobCredential", _module) +pulumi.runtime.registerResourceModule("azure", "mssql/jobSchedule", _module) pulumi.runtime.registerResourceModule("azure", "mssql/managedDatabase", _module) pulumi.runtime.registerResourceModule("azure", "mssql/managedInstance", _module) pulumi.runtime.registerResourceModule("azure", "mssql/managedInstanceActiveDirectoryAdministrator", _module) diff --git a/sdk/nodejs/mssql/job.ts b/sdk/nodejs/mssql/job.ts new file mode 100644 index 0000000000..fe083a199d --- /dev/null +++ b/sdk/nodejs/mssql/job.ts @@ -0,0 +1,165 @@ +// *** 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 an Elastic 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-resource-group", + * location: "East US", + * }); + * const exampleServer = new azure.mssql.Server("example", { + * name: "example-server", + * resourceGroupName: example.name, + * location: example.location, + * version: "12.0", + * administratorLogin: "4dm1n157r470r", + * administratorLoginPassword: "4-v3ry-53cr37-p455w0rd", + * }); + * const exampleDatabase = new azure.mssql.Database("example", { + * name: "example-db", + * serverId: exampleServer.id, + * collation: "SQL_Latin1_General_CP1_CI_AS", + * skuName: "S1", + * }); + * const exampleJobAgent = new azure.mssql.JobAgent("example", { + * name: "example-job-agent", + * location: example.location, + * databaseId: exampleDatabase.id, + * }); + * const exampleJobCredential = new azure.mssql.JobCredential("example", { + * name: "example-job-credential", + * jobAgentId: exampleJobAgent.id, + * username: "my-username", + * password: "MyP4ssw0rd!!!", + * }); + * const exampleJob = new azure.mssql.Job("example", { + * name: "example-job", + * jobAgentId: exampleJobAgent.id, + * description: "example description", + * }); + * ``` + * + * ## Import + * + * Elastic Jobs can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + * ``` + */ +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:mssql/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 description of the Elastic Job. + */ + public readonly description!: pulumi.Output; + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + */ + public readonly jobAgentId!: pulumi.Output; + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + */ + public readonly name!: 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["description"] = state ? state.description : undefined; + resourceInputs["jobAgentId"] = state ? state.jobAgentId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as JobArgs | undefined; + if ((!args || args.jobAgentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'jobAgentId'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["jobAgentId"] = args ? args.jobAgentId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Job.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Job resources. + */ +export interface JobState { + /** + * The description of the Elastic Job. + */ + description?: pulumi.Input; + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + */ + jobAgentId?: pulumi.Input; + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Job resource. + */ +export interface JobArgs { + /** + * The description of the Elastic Job. + */ + description?: pulumi.Input; + /** + * The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + */ + jobAgentId: pulumi.Input; + /** + * The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/mssql/jobSchedule.ts b/sdk/nodejs/mssql/jobSchedule.ts new file mode 100644 index 0000000000..9da07cbec6 --- /dev/null +++ b/sdk/nodejs/mssql/jobSchedule.ts @@ -0,0 +1,223 @@ +// *** 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 an Elastic Job Schedule. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resource-group", + * location: "East US", + * }); + * const exampleServer = new azure.mssql.Server("example", { + * name: "example-server", + * resourceGroupName: example.name, + * location: example.location, + * version: "12.0", + * administratorLogin: "4dm1n157r470r", + * administratorLoginPassword: "4-v3ry-53cr37-p455w0rd", + * }); + * const exampleDatabase = new azure.mssql.Database("example", { + * name: "example-db", + * serverId: exampleServer.id, + * collation: "SQL_Latin1_General_CP1_CI_AS", + * skuName: "S1", + * }); + * const exampleJobAgent = new azure.mssql.JobAgent("example", { + * name: "example-job-agent", + * location: example.location, + * databaseId: exampleDatabase.id, + * }); + * const exampleJobCredential = new azure.mssql.JobCredential("example", { + * name: "example-job-credential", + * jobAgentId: exampleJobAgent.id, + * username: "my-username", + * password: "MyP4ssw0rd!!!", + * }); + * const exampleJob = new azure.mssql.Job("example", { + * name: "example-job", + * jobAgentId: exampleJobAgent.id, + * }); + * const exampleJobSchedule = new azure.mssql.JobSchedule("example", { + * jobId: exampleJob.id, + * type: "Recurring", + * enabled: true, + * endTime: "2025-12-01T00:00:00Z", + * interval: "PT5M", + * startTime: "2025-01-01T00:00:00Z", + * }); + * ``` + * + * ## Import + * + * Elastic Job Schedules can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + * ``` + */ +export class JobSchedule extends pulumi.CustomResource { + /** + * Get an existing JobSchedule 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?: JobScheduleState, opts?: pulumi.CustomResourceOptions): JobSchedule { + return new JobSchedule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:mssql/jobSchedule:JobSchedule'; + + /** + * Returns true if the given object is an instance of JobSchedule. 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 JobSchedule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === JobSchedule.__pulumiType; + } + + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + */ + public readonly enabled!: pulumi.Output; + /** + * The end time of the schedule. Must be in RFC3339 format. + */ + public readonly endTime!: pulumi.Output; + /** + * The interval between job executions. Must be in ISO8601 duration format. + */ + public readonly interval!: pulumi.Output; + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + */ + public readonly jobId!: pulumi.Output; + /** + * The start time of the schedule. Must be in RFC3339 format. + */ + public readonly startTime!: pulumi.Output; + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + */ + public readonly type!: pulumi.Output; + + /** + * Create a JobSchedule 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: JobScheduleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: JobScheduleArgs | JobScheduleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as JobScheduleState | undefined; + resourceInputs["enabled"] = state ? state.enabled : undefined; + resourceInputs["endTime"] = state ? state.endTime : undefined; + resourceInputs["interval"] = state ? state.interval : undefined; + resourceInputs["jobId"] = state ? state.jobId : undefined; + resourceInputs["startTime"] = state ? state.startTime : undefined; + resourceInputs["type"] = state ? state.type : undefined; + } else { + const args = argsOrState as JobScheduleArgs | undefined; + if ((!args || args.jobId === undefined) && !opts.urn) { + throw new Error("Missing required property 'jobId'"); + } + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["enabled"] = args ? args.enabled : undefined; + resourceInputs["endTime"] = args ? args.endTime : undefined; + resourceInputs["interval"] = args ? args.interval : undefined; + resourceInputs["jobId"] = args ? args.jobId : undefined; + resourceInputs["startTime"] = args ? args.startTime : undefined; + resourceInputs["type"] = args ? args.type : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(JobSchedule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering JobSchedule resources. + */ +export interface JobScheduleState { + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + */ + enabled?: pulumi.Input; + /** + * The end time of the schedule. Must be in RFC3339 format. + */ + endTime?: pulumi.Input; + /** + * The interval between job executions. Must be in ISO8601 duration format. + */ + interval?: pulumi.Input; + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + */ + jobId?: pulumi.Input; + /** + * The start time of the schedule. Must be in RFC3339 format. + */ + startTime?: pulumi.Input; + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + */ + type?: pulumi.Input; +} + +/** + * The set of arguments for constructing a JobSchedule resource. + */ +export interface JobScheduleArgs { + /** + * Should the Elastic Job Schedule be enabled? Defaults to `false`. + * + * > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignoreChanges`. This is because Azure will set `enabled` to `false` once the job has executed. + */ + enabled?: pulumi.Input; + /** + * The end time of the schedule. Must be in RFC3339 format. + */ + endTime?: pulumi.Input; + /** + * The interval between job executions. Must be in ISO8601 duration format. + */ + interval?: pulumi.Input; + /** + * The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + */ + jobId: pulumi.Input; + /** + * The start time of the schedule. Must be in RFC3339 format. + */ + startTime?: pulumi.Input; + /** + * The type of schedule. Possible values are `Once` and `Recurring`. + */ + type: pulumi.Input; +} diff --git a/sdk/nodejs/redis/enterpriseCluster.ts b/sdk/nodejs/redis/enterpriseCluster.ts index e3c89abe85..41aa0a40d9 100644 --- a/sdk/nodejs/redis/enterpriseCluster.ts +++ b/sdk/nodejs/redis/enterpriseCluster.ts @@ -84,7 +84,7 @@ export class EnterpriseCluster extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. */ public readonly skuName!: pulumi.Output; /** @@ -166,7 +166,7 @@ export interface EnterpriseClusterState { */ resourceGroupName?: pulumi.Input; /** - * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. */ skuName?: pulumi.Input; /** @@ -202,7 +202,7 @@ export interface EnterpriseClusterArgs { */ resourceGroupName: pulumi.Input; /** - * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + * The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. */ skuName: pulumi.Input; /** diff --git a/sdk/nodejs/servicebus/namespace.ts b/sdk/nodejs/servicebus/namespace.ts index acaa7b11a1..10e14290e5 100644 --- a/sdk/nodejs/servicebus/namespace.ts +++ b/sdk/nodejs/servicebus/namespace.ts @@ -108,6 +108,8 @@ export class Namespace extends pulumi.CustomResource { public readonly location!: pulumi.Output; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ public readonly minimumTlsVersion!: pulumi.Output; /** @@ -255,6 +257,8 @@ export interface NamespaceState { location?: pulumi.Input; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** @@ -316,6 +320,8 @@ export interface NamespaceArgs { location?: pulumi.Input; /** * The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** diff --git a/sdk/nodejs/storage/account.ts b/sdk/nodejs/storage/account.ts index 7b9e126b9b..8d7de2548b 100644 --- a/sdk/nodejs/storage/account.ts +++ b/sdk/nodejs/storage/account.ts @@ -217,6 +217,8 @@ export class Account extends pulumi.CustomResource { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. */ public readonly minTlsVersion!: pulumi.Output; @@ -947,6 +949,8 @@ export interface AccountState { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. */ minTlsVersion?: pulumi.Input; @@ -1426,6 +1430,8 @@ export interface AccountArgs { /** * The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. * + * > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + * * > **Note:** At this time `minTlsVersion` is only supported in the Public Cloud, China Cloud, and US Government Cloud. */ minTlsVersion?: pulumi.Input; diff --git a/sdk/nodejs/storage/container.ts b/sdk/nodejs/storage/container.ts index 1aa6826731..c23e06285c 100644 --- a/sdk/nodejs/storage/container.ts +++ b/sdk/nodejs/storage/container.ts @@ -36,10 +36,10 @@ import * as utilities from "../utilities"; * * ## Import * - * Storage Containers can be imported using the `resource id`, e.g. + * Storage Containers can be imported using the `resource manager id`, e.g. * * ```sh - * $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container + * $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer * ``` */ export class Container extends pulumi.CustomResource { diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index b80cf854a3..1f6c303b4f 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -453,6 +453,7 @@ "containerservice/registry.ts", "containerservice/registryAgentPool.ts", "containerservice/registryCacheRule.ts", + "containerservice/registryCredentialSet.ts", "containerservice/registryScopeMap.ts", "containerservice/registryTask.ts", "containerservice/registryTaskScheduleRunNow.ts", @@ -1057,8 +1058,10 @@ "mssql/getManagedInstance.ts", "mssql/getServer.ts", "mssql/index.ts", + "mssql/job.ts", "mssql/jobAgent.ts", "mssql/jobCredential.ts", + "mssql/jobSchedule.ts", "mssql/managedDatabase.ts", "mssql/managedInstance.ts", "mssql/managedInstanceActiveDirectoryAdministrator.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index b91d32081b..34082428b6 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5453,7 +5453,7 @@ export namespace appservice { */ javaVersion?: pulumi.Input; /** - * The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. */ nodeVersion?: pulumi.Input; /** @@ -7581,7 +7581,7 @@ export namespace appservice { /** * The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app */ @@ -8736,7 +8736,7 @@ export namespace appservice { /** * The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. */ javaVersion?: pulumi.Input; /** @@ -10577,7 +10577,7 @@ export namespace appservice { */ javaVersion?: pulumi.Input; /** - * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. */ nodeVersion?: pulumi.Input; /** @@ -22189,6 +22189,10 @@ export namespace containerapp { * One or more `tcpScaleRule` blocks as defined below. */ tcpScaleRules?: pulumi.Input[]>; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds?: pulumi.Input; /** * A `volume` block as detailed below. */ @@ -25042,181 +25046,181 @@ export namespace containerservice { export interface KubernetesClusterNodePoolKubeletConfig { /** - * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). */ allowedUnsafeSysctls?: pulumi.Input[]>; /** - * Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * Specifies the maximum number of container log files that can be present for a container. must be at least 2. */ containerLogMaxLine?: pulumi.Input; /** - * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. */ containerLogMaxSizeMb?: pulumi.Input; /** - * Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. */ cpuCfsQuotaEnabled?: pulumi.Input; /** - * Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * Specifies the CPU CFS quota period value. */ cpuCfsQuotaPeriod?: pulumi.Input; /** - * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, */ cpuManagerPolicy?: pulumi.Input; /** - * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. */ imageGcHighThreshold?: pulumi.Input; /** - * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. */ imageGcLowThreshold?: pulumi.Input; /** - * Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * Specifies the maximum number of processes per pod. */ podMaxPid?: pulumi.Input; /** - * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. */ topologyManagerPolicy?: pulumi.Input; } export interface KubernetesClusterNodePoolLinuxOsConfig { /** - * Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * Specifies the size of swap file on each node in MB. */ swapFileSizeMb?: pulumi.Input; /** - * A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. + * A `sysctlConfig` block as defined below. */ sysctlConfig?: pulumi.Input; /** - * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. */ transparentHugePageDefrag?: pulumi.Input; /** - * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. */ transparentHugePageEnabled?: pulumi.Input; } export interface KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { /** - * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. */ fsAioMaxNr?: pulumi.Input; /** - * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. */ fsFileMax?: pulumi.Input; /** - * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. */ fsInotifyMaxUserWatches?: pulumi.Input; /** - * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. */ fsNrOpen?: pulumi.Input; /** - * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. */ kernelThreadsMax?: pulumi.Input; /** - * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. */ netCoreNetdevMaxBacklog?: pulumi.Input; /** - * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. */ netCoreOptmemMax?: pulumi.Input; /** - * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. */ netCoreRmemDefault?: pulumi.Input; /** - * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. */ netCoreRmemMax?: pulumi.Input; /** - * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. */ netCoreSomaxconn?: pulumi.Input; /** - * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. */ netCoreWmemDefault?: pulumi.Input; /** - * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. */ netCoreWmemMax?: pulumi.Input; /** - * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. */ netIpv4IpLocalPortRangeMax?: pulumi.Input; /** - * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. */ netIpv4IpLocalPortRangeMin?: pulumi.Input; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. */ netIpv4NeighDefaultGcThresh1?: pulumi.Input; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. */ netIpv4NeighDefaultGcThresh2?: pulumi.Input; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. */ netIpv4NeighDefaultGcThresh3?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. */ netIpv4TcpFinTimeout?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. */ netIpv4TcpKeepaliveIntvl?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. */ netIpv4TcpKeepaliveProbes?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. */ netIpv4TcpKeepaliveTime?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. */ netIpv4TcpMaxSynBacklog?: pulumi.Input; /** - * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. */ netIpv4TcpMaxTwBuckets?: pulumi.Input; /** - * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? */ netIpv4TcpTwReuse?: pulumi.Input; /** - * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. */ netNetfilterNfConntrackBuckets?: pulumi.Input; /** - * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. */ netNetfilterNfConntrackMax?: pulumi.Input; /** - * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. */ vmMaxMapCount?: pulumi.Input; /** - * The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.swappiness. Must be between `0` and `100`. */ vmSwappiness?: pulumi.Input; /** - * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. */ vmVfsCachePressure?: pulumi.Input; } @@ -25261,7 +25265,7 @@ export namespace containerservice { */ maxSurge: pulumi.Input; /** - * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. */ nodeSoakDurationInMinutes?: pulumi.Input; } @@ -25464,6 +25468,34 @@ export namespace containerservice { kubernetesVersion?: pulumi.Input; } + export interface RegistryCredentialSetAuthenticationCredentials { + /** + * The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + */ + passwordSecretId: pulumi.Input; + /** + * The URI of the secret containing the username in a Key Vault. + */ + usernameSecretId: pulumi.Input; + } + + export interface RegistryCredentialSetIdentity { + /** + * The principal ID of the Identity. + */ + principalId?: pulumi.Input; + /** + * The tenant ID of the Identity. + */ + tenantId?: pulumi.Input; + /** + * The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + */ + type: pulumi.Input; + } + export interface RegistryEncryption { /** * The client ID of the managed identity associated with the encryption key. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index f0a3d3c971..72f1409c37 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -10590,7 +10590,7 @@ export namespace appservice { */ javaVersion?: string; /** - * The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + * The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. */ nodeVersion?: string; /** @@ -12718,7 +12718,7 @@ export namespace appservice { /** * The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. * - * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. * * > **NOTE:** `javaServer`, `javaServerVersion`, and `javaVersion` must all be specified if building a java app */ @@ -13873,7 +13873,7 @@ export namespace appservice { /** * The Version of Java to use. Possible values include `8`, `11`, and `17`. * - * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --linux`. + * > **NOTE:** The valid version combinations for `javaVersion`, `javaServer` and `javaServerVersion` can be checked from the command line via `az webapp list-runtimes --os-type linux`. */ javaVersion?: string; /** @@ -15714,7 +15714,7 @@ export namespace appservice { */ javaVersion?: string; /** - * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + * The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. */ nodeVersion?: string; /** @@ -29438,6 +29438,10 @@ export namespace containerapp { * One or more `tcpScaleRule` blocks as defined below. */ tcpScaleRules?: outputs.containerapp.AppTemplateTcpScaleRule[]; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds?: number; /** * A `volume` block as detailed below. */ @@ -30131,6 +30135,10 @@ export namespace containerapp { */ revisionSuffix: string; tcpScaleRules: outputs.containerapp.GetAppTemplateTcpScaleRule[]; + /** + * The time in seconds after the container is sent the termination signal before the process if forcibly killed. + */ + terminationGracePeriodSeconds: number; /** * A `volume` block as detailed below. */ @@ -33344,181 +33352,181 @@ export namespace containerservice { export interface KubernetesClusterNodePoolKubeletConfig { /** - * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + * Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). */ allowedUnsafeSysctls?: string[]; /** - * Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + * Specifies the maximum number of container log files that can be present for a container. must be at least 2. */ containerLogMaxLine?: number; /** - * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + * Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. */ containerLogMaxSizeMb?: number; /** - * Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + * Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. */ cpuCfsQuotaEnabled?: boolean; /** - * Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + * Specifies the CPU CFS quota period value. */ cpuCfsQuotaPeriod?: string; /** - * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + * Specifies the CPU Manager policy to use. Possible values are `none` and `static`, */ cpuManagerPolicy?: string; /** - * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. */ imageGcHighThreshold?: number; /** - * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + * Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. */ imageGcLowThreshold?: number; /** - * Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + * Specifies the maximum number of processes per pod. */ podMaxPid?: number; /** - * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + * Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. */ topologyManagerPolicy?: string; } export interface KubernetesClusterNodePoolLinuxOsConfig { /** - * Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + * Specifies the size of swap file on each node in MB. */ swapFileSizeMb?: number; /** - * A `sysctlConfig` block as defined below. Changing this forces a new resource to be created. + * A `sysctlConfig` block as defined below. */ sysctlConfig?: outputs.containerservice.KubernetesClusterNodePoolLinuxOsConfigSysctlConfig; /** - * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + * specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. */ transparentHugePageDefrag?: string; /** - * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + * Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. */ transparentHugePageEnabled?: string; } export interface KubernetesClusterNodePoolLinuxOsConfigSysctlConfig { /** - * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. */ fsAioMaxNr?: number; /** - * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. */ fsFileMax?: number; /** - * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. */ fsInotifyMaxUserWatches?: number; /** - * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. */ fsNrOpen?: number; /** - * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. */ kernelThreadsMax?: number; /** - * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. */ netCoreNetdevMaxBacklog?: number; /** - * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. */ netCoreOptmemMax?: number; /** - * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. */ netCoreRmemDefault?: number; /** - * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. */ netCoreRmemMax?: number; /** - * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. */ netCoreSomaxconn?: number; /** - * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. */ netCoreWmemDefault?: number; /** - * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. */ netCoreWmemMax?: number; /** - * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. */ netIpv4IpLocalPortRangeMax?: number; /** - * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. */ netIpv4IpLocalPortRangeMin?: number; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. */ netIpv4NeighDefaultGcThresh1?: number; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. */ netIpv4NeighDefaultGcThresh2?: number; /** - * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. */ netIpv4NeighDefaultGcThresh3?: number; /** - * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. */ netIpv4TcpFinTimeout?: number; /** - * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. */ netIpv4TcpKeepaliveIntvl?: number; /** - * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. */ netIpv4TcpKeepaliveProbes?: number; /** - * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. */ netIpv4TcpKeepaliveTime?: number; /** - * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. */ netIpv4TcpMaxSynBacklog?: number; /** - * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. */ netIpv4TcpMaxTwBuckets?: number; /** - * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? */ netIpv4TcpTwReuse?: boolean; /** - * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. */ netNetfilterNfConntrackBuckets?: number; /** - * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. */ netNetfilterNfConntrackMax?: number; /** - * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. */ vmMaxMapCount?: number; /** - * The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.swappiness. Must be between `0` and `100`. */ vmSwappiness?: number; /** - * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. */ vmVfsCachePressure?: number; } @@ -33563,7 +33571,7 @@ export namespace containerservice { */ maxSurge: string; /** - * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + * The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. */ nodeSoakDurationInMinutes?: number; } @@ -33766,6 +33774,34 @@ export namespace containerservice { kubernetesVersion: string; } + export interface RegistryCredentialSetAuthenticationCredentials { + /** + * The URI of the secret containing the password in a Key Vault. + * + * > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `azure.keyvault.AccessPolicy` resource. + */ + passwordSecretId: string; + /** + * The URI of the secret containing the username in a Key Vault. + */ + usernameSecretId: string; + } + + export interface RegistryCredentialSetIdentity { + /** + * The principal ID of the Identity. + */ + principalId: string; + /** + * The tenant ID of the Identity. + */ + tenantId: string; + /** + * The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + */ + type: string; + } + export interface RegistryEncryption { /** * The client ID of the managed identity associated with the encryption key. diff --git a/sdk/python/pulumi_azure/__init__.py b/sdk/python/pulumi_azure/__init__.py index b6601f75bb..9a7a909971 100644 --- a/sdk/python/pulumi_azure/__init__.py +++ b/sdk/python/pulumi_azure/__init__.py @@ -2814,6 +2814,14 @@ "azure:containerservice/registryCacheRule:RegistryCacheRule": "RegistryCacheRule" } }, + { + "pkg": "azure", + "mod": "containerservice/registryCredentialSet", + "fqn": "pulumi_azure.containerservice", + "classes": { + "azure:containerservice/registryCredentialSet:RegistryCredentialSet": "RegistryCredentialSet" + } + }, { "pkg": "azure", "mod": "containerservice/registryScopeMap", @@ -6046,6 +6054,14 @@ "azure:mssql/firewallRule:FirewallRule": "FirewallRule" } }, + { + "pkg": "azure", + "mod": "mssql/job", + "fqn": "pulumi_azure.mssql", + "classes": { + "azure:mssql/job:Job": "Job" + } + }, { "pkg": "azure", "mod": "mssql/jobAgent", @@ -6062,6 +6078,14 @@ "azure:mssql/jobCredential:JobCredential": "JobCredential" } }, + { + "pkg": "azure", + "mod": "mssql/jobSchedule", + "fqn": "pulumi_azure.mssql", + "classes": { + "azure:mssql/jobSchedule:JobSchedule": "JobSchedule" + } + }, { "pkg": "azure", "mod": "mssql/managedDatabase", diff --git a/sdk/python/pulumi_azure/appservice/_inputs.py b/sdk/python/pulumi_azure/appservice/_inputs.py index 63fe6d9dc1..e7d6a826fd 100644 --- a/sdk/python/pulumi_azure/appservice/_inputs.py +++ b/sdk/python/pulumi_azure/appservice/_inputs.py @@ -12019,7 +12019,7 @@ class LinuxFunctionAppSiteConfigApplicationStackArgsDict(TypedDict): """ node_version: NotRequired[pulumi.Input[str]] """ - The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. """ powershell_core_version: NotRequired[pulumi.Input[str]] """ @@ -12057,7 +12057,7 @@ def __init__(__self__, *, :param pulumi.Input[str] java_version: The Version of Java to use. Supported versions include `8`, `11`, `17`, `21`. > **NOTE:** The value `21` is currently in Preview for `java_version`. - :param pulumi.Input[str] node_version: The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + :param pulumi.Input[str] node_version: The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. :param pulumi.Input[str] powershell_core_version: The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. :param pulumi.Input[str] python_version: The version of Python to run. Possible values are `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`. :param pulumi.Input[bool] use_custom_runtime: Should the Linux Function App use a custom runtime? @@ -12122,7 +12122,7 @@ def java_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeVersion") def node_version(self) -> Optional[pulumi.Input[str]]: """ - The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. """ return pulumi.get(self, "node_version") @@ -22078,7 +22078,7 @@ class LinuxWebAppSiteConfigApplicationStackArgsDict(TypedDict): """ The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app """ @@ -22136,7 +22136,7 @@ def __init__(__self__, *, :param pulumi.Input[str] java_server_version: The Version of the `java_server` to use. :param pulumi.Input[str] java_version: The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app :param pulumi.Input[str] node_version: The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`. @@ -22281,7 +22281,7 @@ def java_version(self) -> Optional[pulumi.Input[str]]: """ The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app """ @@ -27586,7 +27586,7 @@ class LinuxWebAppSlotSiteConfigApplicationStackArgsDict(TypedDict): """ The Version of Java to use. Possible values include `8`, `11`, and `17`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. """ node_version: NotRequired[pulumi.Input[str]] """ @@ -27642,7 +27642,7 @@ def __init__(__self__, *, :param pulumi.Input[str] java_server_version: The Version of the `java_server` to use. :param pulumi.Input[str] java_version: The Version of Java to use. Possible values include `8`, `11`, and `17`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. :param pulumi.Input[str] node_version: The version of Node to run. Possible values are `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`. > **NOTE:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider. @@ -27785,7 +27785,7 @@ def java_version(self) -> Optional[pulumi.Input[str]]: """ The Version of Java to use. Possible values include `8`, `11`, and `17`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. """ return pulumi.get(self, "java_version") @@ -36450,7 +36450,7 @@ class WindowsFunctionAppSiteConfigApplicationStackArgsDict(TypedDict): """ node_version: NotRequired[pulumi.Input[str]] """ - The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. """ powershell_core_version: NotRequired[pulumi.Input[str]] """ @@ -36481,7 +36481,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] dotnet_version: The version of .NET to use. Possible values include `v3.0`, `v4.0` `v6.0`, `v7.0`, `v8.0` and `v9.0`. Defaults to `v4.0`. :param pulumi.Input[str] java_version: The Version of Java to use. Supported versions include `1.8`, `11`, `17`, `21` (In-Preview). - :param pulumi.Input[str] node_version: The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + :param pulumi.Input[str] node_version: The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. :param pulumi.Input[str] powershell_core_version: The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. > **NOTE:** A value of `7` will provide the latest stable version. `7.2` is in preview at the time of writing. @@ -36529,7 +36529,7 @@ def java_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeVersion") def node_version(self) -> Optional[pulumi.Input[str]]: """ - The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. """ return pulumi.get(self, "node_version") diff --git a/sdk/python/pulumi_azure/appservice/outputs.py b/sdk/python/pulumi_azure/appservice/outputs.py index 80d1593efd..96ae3fb3a6 100644 --- a/sdk/python/pulumi_azure/appservice/outputs.py +++ b/sdk/python/pulumi_azure/appservice/outputs.py @@ -9286,7 +9286,7 @@ def __init__(__self__, *, :param str java_version: The Version of Java to use. Supported versions include `8`, `11`, `17`, `21`. > **NOTE:** The value `21` is currently in Preview for `java_version`. - :param str node_version: The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + :param str node_version: The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. :param str powershell_core_version: The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. :param str python_version: The version of Python to run. Possible values are `3.12`, `3.11`, `3.10`, `3.9`, `3.8` and `3.7`. :param bool use_custom_runtime: Should the Linux Function App use a custom runtime? @@ -9339,7 +9339,7 @@ def java_version(self) -> Optional[str]: @pulumi.getter(name="nodeVersion") def node_version(self) -> Optional[str]: """ - The version of Node to run. Possible values include `12`, `14`, `16`, `18` and `20`. + The version of Node to run. Possible values include `12`, `14`, `16`, `18` `20` and `22`. """ return pulumi.get(self, "node_version") @@ -17087,7 +17087,7 @@ def __init__(__self__, *, :param str java_server_version: The Version of the `java_server` to use. :param str java_version: The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app :param str node_version: The version of Node to run. Possible values include `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`. @@ -17200,7 +17200,7 @@ def java_version(self) -> Optional[str]: """ The Version of Java to use. Possible values include `8`, `11`, `17`, and `21`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. > **NOTE:** `java_server`, `java_server_version`, and `java_version` must all be specified if building a java app """ @@ -21361,7 +21361,7 @@ def __init__(__self__, *, :param str java_server_version: The Version of the `java_server` to use. :param str java_version: The Version of Java to use. Possible values include `8`, `11`, and `17`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. :param str node_version: The version of Node to run. Possible values are `12-lts`, `14-lts`, `16-lts`, `18-lts` and `20-lts`. This property conflicts with `java_version`. > **NOTE:** 10.x versions have been/are being deprecated so may cease to work for new resources in the future and may be removed from the provider. @@ -21472,7 +21472,7 @@ def java_version(self) -> Optional[str]: """ The Version of Java to use. Possible values include `8`, `11`, and `17`. - > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --linux`. + > **NOTE:** The valid version combinations for `java_version`, `java_server` and `java_server_version` can be checked from the command line via `az webapp list-runtimes --os-type linux`. """ return pulumi.get(self, "java_version") @@ -28236,7 +28236,7 @@ def __init__(__self__, *, """ :param str dotnet_version: The version of .NET to use. Possible values include `v3.0`, `v4.0` `v6.0`, `v7.0`, `v8.0` and `v9.0`. Defaults to `v4.0`. :param str java_version: The Version of Java to use. Supported versions include `1.8`, `11`, `17`, `21` (In-Preview). - :param str node_version: The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + :param str node_version: The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. :param str powershell_core_version: The version of PowerShell Core to run. Possible values are `7`, `7.2`, and `7.4`. > **NOTE:** A value of `7` will provide the latest stable version. `7.2` is in preview at the time of writing. @@ -28276,7 +28276,7 @@ def java_version(self) -> Optional[str]: @pulumi.getter(name="nodeVersion") def node_version(self) -> Optional[str]: """ - The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` and `~20`. + The version of Node to run. Possible values include `~12`, `~14`, `~16`, `~18` `~20` and `~22`. """ return pulumi.get(self, "node_version") diff --git a/sdk/python/pulumi_azure/containerapp/_inputs.py b/sdk/python/pulumi_azure/containerapp/_inputs.py index 28339779dd..dce87e9e7b 100644 --- a/sdk/python/pulumi_azure/containerapp/_inputs.py +++ b/sdk/python/pulumi_azure/containerapp/_inputs.py @@ -1001,6 +1001,10 @@ class AppTemplateArgsDict(TypedDict): """ One or more `tcp_scale_rule` blocks as defined below. """ + termination_grace_period_seconds: NotRequired[pulumi.Input[int]] + """ + The time in seconds after the container is sent the termination signal before the process if forcibly killed. + """ volumes: NotRequired[pulumi.Input[Sequence[pulumi.Input['AppTemplateVolumeArgsDict']]]] """ A `volume` block as detailed below. @@ -1020,6 +1024,7 @@ def __init__(__self__, *, min_replicas: Optional[pulumi.Input[int]] = None, revision_suffix: Optional[pulumi.Input[str]] = None, tcp_scale_rules: Optional[pulumi.Input[Sequence[pulumi.Input['AppTemplateTcpScaleRuleArgs']]]] = None, + termination_grace_period_seconds: Optional[pulumi.Input[int]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input['AppTemplateVolumeArgs']]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['AppTemplateContainerArgs']]] containers: One or more `container` blocks as detailed below. @@ -1031,6 +1036,7 @@ def __init__(__self__, *, :param pulumi.Input[int] min_replicas: The minimum number of replicas for this container. :param pulumi.Input[str] revision_suffix: The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one. :param pulumi.Input[Sequence[pulumi.Input['AppTemplateTcpScaleRuleArgs']]] tcp_scale_rules: One or more `tcp_scale_rule` blocks as defined below. + :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[Sequence[pulumi.Input['AppTemplateVolumeArgs']]] volumes: A `volume` block as detailed below. """ pulumi.set(__self__, "containers", containers) @@ -1050,6 +1056,8 @@ def __init__(__self__, *, pulumi.set(__self__, "revision_suffix", revision_suffix) if tcp_scale_rules is not None: pulumi.set(__self__, "tcp_scale_rules", tcp_scale_rules) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) if volumes is not None: pulumi.set(__self__, "volumes", volumes) @@ -1161,6 +1169,18 @@ def tcp_scale_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppTem def tcp_scale_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppTemplateTcpScaleRuleArgs']]]]): pulumi.set(self, "tcp_scale_rules", 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 volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppTemplateVolumeArgs']]]]: diff --git a/sdk/python/pulumi_azure/containerapp/outputs.py b/sdk/python/pulumi_azure/containerapp/outputs.py index 0e88bb2cc7..018f579293 100644 --- a/sdk/python/pulumi_azure/containerapp/outputs.py +++ b/sdk/python/pulumi_azure/containerapp/outputs.py @@ -783,6 +783,8 @@ def __key_warning(key: str): suggest = "revision_suffix" elif key == "tcpScaleRules": suggest = "tcp_scale_rules" + elif key == "terminationGracePeriodSeconds": + suggest = "termination_grace_period_seconds" if suggest: pulumi.log.warn(f"Key '{key}' not found in AppTemplate. Access the value via the '{suggest}' property getter instead.") @@ -805,6 +807,7 @@ def __init__(__self__, *, min_replicas: Optional[int] = None, revision_suffix: Optional[str] = None, tcp_scale_rules: Optional[Sequence['outputs.AppTemplateTcpScaleRule']] = None, + termination_grace_period_seconds: Optional[int] = None, volumes: Optional[Sequence['outputs.AppTemplateVolume']] = None): """ :param Sequence['AppTemplateContainerArgs'] containers: One or more `container` blocks as detailed below. @@ -816,6 +819,7 @@ def __init__(__self__, *, :param int min_replicas: The minimum number of replicas for this container. :param str revision_suffix: The suffix for the revision. This value must be unique for the lifetime of the Resource. If omitted the service will use a hash function to create one. :param Sequence['AppTemplateTcpScaleRuleArgs'] tcp_scale_rules: One or more `tcp_scale_rule` blocks as defined below. + :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 Sequence['AppTemplateVolumeArgs'] volumes: A `volume` block as detailed below. """ pulumi.set(__self__, "containers", containers) @@ -835,6 +839,8 @@ def __init__(__self__, *, pulumi.set(__self__, "revision_suffix", revision_suffix) if tcp_scale_rules is not None: pulumi.set(__self__, "tcp_scale_rules", tcp_scale_rules) + if termination_grace_period_seconds is not None: + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) if volumes is not None: pulumi.set(__self__, "volumes", volumes) @@ -910,6 +916,14 @@ def tcp_scale_rules(self) -> Optional[Sequence['outputs.AppTemplateTcpScaleRule' """ return pulumi.get(self, "tcp_scale_rules") + @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 volumes(self) -> Optional[Sequence['outputs.AppTemplateVolume']]: @@ -4866,6 +4880,7 @@ def __init__(__self__, *, min_replicas: int, revision_suffix: str, tcp_scale_rules: Sequence['outputs.GetAppTemplateTcpScaleRuleResult'], + termination_grace_period_seconds: int, volumes: Sequence['outputs.GetAppTemplateVolumeResult'], custom_scale_rules: Optional[Sequence['outputs.GetAppTemplateCustomScaleRuleResult']] = None): """ @@ -4874,6 +4889,7 @@ def __init__(__self__, *, :param int max_replicas: The maximum number of replicas for this container. :param int min_replicas: The minimum number of replicas for this container. :param str revision_suffix: The suffix string to which this `traffic_weight` applies. + :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 Sequence['GetAppTemplateVolumeArgs'] volumes: A `volume` block as detailed below. """ pulumi.set(__self__, "azure_queue_scale_rules", azure_queue_scale_rules) @@ -4884,6 +4900,7 @@ def __init__(__self__, *, pulumi.set(__self__, "min_replicas", min_replicas) pulumi.set(__self__, "revision_suffix", revision_suffix) pulumi.set(__self__, "tcp_scale_rules", tcp_scale_rules) + pulumi.set(__self__, "termination_grace_period_seconds", termination_grace_period_seconds) pulumi.set(__self__, "volumes", volumes) if custom_scale_rules is not None: pulumi.set(__self__, "custom_scale_rules", custom_scale_rules) @@ -4943,6 +4960,14 @@ def revision_suffix(self) -> str: def tcp_scale_rules(self) -> Sequence['outputs.GetAppTemplateTcpScaleRuleResult']: return pulumi.get(self, "tcp_scale_rules") + @property + @pulumi.getter(name="terminationGracePeriodSeconds") + def termination_grace_period_seconds(self) -> 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 volumes(self) -> Sequence['outputs.GetAppTemplateVolumeResult']: diff --git a/sdk/python/pulumi_azure/containerservice/__init__.py b/sdk/python/pulumi_azure/containerservice/__init__.py index be63421f44..945fa3e0ad 100644 --- a/sdk/python/pulumi_azure/containerservice/__init__.py +++ b/sdk/python/pulumi_azure/containerservice/__init__.py @@ -29,6 +29,7 @@ from .registry import * from .registry_agent_pool import * from .registry_cache_rule import * +from .registry_credential_set import * from .registry_scope_map import * from .registry_task import * from .registry_task_schedule_run_now import * diff --git a/sdk/python/pulumi_azure/containerservice/_inputs.py b/sdk/python/pulumi_azure/containerservice/_inputs.py index c26c294064..15c25bfe28 100644 --- a/sdk/python/pulumi_azure/containerservice/_inputs.py +++ b/sdk/python/pulumi_azure/containerservice/_inputs.py @@ -201,6 +201,10 @@ 'KubernetesClusterWorkloadAutoscalerProfileArgsDict', 'KubernetesFleetManagerHubProfileArgs', 'KubernetesFleetManagerHubProfileArgsDict', + 'RegistryCredentialSetAuthenticationCredentialsArgs', + 'RegistryCredentialSetAuthenticationCredentialsArgsDict', + 'RegistryCredentialSetIdentityArgs', + 'RegistryCredentialSetIdentityArgsDict', 'RegistryEncryptionArgs', 'RegistryEncryptionArgsDict', 'RegistryGeoreplicationArgs', @@ -9009,43 +9013,43 @@ def managed_outbound_ip_count(self, value: Optional[pulumi.Input[int]]): class KubernetesClusterNodePoolKubeletConfigArgsDict(TypedDict): allowed_unsafe_sysctls: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ - Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). """ container_log_max_line: NotRequired[pulumi.Input[int]] """ - Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + Specifies the maximum number of container log files that can be present for a container. must be at least 2. """ container_log_max_size_mb: NotRequired[pulumi.Input[int]] """ - Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. """ cpu_cfs_quota_enabled: NotRequired[pulumi.Input[bool]] """ - Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. """ cpu_cfs_quota_period: NotRequired[pulumi.Input[str]] """ - Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + Specifies the CPU CFS quota period value. """ cpu_manager_policy: NotRequired[pulumi.Input[str]] """ - Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + Specifies the CPU Manager policy to use. Possible values are `none` and `static`, """ image_gc_high_threshold: NotRequired[pulumi.Input[int]] """ - Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. """ image_gc_low_threshold: NotRequired[pulumi.Input[int]] """ - Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. """ pod_max_pid: NotRequired[pulumi.Input[int]] """ - Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + Specifies the maximum number of processes per pod. """ topology_manager_policy: NotRequired[pulumi.Input[str]] """ - Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. """ elif False: KubernetesClusterNodePoolKubeletConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -9064,16 +9068,16 @@ def __init__(__self__, *, pod_max_pid: Optional[pulumi.Input[int]] = None, topology_manager_policy: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_unsafe_sysctls: Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. - :param pulumi.Input[int] container_log_max_line: Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. - :param pulumi.Input[int] container_log_max_size_mb: Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. - :param pulumi.Input[bool] cpu_cfs_quota_enabled: Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. - :param pulumi.Input[str] cpu_cfs_quota_period: Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. - :param pulumi.Input[str] cpu_manager_policy: Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. - :param pulumi.Input[int] image_gc_high_threshold: Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param pulumi.Input[int] image_gc_low_threshold: Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param pulumi.Input[int] pod_max_pid: Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. - :param pulumi.Input[str] topology_manager_policy: Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_unsafe_sysctls: Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). + :param pulumi.Input[int] container_log_max_line: Specifies the maximum number of container log files that can be present for a container. must be at least 2. + :param pulumi.Input[int] container_log_max_size_mb: Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. + :param pulumi.Input[bool] cpu_cfs_quota_enabled: Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. + :param pulumi.Input[str] cpu_cfs_quota_period: Specifies the CPU CFS quota period value. + :param pulumi.Input[str] cpu_manager_policy: Specifies the CPU Manager policy to use. Possible values are `none` and `static`, + :param pulumi.Input[int] image_gc_high_threshold: Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. + :param pulumi.Input[int] image_gc_low_threshold: Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. + :param pulumi.Input[int] pod_max_pid: Specifies the maximum number of processes per pod. + :param pulumi.Input[str] topology_manager_policy: Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. """ if allowed_unsafe_sysctls is not None: pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls) @@ -9100,7 +9104,7 @@ def __init__(__self__, *, @pulumi.getter(name="allowedUnsafeSysctls") def allowed_unsafe_sysctls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). """ return pulumi.get(self, "allowed_unsafe_sysctls") @@ -9112,7 +9116,7 @@ def allowed_unsafe_sysctls(self, value: Optional[pulumi.Input[Sequence[pulumi.In @pulumi.getter(name="containerLogMaxLine") def container_log_max_line(self) -> Optional[pulumi.Input[int]]: """ - Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + Specifies the maximum number of container log files that can be present for a container. must be at least 2. """ return pulumi.get(self, "container_log_max_line") @@ -9124,7 +9128,7 @@ def container_log_max_line(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="containerLogMaxSizeMb") def container_log_max_size_mb(self) -> Optional[pulumi.Input[int]]: """ - Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. """ return pulumi.get(self, "container_log_max_size_mb") @@ -9136,7 +9140,7 @@ def container_log_max_size_mb(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="cpuCfsQuotaEnabled") def cpu_cfs_quota_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. """ return pulumi.get(self, "cpu_cfs_quota_enabled") @@ -9148,7 +9152,7 @@ def cpu_cfs_quota_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="cpuCfsQuotaPeriod") def cpu_cfs_quota_period(self) -> Optional[pulumi.Input[str]]: """ - Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + Specifies the CPU CFS quota period value. """ return pulumi.get(self, "cpu_cfs_quota_period") @@ -9160,7 +9164,7 @@ def cpu_cfs_quota_period(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="cpuManagerPolicy") def cpu_manager_policy(self) -> Optional[pulumi.Input[str]]: """ - Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + Specifies the CPU Manager policy to use. Possible values are `none` and `static`, """ return pulumi.get(self, "cpu_manager_policy") @@ -9172,7 +9176,7 @@ def cpu_manager_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="imageGcHighThreshold") def image_gc_high_threshold(self) -> Optional[pulumi.Input[int]]: """ - Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. """ return pulumi.get(self, "image_gc_high_threshold") @@ -9184,7 +9188,7 @@ def image_gc_high_threshold(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="imageGcLowThreshold") def image_gc_low_threshold(self) -> Optional[pulumi.Input[int]]: """ - Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. """ return pulumi.get(self, "image_gc_low_threshold") @@ -9196,7 +9200,7 @@ def image_gc_low_threshold(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="podMaxPid") def pod_max_pid(self) -> Optional[pulumi.Input[int]]: """ - Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + Specifies the maximum number of processes per pod. """ return pulumi.get(self, "pod_max_pid") @@ -9208,7 +9212,7 @@ def pod_max_pid(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="topologyManagerPolicy") def topology_manager_policy(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. """ return pulumi.get(self, "topology_manager_policy") @@ -9221,19 +9225,19 @@ def topology_manager_policy(self, value: Optional[pulumi.Input[str]]): class KubernetesClusterNodePoolLinuxOsConfigArgsDict(TypedDict): swap_file_size_mb: NotRequired[pulumi.Input[int]] """ - Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + Specifies the size of swap file on each node in MB. """ sysctl_config: NotRequired[pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgsDict']] """ - A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + A `sysctl_config` block as defined below. """ transparent_huge_page_defrag: NotRequired[pulumi.Input[str]] """ - specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. """ transparent_huge_page_enabled: NotRequired[pulumi.Input[str]] """ - Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. """ elif False: KubernetesClusterNodePoolLinuxOsConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -9246,10 +9250,10 @@ def __init__(__self__, *, transparent_huge_page_defrag: Optional[pulumi.Input[str]] = None, transparent_huge_page_enabled: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[int] swap_file_size_mb: Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. - :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs'] sysctl_config: A `sysctl_config` block as defined below. Changing this forces a new resource to be created. - :param pulumi.Input[str] transparent_huge_page_defrag: specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. - :param pulumi.Input[str] transparent_huge_page_enabled: Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + :param pulumi.Input[int] swap_file_size_mb: Specifies the size of swap file on each node in MB. + :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs'] sysctl_config: A `sysctl_config` block as defined below. + :param pulumi.Input[str] transparent_huge_page_defrag: specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. + :param pulumi.Input[str] transparent_huge_page_enabled: Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. """ if swap_file_size_mb is not None: pulumi.set(__self__, "swap_file_size_mb", swap_file_size_mb) @@ -9264,7 +9268,7 @@ def __init__(__self__, *, @pulumi.getter(name="swapFileSizeMb") def swap_file_size_mb(self) -> Optional[pulumi.Input[int]]: """ - Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + Specifies the size of swap file on each node in MB. """ return pulumi.get(self, "swap_file_size_mb") @@ -9276,7 +9280,7 @@ def swap_file_size_mb(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="sysctlConfig") def sysctl_config(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs']]: """ - A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + A `sysctl_config` block as defined below. """ return pulumi.get(self, "sysctl_config") @@ -9288,7 +9292,7 @@ def sysctl_config(self, value: Optional[pulumi.Input['KubernetesClusterNodePoolL @pulumi.getter(name="transparentHugePageDefrag") def transparent_huge_page_defrag(self) -> Optional[pulumi.Input[str]]: """ - specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. """ return pulumi.get(self, "transparent_huge_page_defrag") @@ -9300,7 +9304,7 @@ def transparent_huge_page_defrag(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="transparentHugePageEnabled") def transparent_huge_page_enabled(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. """ return pulumi.get(self, "transparent_huge_page_enabled") @@ -9313,119 +9317,119 @@ def transparent_huge_page_enabled(self, value: Optional[pulumi.Input[str]]): class KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgsDict(TypedDict): fs_aio_max_nr: NotRequired[pulumi.Input[int]] """ - The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. """ fs_file_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + The sysctl setting fs.file-max. Must be between `8192` and `12000500`. """ fs_inotify_max_user_watches: NotRequired[pulumi.Input[int]] """ - The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. """ fs_nr_open: NotRequired[pulumi.Input[int]] """ - The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. """ kernel_threads_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + The sysctl setting kernel.threads-max. Must be between `20` and `513785`. """ net_core_netdev_max_backlog: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. """ net_core_optmem_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. """ net_core_rmem_default: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. """ net_core_rmem_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. """ net_core_somaxconn: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. """ net_core_wmem_default: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. """ net_core_wmem_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. """ net_ipv4_ip_local_port_range_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. """ net_ipv4_ip_local_port_range_min: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. """ net_ipv4_neigh_default_gc_thresh1: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. """ net_ipv4_neigh_default_gc_thresh2: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. """ net_ipv4_neigh_default_gc_thresh3: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. """ net_ipv4_tcp_fin_timeout: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. """ net_ipv4_tcp_keepalive_intvl: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. """ net_ipv4_tcp_keepalive_probes: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. """ net_ipv4_tcp_keepalive_time: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. """ net_ipv4_tcp_max_syn_backlog: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. """ net_ipv4_tcp_max_tw_buckets: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. """ net_ipv4_tcp_tw_reuse: NotRequired[pulumi.Input[bool]] """ - Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + Is sysctl setting net.ipv4.tcp_tw_reuse enabled? """ net_netfilter_nf_conntrack_buckets: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. """ net_netfilter_nf_conntrack_max: NotRequired[pulumi.Input[int]] """ - The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. """ vm_max_map_count: NotRequired[pulumi.Input[int]] """ - The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. """ vm_swappiness: NotRequired[pulumi.Input[int]] """ - The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.swappiness. Must be between `0` and `100`. """ vm_vfs_cache_pressure: NotRequired[pulumi.Input[int]] """ - The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. """ elif False: KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -9463,35 +9467,35 @@ def __init__(__self__, *, vm_swappiness: Optional[pulumi.Input[int]] = None, vm_vfs_cache_pressure: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[int] fs_aio_max_nr: The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. - :param pulumi.Input[int] fs_file_max: The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. - :param pulumi.Input[int] fs_inotify_max_user_watches: The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. - :param pulumi.Input[int] fs_nr_open: The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. - :param pulumi.Input[int] kernel_threads_max: The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_netdev_max_backlog: The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_optmem_max: The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_rmem_default: The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_rmem_max: The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_somaxconn: The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_wmem_default: The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_core_wmem_max: The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_ip_local_port_range_max: The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_ip_local_port_range_min: The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh1: The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh2: The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh3: The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_fin_timeout: The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_keepalive_intvl: The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_keepalive_probes: The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_keepalive_time: The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_max_syn_backlog: The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_ipv4_tcp_max_tw_buckets: The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. - :param pulumi.Input[bool] net_ipv4_tcp_tw_reuse: Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. - :param pulumi.Input[int] net_netfilter_nf_conntrack_buckets: The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. - :param pulumi.Input[int] net_netfilter_nf_conntrack_max: The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. - :param pulumi.Input[int] vm_max_map_count: The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. - :param pulumi.Input[int] vm_swappiness: The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param pulumi.Input[int] vm_vfs_cache_pressure: The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + :param pulumi.Input[int] fs_aio_max_nr: The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. + :param pulumi.Input[int] fs_file_max: The sysctl setting fs.file-max. Must be between `8192` and `12000500`. + :param pulumi.Input[int] fs_inotify_max_user_watches: The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. + :param pulumi.Input[int] fs_nr_open: The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. + :param pulumi.Input[int] kernel_threads_max: The sysctl setting kernel.threads-max. Must be between `20` and `513785`. + :param pulumi.Input[int] net_core_netdev_max_backlog: The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. + :param pulumi.Input[int] net_core_optmem_max: The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. + :param pulumi.Input[int] net_core_rmem_default: The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. + :param pulumi.Input[int] net_core_rmem_max: The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. + :param pulumi.Input[int] net_core_somaxconn: The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. + :param pulumi.Input[int] net_core_wmem_default: The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. + :param pulumi.Input[int] net_core_wmem_max: The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. + :param pulumi.Input[int] net_ipv4_ip_local_port_range_max: The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. + :param pulumi.Input[int] net_ipv4_ip_local_port_range_min: The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh1: The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh2: The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh3: The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. + :param pulumi.Input[int] net_ipv4_tcp_fin_timeout: The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. + :param pulumi.Input[int] net_ipv4_tcp_keepalive_intvl: The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. + :param pulumi.Input[int] net_ipv4_tcp_keepalive_probes: The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. + :param pulumi.Input[int] net_ipv4_tcp_keepalive_time: The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. + :param pulumi.Input[int] net_ipv4_tcp_max_syn_backlog: The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. + :param pulumi.Input[int] net_ipv4_tcp_max_tw_buckets: The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. + :param pulumi.Input[bool] net_ipv4_tcp_tw_reuse: Is sysctl setting net.ipv4.tcp_tw_reuse enabled? + :param pulumi.Input[int] net_netfilter_nf_conntrack_buckets: The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. + :param pulumi.Input[int] net_netfilter_nf_conntrack_max: The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. + :param pulumi.Input[int] vm_max_map_count: The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. + :param pulumi.Input[int] vm_swappiness: The sysctl setting vm.swappiness. Must be between `0` and `100`. + :param pulumi.Input[int] vm_vfs_cache_pressure: The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. """ if fs_aio_max_nr is not None: pulumi.set(__self__, "fs_aio_max_nr", fs_aio_max_nr) @@ -9556,7 +9560,7 @@ def __init__(__self__, *, @pulumi.getter(name="fsAioMaxNr") def fs_aio_max_nr(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. """ return pulumi.get(self, "fs_aio_max_nr") @@ -9568,7 +9572,7 @@ def fs_aio_max_nr(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="fsFileMax") def fs_file_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + The sysctl setting fs.file-max. Must be between `8192` and `12000500`. """ return pulumi.get(self, "fs_file_max") @@ -9580,7 +9584,7 @@ def fs_file_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="fsInotifyMaxUserWatches") def fs_inotify_max_user_watches(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. """ return pulumi.get(self, "fs_inotify_max_user_watches") @@ -9592,7 +9596,7 @@ def fs_inotify_max_user_watches(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="fsNrOpen") def fs_nr_open(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. """ return pulumi.get(self, "fs_nr_open") @@ -9604,7 +9608,7 @@ def fs_nr_open(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="kernelThreadsMax") def kernel_threads_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + The sysctl setting kernel.threads-max. Must be between `20` and `513785`. """ return pulumi.get(self, "kernel_threads_max") @@ -9616,7 +9620,7 @@ def kernel_threads_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreNetdevMaxBacklog") def net_core_netdev_max_backlog(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. """ return pulumi.get(self, "net_core_netdev_max_backlog") @@ -9628,7 +9632,7 @@ def net_core_netdev_max_backlog(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreOptmemMax") def net_core_optmem_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. """ return pulumi.get(self, "net_core_optmem_max") @@ -9640,7 +9644,7 @@ def net_core_optmem_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreRmemDefault") def net_core_rmem_default(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_rmem_default") @@ -9652,7 +9656,7 @@ def net_core_rmem_default(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreRmemMax") def net_core_rmem_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_rmem_max") @@ -9664,7 +9668,7 @@ def net_core_rmem_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreSomaxconn") def net_core_somaxconn(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. """ return pulumi.get(self, "net_core_somaxconn") @@ -9676,7 +9680,7 @@ def net_core_somaxconn(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreWmemDefault") def net_core_wmem_default(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_wmem_default") @@ -9688,7 +9692,7 @@ def net_core_wmem_default(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netCoreWmemMax") def net_core_wmem_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_wmem_max") @@ -9700,7 +9704,7 @@ def net_core_wmem_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4IpLocalPortRangeMax") def net_ipv4_ip_local_port_range_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. """ return pulumi.get(self, "net_ipv4_ip_local_port_range_max") @@ -9712,7 +9716,7 @@ def net_ipv4_ip_local_port_range_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4IpLocalPortRangeMin") def net_ipv4_ip_local_port_range_min(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. """ return pulumi.get(self, "net_ipv4_ip_local_port_range_min") @@ -9724,7 +9728,7 @@ def net_ipv4_ip_local_port_range_min(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4NeighDefaultGcThresh1") def net_ipv4_neigh_default_gc_thresh1(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh1") @@ -9736,7 +9740,7 @@ def net_ipv4_neigh_default_gc_thresh1(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4NeighDefaultGcThresh2") def net_ipv4_neigh_default_gc_thresh2(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh2") @@ -9748,7 +9752,7 @@ def net_ipv4_neigh_default_gc_thresh2(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4NeighDefaultGcThresh3") def net_ipv4_neigh_default_gc_thresh3(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh3") @@ -9760,7 +9764,7 @@ def net_ipv4_neigh_default_gc_thresh3(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpFinTimeout") def net_ipv4_tcp_fin_timeout(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. """ return pulumi.get(self, "net_ipv4_tcp_fin_timeout") @@ -9772,7 +9776,7 @@ def net_ipv4_tcp_fin_timeout(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpKeepaliveIntvl") def net_ipv4_tcp_keepalive_intvl(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_intvl") @@ -9784,7 +9788,7 @@ def net_ipv4_tcp_keepalive_intvl(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpKeepaliveProbes") def net_ipv4_tcp_keepalive_probes(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_probes") @@ -9796,7 +9800,7 @@ def net_ipv4_tcp_keepalive_probes(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpKeepaliveTime") def net_ipv4_tcp_keepalive_time(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_time") @@ -9808,7 +9812,7 @@ def net_ipv4_tcp_keepalive_time(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpMaxSynBacklog") def net_ipv4_tcp_max_syn_backlog(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. """ return pulumi.get(self, "net_ipv4_tcp_max_syn_backlog") @@ -9820,7 +9824,7 @@ def net_ipv4_tcp_max_syn_backlog(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpMaxTwBuckets") def net_ipv4_tcp_max_tw_buckets(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. """ return pulumi.get(self, "net_ipv4_tcp_max_tw_buckets") @@ -9832,7 +9836,7 @@ def net_ipv4_tcp_max_tw_buckets(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="netIpv4TcpTwReuse") def net_ipv4_tcp_tw_reuse(self) -> Optional[pulumi.Input[bool]]: """ - Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + Is sysctl setting net.ipv4.tcp_tw_reuse enabled? """ return pulumi.get(self, "net_ipv4_tcp_tw_reuse") @@ -9844,7 +9848,7 @@ def net_ipv4_tcp_tw_reuse(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="netNetfilterNfConntrackBuckets") def net_netfilter_nf_conntrack_buckets(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. """ return pulumi.get(self, "net_netfilter_nf_conntrack_buckets") @@ -9856,7 +9860,7 @@ def net_netfilter_nf_conntrack_buckets(self, value: Optional[pulumi.Input[int]]) @pulumi.getter(name="netNetfilterNfConntrackMax") def net_netfilter_nf_conntrack_max(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. """ return pulumi.get(self, "net_netfilter_nf_conntrack_max") @@ -9868,7 +9872,7 @@ def net_netfilter_nf_conntrack_max(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="vmMaxMapCount") def vm_max_map_count(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. """ return pulumi.get(self, "vm_max_map_count") @@ -9880,7 +9884,7 @@ def vm_max_map_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="vmSwappiness") def vm_swappiness(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.swappiness. Must be between `0` and `100`. """ return pulumi.get(self, "vm_swappiness") @@ -9892,7 +9896,7 @@ def vm_swappiness(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="vmVfsCachePressure") def vm_vfs_cache_pressure(self) -> Optional[pulumi.Input[int]]: """ - The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. """ return pulumi.get(self, "vm_vfs_cache_pressure") @@ -10057,7 +10061,7 @@ class KubernetesClusterNodePoolUpgradeSettingsArgsDict(TypedDict): """ node_soak_duration_in_minutes: NotRequired[pulumi.Input[int]] """ - The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. """ elif False: KubernetesClusterNodePoolUpgradeSettingsArgsDict: TypeAlias = Mapping[str, Any] @@ -10071,7 +10075,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] max_surge: The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. :param pulumi.Input[int] drain_timeout_in_minutes: The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created. - :param pulumi.Input[int] node_soak_duration_in_minutes: The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + :param pulumi.Input[int] node_soak_duration_in_minutes: The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. """ pulumi.set(__self__, "max_surge", max_surge) if drain_timeout_in_minutes is not None: @@ -10107,7 +10111,7 @@ def drain_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="nodeSoakDurationInMinutes") def node_soak_duration_in_minutes(self) -> Optional[pulumi.Input[int]]: """ - The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. """ return pulumi.get(self, "node_soak_duration_in_minutes") @@ -11049,6 +11053,133 @@ def kubernetes_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kubernetes_version", value) +if not MYPY: + class RegistryCredentialSetAuthenticationCredentialsArgsDict(TypedDict): + password_secret_id: pulumi.Input[str] + """ + The URI of the secret containing the password in a Key Vault. + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + """ + username_secret_id: pulumi.Input[str] + """ + The URI of the secret containing the username in a Key Vault. + """ +elif False: + RegistryCredentialSetAuthenticationCredentialsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RegistryCredentialSetAuthenticationCredentialsArgs: + def __init__(__self__, *, + password_secret_id: pulumi.Input[str], + username_secret_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] password_secret_id: The URI of the secret containing the password in a Key Vault. + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + :param pulumi.Input[str] username_secret_id: The URI of the secret containing the username in a Key Vault. + """ + pulumi.set(__self__, "password_secret_id", password_secret_id) + pulumi.set(__self__, "username_secret_id", username_secret_id) + + @property + @pulumi.getter(name="passwordSecretId") + def password_secret_id(self) -> pulumi.Input[str]: + """ + The URI of the secret containing the password in a Key Vault. + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + """ + return pulumi.get(self, "password_secret_id") + + @password_secret_id.setter + def password_secret_id(self, value: pulumi.Input[str]): + pulumi.set(self, "password_secret_id", value) + + @property + @pulumi.getter(name="usernameSecretId") + def username_secret_id(self) -> pulumi.Input[str]: + """ + The URI of the secret containing the username in a Key Vault. + """ + return pulumi.get(self, "username_secret_id") + + @username_secret_id.setter + def username_secret_id(self, value: pulumi.Input[str]): + pulumi.set(self, "username_secret_id", value) + + +if not MYPY: + class RegistryCredentialSetIdentityArgsDict(TypedDict): + type: pulumi.Input[str] + """ + The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + """ + principal_id: NotRequired[pulumi.Input[str]] + """ + The principal ID of the Identity. + """ + tenant_id: NotRequired[pulumi.Input[str]] + """ + The tenant ID of the Identity. + """ +elif False: + RegistryCredentialSetIdentityArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RegistryCredentialSetIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + principal_id: Optional[pulumi.Input[str]] = None, + tenant_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + :param pulumi.Input[str] principal_id: The principal ID of the Identity. + :param pulumi.Input[str] tenant_id: The tenant ID of the Identity. + """ + pulumi.set(__self__, "type", type) + 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 Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[pulumi.Input[str]]: + """ + The principal ID of the Identity. + """ + 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]]: + """ + The tenant ID of the Identity. + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + if not MYPY: class RegistryEncryptionArgsDict(TypedDict): identity_client_id: pulumi.Input[str] diff --git a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py index 67fcbf465b..4c08bdd7dd 100644 --- a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py +++ b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py @@ -56,6 +56,7 @@ def __init__(__self__, *, snapshot_id: Optional[pulumi.Input[str]] = None, spot_max_price: Optional[pulumi.Input[float]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + temporary_name_for_rotation: Optional[pulumi.Input[str]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None, upgrade_settings: Optional[pulumi.Input['KubernetesClusterNodePoolUpgradeSettingsArgs']] = None, vnet_subnet_id: Optional[pulumi.Input[str]] = None, @@ -67,63 +68,64 @@ def __init__(__self__, *, :param pulumi.Input[str] kubernetes_cluster_id: The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created. > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. - :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[bool] auto_scaling_enabled: Whether to enable [auto-scaler](https://docs.microsoft.com/azure/aks/cluster-autoscaler). :param pulumi.Input[str] capacity_reservation_group_id: Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] eviction_policy: The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. - :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). :param pulumi.Input[str] gpu_instance: Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. - :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. :param pulumi.Input[str] host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. - :param pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs'] kubelet_config: A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs'] kubelet_config: A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] kubelet_disk_type: The type of disk used by kubelet. Possible values are `OS` and `Temporary`. - :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs'] linux_os_config: A `linux_os_config` block as defined below. Changing this forces a new resource to be created. - :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs'] linux_os_config: A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] mode: Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. :param pulumi.Input[str] name: The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created. > **NOTE:** A Windows Node Pool cannot have a `name` longer than 6 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: A map of Kubernetes labels which should be applied to nodes in this Node Pool. :param pulumi.Input['KubernetesClusterNodePoolNodeNetworkProfileArgs'] node_network_profile: A `node_network_profile` block as documented below. - :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this forces a new resource to be created. + :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] node_public_ip_prefix_id: Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `node_public_ip_enabled` should be `true`. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`). :param pulumi.Input[str] orchestrator_version: Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version). > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. - :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. - :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. :param pulumi.Input[str] proximity_placement_group_id: The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created. > **Note:** When setting `priority` to Spot - you must configure an `eviction_policy`, `spot_max_price` and add the applicable `node_labels` and `node_taints` [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool). :param pulumi.Input[str] scale_down_mode: Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. - :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[float] spot_max_price: The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. > **Note:** This field can only be configured when `priority` is set to `Spot`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. - :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + :param pulumi.Input[str] temporary_name_for_rotation: Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input['KubernetesClusterNodePoolUpgradeSettingsArgs'] upgrade_settings: A `upgrade_settings` block as documented below. - :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. :param pulumi.Input['KubernetesClusterNodePoolWindowsProfileArgs'] windows_profile: A `windows_profile` block as documented below. Changing this forces a new resource to be created. :param pulumi.Input[str] workload_runtime: Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`. > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ pulumi.set(__self__, "kubernetes_cluster_id", kubernetes_cluster_id) pulumi.set(__self__, "vm_size", vm_size) @@ -193,6 +195,8 @@ def __init__(__self__, *, pulumi.set(__self__, "spot_max_price", spot_max_price) if tags is not None: pulumi.set(__self__, "tags", tags) + if temporary_name_for_rotation is not None: + pulumi.set(__self__, "temporary_name_for_rotation", temporary_name_for_rotation) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) if upgrade_settings is not None: @@ -224,7 +228,7 @@ def kubernetes_cluster_id(self, value: pulumi.Input[str]): @pulumi.getter(name="vmSize") def vm_size(self) -> pulumi.Input[str]: """ - The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "vm_size") @@ -274,7 +278,7 @@ def eviction_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fipsEnabled") def fips_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). """ @@ -300,7 +304,7 @@ def gpu_instance(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostEncryptionEnabled") def host_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. """ @@ -326,7 +330,7 @@ def host_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="kubeletConfig") def kubelet_config(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs']]: """ - A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "kubelet_config") @@ -350,7 +354,7 @@ def kubelet_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="linuxOsConfig") def linux_os_config(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs']]: """ - A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "linux_os_config") @@ -371,7 +375,7 @@ def max_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="maxPods") def max_pods(self) -> Optional[pulumi.Input[int]]: """ - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "max_pods") @@ -451,7 +455,7 @@ def node_network_profile(self, value: Optional[pulumi.Input['KubernetesClusterNo @pulumi.getter(name="nodePublicIpEnabled") def node_public_ip_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should each node have a Public IP Address? Changing this forces a new resource to be created. + Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "node_public_ip_enabled") @@ -501,7 +505,7 @@ def orchestrator_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="osDiskSizeGb") def os_disk_size_gb(self) -> Optional[pulumi.Input[int]]: """ - The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_size_gb") @@ -513,7 +517,7 @@ def os_disk_size_gb(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="osDiskType") def os_disk_type(self) -> Optional[pulumi.Input[str]]: """ - The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_type") @@ -549,7 +553,7 @@ def os_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="podSubnetId") def pod_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "pod_subnet_id") @@ -599,7 +603,7 @@ def scale_down_mode(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="snapshotId") def snapshot_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "snapshot_id") @@ -635,11 +639,23 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="temporaryNameForRotation") + def temporary_name_for_rotation(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + """ + return pulumi.get(self, "temporary_name_for_rotation") + + @temporary_name_for_rotation.setter + def temporary_name_for_rotation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "temporary_name_for_rotation", value) + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "ultra_ssd_enabled") @@ -663,7 +679,7 @@ def upgrade_settings(self, value: Optional[pulumi.Input['KubernetesClusterNodePo @pulumi.getter(name="vnetSubnetId") def vnet_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. """ @@ -703,7 +719,7 @@ def workload_runtime(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "zones") @@ -749,6 +765,7 @@ def __init__(__self__, *, snapshot_id: Optional[pulumi.Input[str]] = None, spot_max_price: Optional[pulumi.Input[float]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + temporary_name_for_rotation: Optional[pulumi.Input[str]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None, upgrade_settings: Optional[pulumi.Input['KubernetesClusterNodePoolUpgradeSettingsArgs']] = None, vm_size: Optional[pulumi.Input[str]] = None, @@ -763,61 +780,62 @@ def __init__(__self__, *, :param pulumi.Input[str] eviction_policy: The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. - :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). :param pulumi.Input[str] gpu_instance: Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. - :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. :param pulumi.Input[str] host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. - :param pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs'] kubelet_config: A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs'] kubelet_config: A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] kubelet_disk_type: The type of disk used by kubelet. Possible values are `OS` and `Temporary`. :param pulumi.Input[str] kubernetes_cluster_id: The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created. > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. - :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs'] linux_os_config: A `linux_os_config` block as defined below. Changing this forces a new resource to be created. - :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + :param pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs'] linux_os_config: A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] mode: Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. :param pulumi.Input[str] name: The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created. > **NOTE:** A Windows Node Pool cannot have a `name` longer than 6 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: A map of Kubernetes labels which should be applied to nodes in this Node Pool. :param pulumi.Input['KubernetesClusterNodePoolNodeNetworkProfileArgs'] node_network_profile: A `node_network_profile` block as documented below. - :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this forces a new resource to be created. + :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] node_public_ip_prefix_id: Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `node_public_ip_enabled` should be `true`. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`). :param pulumi.Input[str] orchestrator_version: Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version). > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. - :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. - :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. :param pulumi.Input[str] proximity_placement_group_id: The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created. > **Note:** When setting `priority` to Spot - you must configure an `eviction_policy`, `spot_max_price` and add the applicable `node_labels` and `node_taints` [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool). :param pulumi.Input[str] scale_down_mode: Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. - :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[float] spot_max_price: The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. > **Note:** This field can only be configured when `priority` is set to `Spot`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. - :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + :param pulumi.Input[str] temporary_name_for_rotation: Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input['KubernetesClusterNodePoolUpgradeSettingsArgs'] upgrade_settings: A `upgrade_settings` block as documented below. - :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. - :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. :param pulumi.Input['KubernetesClusterNodePoolWindowsProfileArgs'] windows_profile: A `windows_profile` block as documented below. Changing this forces a new resource to be created. :param pulumi.Input[str] workload_runtime: Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`. > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ if auto_scaling_enabled is not None: pulumi.set(__self__, "auto_scaling_enabled", auto_scaling_enabled) @@ -887,6 +905,8 @@ def __init__(__self__, *, pulumi.set(__self__, "spot_max_price", spot_max_price) if tags is not None: pulumi.set(__self__, "tags", tags) + if temporary_name_for_rotation is not None: + pulumi.set(__self__, "temporary_name_for_rotation", temporary_name_for_rotation) if ultra_ssd_enabled is not None: pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) if upgrade_settings is not None: @@ -944,7 +964,7 @@ def eviction_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fipsEnabled") def fips_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). """ @@ -970,7 +990,7 @@ def gpu_instance(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostEncryptionEnabled") def host_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. """ @@ -996,7 +1016,7 @@ def host_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="kubeletConfig") def kubelet_config(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolKubeletConfigArgs']]: """ - A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "kubelet_config") @@ -1034,7 +1054,7 @@ def kubernetes_cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="linuxOsConfig") def linux_os_config(self) -> Optional[pulumi.Input['KubernetesClusterNodePoolLinuxOsConfigArgs']]: """ - A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "linux_os_config") @@ -1055,7 +1075,7 @@ def max_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="maxPods") def max_pods(self) -> Optional[pulumi.Input[int]]: """ - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "max_pods") @@ -1135,7 +1155,7 @@ def node_network_profile(self, value: Optional[pulumi.Input['KubernetesClusterNo @pulumi.getter(name="nodePublicIpEnabled") def node_public_ip_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Should each node have a Public IP Address? Changing this forces a new resource to be created. + Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "node_public_ip_enabled") @@ -1185,7 +1205,7 @@ def orchestrator_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="osDiskSizeGb") def os_disk_size_gb(self) -> Optional[pulumi.Input[int]]: """ - The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_size_gb") @@ -1197,7 +1217,7 @@ def os_disk_size_gb(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="osDiskType") def os_disk_type(self) -> Optional[pulumi.Input[str]]: """ - The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_type") @@ -1233,7 +1253,7 @@ def os_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="podSubnetId") def pod_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "pod_subnet_id") @@ -1283,7 +1303,7 @@ def scale_down_mode(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="snapshotId") def snapshot_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "snapshot_id") @@ -1319,11 +1339,23 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="temporaryNameForRotation") + def temporary_name_for_rotation(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + """ + return pulumi.get(self, "temporary_name_for_rotation") + + @temporary_name_for_rotation.setter + def temporary_name_for_rotation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "temporary_name_for_rotation", value) + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "ultra_ssd_enabled") @@ -1347,7 +1379,7 @@ def upgrade_settings(self, value: Optional[pulumi.Input['KubernetesClusterNodePo @pulumi.getter(name="vmSize") def vm_size(self) -> Optional[pulumi.Input[str]]: """ - The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "vm_size") @@ -1359,7 +1391,7 @@ def vm_size(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="vnetSubnetId") def vnet_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. """ @@ -1399,7 +1431,7 @@ def workload_runtime(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "zones") @@ -1447,6 +1479,7 @@ def __init__(__self__, snapshot_id: Optional[pulumi.Input[str]] = None, spot_max_price: Optional[pulumi.Input[float]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + temporary_name_for_rotation: Optional[pulumi.Input[str]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None, upgrade_settings: Optional[pulumi.Input[Union['KubernetesClusterNodePoolUpgradeSettingsArgs', 'KubernetesClusterNodePoolUpgradeSettingsArgsDict']]] = None, vm_size: Optional[pulumi.Input[str]] = None, @@ -1460,6 +1493,8 @@ def __init__(__self__, > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. + > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`. + ## Example Usage This example provisions a basic Kubernetes Node Pool. @@ -1510,61 +1545,62 @@ def __init__(__self__, :param pulumi.Input[str] eviction_policy: The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. - :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). :param pulumi.Input[str] gpu_instance: Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. - :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. :param pulumi.Input[str] host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. - :param pulumi.Input[Union['KubernetesClusterNodePoolKubeletConfigArgs', 'KubernetesClusterNodePoolKubeletConfigArgsDict']] kubelet_config: A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[Union['KubernetesClusterNodePoolKubeletConfigArgs', 'KubernetesClusterNodePoolKubeletConfigArgsDict']] kubelet_config: A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] kubelet_disk_type: The type of disk used by kubelet. Possible values are `OS` and `Temporary`. :param pulumi.Input[str] kubernetes_cluster_id: The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created. > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. - :param pulumi.Input[Union['KubernetesClusterNodePoolLinuxOsConfigArgs', 'KubernetesClusterNodePoolLinuxOsConfigArgsDict']] linux_os_config: A `linux_os_config` block as defined below. Changing this forces a new resource to be created. - :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + :param pulumi.Input[Union['KubernetesClusterNodePoolLinuxOsConfigArgs', 'KubernetesClusterNodePoolLinuxOsConfigArgsDict']] linux_os_config: A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] mode: Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. :param pulumi.Input[str] name: The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created. > **NOTE:** A Windows Node Pool cannot have a `name` longer than 6 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: A map of Kubernetes labels which should be applied to nodes in this Node Pool. :param pulumi.Input[Union['KubernetesClusterNodePoolNodeNetworkProfileArgs', 'KubernetesClusterNodePoolNodeNetworkProfileArgsDict']] node_network_profile: A `node_network_profile` block as documented below. - :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this forces a new resource to be created. + :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] node_public_ip_prefix_id: Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `node_public_ip_enabled` should be `true`. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`). :param pulumi.Input[str] orchestrator_version: Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version). > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. - :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. - :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. :param pulumi.Input[str] proximity_placement_group_id: The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created. > **Note:** When setting `priority` to Spot - you must configure an `eviction_policy`, `spot_max_price` and add the applicable `node_labels` and `node_taints` [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool). :param pulumi.Input[str] scale_down_mode: Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. - :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[float] spot_max_price: The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. > **Note:** This field can only be configured when `priority` is set to `Spot`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. - :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + :param pulumi.Input[str] temporary_name_for_rotation: Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[Union['KubernetesClusterNodePoolUpgradeSettingsArgs', 'KubernetesClusterNodePoolUpgradeSettingsArgsDict']] upgrade_settings: A `upgrade_settings` block as documented below. - :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. - :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. :param pulumi.Input[Union['KubernetesClusterNodePoolWindowsProfileArgs', 'KubernetesClusterNodePoolWindowsProfileArgsDict']] windows_profile: A `windows_profile` block as documented below. Changing this forces a new resource to be created. :param pulumi.Input[str] workload_runtime: Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`. > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ ... @overload @@ -1577,6 +1613,8 @@ def __init__(__self__, > **NOTE:** Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets. + > **Note:** Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. `temporary_name_for_rotation` must be specified when changing any of the following properties: `fips_enabled`, `host_encryption_enabled`, `kubelet_config`, `linux_os_config`, `max_pods`, `node_public_ip_enabled`, `os_disk_size_gb`, `os_disk_type`, `pod_subnet_id`, `snapshot_id`, `ultra_ssd_enabled`, `vm_size`, `vnet_subnet_id`, `zones`. + ## Example Usage This example provisions a basic Kubernetes Node Pool. @@ -1669,6 +1707,7 @@ def _internal_init(__self__, snapshot_id: Optional[pulumi.Input[str]] = None, spot_max_price: Optional[pulumi.Input[float]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + temporary_name_for_rotation: Optional[pulumi.Input[str]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None, upgrade_settings: Optional[pulumi.Input[Union['KubernetesClusterNodePoolUpgradeSettingsArgs', 'KubernetesClusterNodePoolUpgradeSettingsArgsDict']]] = None, vm_size: Optional[pulumi.Input[str]] = None, @@ -1721,6 +1760,7 @@ def _internal_init(__self__, __props__.__dict__["snapshot_id"] = snapshot_id __props__.__dict__["spot_max_price"] = spot_max_price __props__.__dict__["tags"] = tags + __props__.__dict__["temporary_name_for_rotation"] = temporary_name_for_rotation __props__.__dict__["ultra_ssd_enabled"] = ultra_ssd_enabled __props__.__dict__["upgrade_settings"] = upgrade_settings if vm_size is None and not opts.urn: @@ -1774,6 +1814,7 @@ def get(resource_name: str, snapshot_id: Optional[pulumi.Input[str]] = None, spot_max_price: Optional[pulumi.Input[float]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + temporary_name_for_rotation: Optional[pulumi.Input[str]] = None, ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None, upgrade_settings: Optional[pulumi.Input[Union['KubernetesClusterNodePoolUpgradeSettingsArgs', 'KubernetesClusterNodePoolUpgradeSettingsArgsDict']]] = None, vm_size: Optional[pulumi.Input[str]] = None, @@ -1793,61 +1834,62 @@ def get(resource_name: str, :param pulumi.Input[str] eviction_policy: The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. > **Note:** An Eviction Policy can only be configured when `priority` is set to `Spot` and will default to `Delete` unless otherwise specified. - :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] fips_enabled: Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). :param pulumi.Input[str] gpu_instance: Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are `MIG1g`, `MIG2g`, `MIG3g`, `MIG4g` and `MIG7g`. Changing this forces a new resource to be created. - :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + :param pulumi.Input[bool] host_encryption_enabled: Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. :param pulumi.Input[str] host_group_id: The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created. - :param pulumi.Input[Union['KubernetesClusterNodePoolKubeletConfigArgs', 'KubernetesClusterNodePoolKubeletConfigArgsDict']] kubelet_config: A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[Union['KubernetesClusterNodePoolKubeletConfigArgs', 'KubernetesClusterNodePoolKubeletConfigArgsDict']] kubelet_config: A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] kubelet_disk_type: The type of disk used by kubelet. Possible values are `OS` and `Temporary`. :param pulumi.Input[str] kubernetes_cluster_id: The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created. > **NOTE:** The type of Default Node Pool for the Kubernetes Cluster must be `VirtualMachineScaleSets` to attach multiple node pools. - :param pulumi.Input[Union['KubernetesClusterNodePoolLinuxOsConfigArgs', 'KubernetesClusterNodePoolLinuxOsConfigArgsDict']] linux_os_config: A `linux_os_config` block as defined below. Changing this forces a new resource to be created. - :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + :param pulumi.Input[Union['KubernetesClusterNodePoolLinuxOsConfigArgs', 'KubernetesClusterNodePoolLinuxOsConfigArgsDict']] linux_os_config: A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] mode: Should this Node Pool be used for System or User resources? Possible values are `System` and `User`. Defaults to `User`. :param pulumi.Input[str] name: The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created. > **NOTE:** A Windows Node Pool cannot have a `name` longer than 6 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: A map of Kubernetes labels which should be applied to nodes in this Node Pool. :param pulumi.Input[Union['KubernetesClusterNodePoolNodeNetworkProfileArgs', 'KubernetesClusterNodePoolNodeNetworkProfileArgsDict']] node_network_profile: A `node_network_profile` block as documented below. - :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this forces a new resource to be created. + :param pulumi.Input[bool] node_public_ip_enabled: Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] node_public_ip_prefix_id: Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. `node_public_ip_enabled` should be `true`. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g `key=value:NoSchedule`). :param pulumi.Input[str] orchestrator_version: Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as `1.22` are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in [the documentation](https://docs.microsoft.com/en-us/azure/aks/supported-kubernetes-versions?tabs=azure-cli#alias-minor-version). > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. - :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this from `AzureLinux` or `Ubuntu` to `AzureLinux` or `Ubuntu` will not replace the resource, otherwise it forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. - :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. :param pulumi.Input[str] proximity_placement_group_id: The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created. > **Note:** When setting `priority` to Spot - you must configure an `eviction_policy`, `spot_max_price` and add the applicable `node_labels` and `node_taints` [as per the Azure Documentation](https://docs.microsoft.com/azure/aks/spot-node-pool). :param pulumi.Input[str] scale_down_mode: Specifies how the node pool should deal with scaled-down nodes. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. - :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + :param pulumi.Input[str] snapshot_id: The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[float] spot_max_price: The maximum price you're willing to pay in USD per Virtual Machine. Valid values are `-1` (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. > **Note:** This field can only be configured when `priority` is set to `Spot`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. > At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) functionality to ignore changes to the casing until this is fixed in the AKS API. - :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + :param pulumi.Input[str] temporary_name_for_rotation: Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + :param pulumi.Input[bool] ultra_ssd_enabled: Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. :param pulumi.Input[Union['KubernetesClusterNodePoolUpgradeSettingsArgs', 'KubernetesClusterNodePoolUpgradeSettingsArgsDict']] upgrade_settings: A `upgrade_settings` block as documented below. - :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. - :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. + :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. :param pulumi.Input[Union['KubernetesClusterNodePoolWindowsProfileArgs', 'KubernetesClusterNodePoolWindowsProfileArgsDict']] windows_profile: A `windows_profile` block as documented below. Changing this forces a new resource to be created. :param pulumi.Input[str] workload_runtime: Used to specify the workload runtime. Allowed values are `OCIContainer` and `WasmWasi`. > **Note:** WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-wasi-node-pools) - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1887,6 +1929,7 @@ def get(resource_name: str, __props__.__dict__["snapshot_id"] = snapshot_id __props__.__dict__["spot_max_price"] = spot_max_price __props__.__dict__["tags"] = tags + __props__.__dict__["temporary_name_for_rotation"] = temporary_name_for_rotation __props__.__dict__["ultra_ssd_enabled"] = ultra_ssd_enabled __props__.__dict__["upgrade_settings"] = upgrade_settings __props__.__dict__["vm_size"] = vm_size @@ -1926,7 +1969,7 @@ def eviction_policy(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="fipsEnabled") def fips_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **Note:** FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in [this article](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview). """ @@ -1944,7 +1987,7 @@ def gpu_instance(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="hostEncryptionEnabled") def host_encryption_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created. + Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** Additional fields must be configured depending on the value of this field - see below. """ @@ -1962,7 +2005,7 @@ def host_group_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="kubeletConfig") def kubelet_config(self) -> pulumi.Output[Optional['outputs.KubernetesClusterNodePoolKubeletConfig']]: """ - A `kubelet_config` block as defined below. Changing this forces a new resource to be created. + A `kubelet_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "kubelet_config") @@ -1988,7 +2031,7 @@ def kubernetes_cluster_id(self) -> pulumi.Output[str]: @pulumi.getter(name="linuxOsConfig") def linux_os_config(self) -> pulumi.Output[Optional['outputs.KubernetesClusterNodePoolLinuxOsConfig']]: """ - A `linux_os_config` block as defined below. Changing this forces a new resource to be created. + A `linux_os_config` block as defined below. Changing this requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "linux_os_config") @@ -2001,7 +2044,7 @@ def max_count(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="maxPods") def max_pods(self) -> pulumi.Output[int]: """ - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. + The maximum number of pods that can run on each agent. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "max_pods") @@ -2053,7 +2096,7 @@ def node_network_profile(self) -> pulumi.Output[Optional['outputs.KubernetesClus @pulumi.getter(name="nodePublicIpEnabled") def node_public_ip_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Should each node have a Public IP Address? Changing this forces a new resource to be created. + Should each node have a Public IP Address? Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "node_public_ip_enabled") @@ -2087,7 +2130,7 @@ def orchestrator_version(self) -> pulumi.Output[str]: @pulumi.getter(name="osDiskSizeGb") def os_disk_size_gb(self) -> pulumi.Output[int]: """ - The Agent Operating System disk size in GB. Changing this forces a new resource to be created. + The Agent Operating System disk size in GB. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_size_gb") @@ -2095,7 +2138,7 @@ def os_disk_size_gb(self) -> pulumi.Output[int]: @pulumi.getter(name="osDiskType") def os_disk_type(self) -> pulumi.Output[Optional[str]]: """ - The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. + The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "os_disk_type") @@ -2119,7 +2162,7 @@ def os_type(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="podSubnetId") def pod_subnet_id(self) -> pulumi.Output[Optional[str]]: """ - The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where the pods in the Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "pod_subnet_id") @@ -2153,7 +2196,7 @@ def scale_down_mode(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="snapshotId") def snapshot_id(self) -> pulumi.Output[Optional[str]]: """ - The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created. + The ID of the Snapshot which should be used to create this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "snapshot_id") @@ -2177,11 +2220,19 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter(name="temporaryNameForRotation") + def temporary_name_for_rotation(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated. + """ + return pulumi.get(self, "temporary_name_for_rotation") + @property @pulumi.getter(name="ultraSsdEnabled") def ultra_ssd_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this forces a new resource to be created. + Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to `false`. See [the documentation](https://docs.microsoft.com/azure/aks/use-ultra-disks) for more information. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "ultra_ssd_enabled") @@ -2197,7 +2248,7 @@ def upgrade_settings(self) -> pulumi.Output[Optional['outputs.KubernetesClusterN @pulumi.getter(name="vmSize") def vm_size(self) -> pulumi.Output[str]: """ - The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. + The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "vm_size") @@ -2205,7 +2256,7 @@ def vm_size(self) -> pulumi.Output[str]: @pulumi.getter(name="vnetSubnetId") def vnet_subnet_id(self) -> pulumi.Output[Optional[str]]: """ - The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created. + The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying `temporary_name_for_rotation`. > **NOTE:** A route table must be configured on this Subnet. """ @@ -2233,7 +2284,7 @@ def workload_runtime(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created. + Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying `temporary_name_for_rotation`. """ return pulumi.get(self, "zones") diff --git a/sdk/python/pulumi_azure/containerservice/outputs.py b/sdk/python/pulumi_azure/containerservice/outputs.py index 8f66f0f241..06205850c5 100644 --- a/sdk/python/pulumi_azure/containerservice/outputs.py +++ b/sdk/python/pulumi_azure/containerservice/outputs.py @@ -109,6 +109,8 @@ 'KubernetesClusterWindowsProfileGmsa', 'KubernetesClusterWorkloadAutoscalerProfile', 'KubernetesFleetManagerHubProfile', + 'RegistryCredentialSetAuthenticationCredentials', + 'RegistryCredentialSetIdentity', 'RegistryEncryption', 'RegistryGeoreplication', 'RegistryIdentity', @@ -6927,16 +6929,16 @@ def __init__(__self__, *, pod_max_pid: Optional[int] = None, topology_manager_policy: Optional[str] = None): """ - :param Sequence[str] allowed_unsafe_sysctls: Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. - :param int container_log_max_line: Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. - :param int container_log_max_size_mb: Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. - :param bool cpu_cfs_quota_enabled: Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. - :param str cpu_cfs_quota_period: Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. - :param str cpu_manager_policy: Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. - :param int image_gc_high_threshold: Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param int image_gc_low_threshold: Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param int pod_max_pid: Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. - :param str topology_manager_policy: Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + :param Sequence[str] allowed_unsafe_sysctls: Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). + :param int container_log_max_line: Specifies the maximum number of container log files that can be present for a container. must be at least 2. + :param int container_log_max_size_mb: Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. + :param bool cpu_cfs_quota_enabled: Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. + :param str cpu_cfs_quota_period: Specifies the CPU CFS quota period value. + :param str cpu_manager_policy: Specifies the CPU Manager policy to use. Possible values are `none` and `static`, + :param int image_gc_high_threshold: Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. + :param int image_gc_low_threshold: Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. + :param int pod_max_pid: Specifies the maximum number of processes per pod. + :param str topology_manager_policy: Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. """ if allowed_unsafe_sysctls is not None: pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls) @@ -6963,7 +6965,7 @@ def __init__(__self__, *, @pulumi.getter(name="allowedUnsafeSysctls") def allowed_unsafe_sysctls(self) -> Optional[Sequence[str]]: """ - Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created. + Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). """ return pulumi.get(self, "allowed_unsafe_sysctls") @@ -6971,7 +6973,7 @@ def allowed_unsafe_sysctls(self) -> Optional[Sequence[str]]: @pulumi.getter(name="containerLogMaxLine") def container_log_max_line(self) -> Optional[int]: """ - Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created. + Specifies the maximum number of container log files that can be present for a container. must be at least 2. """ return pulumi.get(self, "container_log_max_line") @@ -6979,7 +6981,7 @@ def container_log_max_line(self) -> Optional[int]: @pulumi.getter(name="containerLogMaxSizeMb") def container_log_max_size_mb(self) -> Optional[int]: """ - Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created. + Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. """ return pulumi.get(self, "container_log_max_size_mb") @@ -6987,7 +6989,7 @@ def container_log_max_size_mb(self) -> Optional[int]: @pulumi.getter(name="cpuCfsQuotaEnabled") def cpu_cfs_quota_enabled(self) -> Optional[bool]: """ - Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created. + Is CPU CFS quota enforcement for containers enabled? Defaults to `true`. """ return pulumi.get(self, "cpu_cfs_quota_enabled") @@ -6995,7 +6997,7 @@ def cpu_cfs_quota_enabled(self) -> Optional[bool]: @pulumi.getter(name="cpuCfsQuotaPeriod") def cpu_cfs_quota_period(self) -> Optional[str]: """ - Specifies the CPU CFS quota period value. Changing this forces a new resource to be created. + Specifies the CPU CFS quota period value. """ return pulumi.get(self, "cpu_cfs_quota_period") @@ -7003,7 +7005,7 @@ def cpu_cfs_quota_period(self) -> Optional[str]: @pulumi.getter(name="cpuManagerPolicy") def cpu_manager_policy(self) -> Optional[str]: """ - Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created. + Specifies the CPU Manager policy to use. Possible values are `none` and `static`, """ return pulumi.get(self, "cpu_manager_policy") @@ -7011,7 +7013,7 @@ def cpu_manager_policy(self) -> Optional[str]: @pulumi.getter(name="imageGcHighThreshold") def image_gc_high_threshold(self) -> Optional[int]: """ - Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. """ return pulumi.get(self, "image_gc_high_threshold") @@ -7019,7 +7021,7 @@ def image_gc_high_threshold(self) -> Optional[int]: @pulumi.getter(name="imageGcLowThreshold") def image_gc_low_threshold(self) -> Optional[int]: """ - Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created. + Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. """ return pulumi.get(self, "image_gc_low_threshold") @@ -7027,7 +7029,7 @@ def image_gc_low_threshold(self) -> Optional[int]: @pulumi.getter(name="podMaxPid") def pod_max_pid(self) -> Optional[int]: """ - Specifies the maximum number of processes per pod. Changing this forces a new resource to be created. + Specifies the maximum number of processes per pod. """ return pulumi.get(self, "pod_max_pid") @@ -7035,7 +7037,7 @@ def pod_max_pid(self) -> Optional[int]: @pulumi.getter(name="topologyManagerPolicy") def topology_manager_policy(self) -> Optional[str]: """ - Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created. + Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. """ return pulumi.get(self, "topology_manager_policy") @@ -7071,10 +7073,10 @@ def __init__(__self__, *, transparent_huge_page_defrag: Optional[str] = None, transparent_huge_page_enabled: Optional[str] = None): """ - :param int swap_file_size_mb: Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. - :param 'KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs' sysctl_config: A `sysctl_config` block as defined below. Changing this forces a new resource to be created. - :param str transparent_huge_page_defrag: specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. - :param str transparent_huge_page_enabled: Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + :param int swap_file_size_mb: Specifies the size of swap file on each node in MB. + :param 'KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs' sysctl_config: A `sysctl_config` block as defined below. + :param str transparent_huge_page_defrag: specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. + :param str transparent_huge_page_enabled: Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. """ if swap_file_size_mb is not None: pulumi.set(__self__, "swap_file_size_mb", swap_file_size_mb) @@ -7089,7 +7091,7 @@ def __init__(__self__, *, @pulumi.getter(name="swapFileSizeMb") def swap_file_size_mb(self) -> Optional[int]: """ - Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created. + Specifies the size of swap file on each node in MB. """ return pulumi.get(self, "swap_file_size_mb") @@ -7097,7 +7099,7 @@ def swap_file_size_mb(self) -> Optional[int]: @pulumi.getter(name="sysctlConfig") def sysctl_config(self) -> Optional['outputs.KubernetesClusterNodePoolLinuxOsConfigSysctlConfig']: """ - A `sysctl_config` block as defined below. Changing this forces a new resource to be created. + A `sysctl_config` block as defined below. """ return pulumi.get(self, "sysctl_config") @@ -7105,7 +7107,7 @@ def sysctl_config(self) -> Optional['outputs.KubernetesClusterNodePoolLinuxOsCon @pulumi.getter(name="transparentHugePageDefrag") def transparent_huge_page_defrag(self) -> Optional[str]: """ - specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. Changing this forces a new resource to be created. + specifies the defrag configuration for Transparent Huge Page. Possible values are `always`, `defer`, `defer+madvise`, `madvise` and `never`. """ return pulumi.get(self, "transparent_huge_page_defrag") @@ -7113,7 +7115,7 @@ def transparent_huge_page_defrag(self) -> Optional[str]: @pulumi.getter(name="transparentHugePageEnabled") def transparent_huge_page_enabled(self) -> Optional[str]: """ - Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. Changing this forces a new resource to be created. + Specifies the Transparent Huge Page enabled configuration. Possible values are `always`, `madvise` and `never`. """ return pulumi.get(self, "transparent_huge_page_enabled") @@ -7224,35 +7226,35 @@ def __init__(__self__, *, vm_swappiness: Optional[int] = None, vm_vfs_cache_pressure: Optional[int] = None): """ - :param int fs_aio_max_nr: The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. - :param int fs_file_max: The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. - :param int fs_inotify_max_user_watches: The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. - :param int fs_nr_open: The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. - :param int kernel_threads_max: The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. - :param int net_core_netdev_max_backlog: The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. - :param int net_core_optmem_max: The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. - :param int net_core_rmem_default: The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param int net_core_rmem_max: The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param int net_core_somaxconn: The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. - :param int net_core_wmem_default: The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param int net_core_wmem_max: The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. - :param int net_ipv4_ip_local_port_range_max: The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. - :param int net_ipv4_ip_local_port_range_min: The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. - :param int net_ipv4_neigh_default_gc_thresh1: The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. - :param int net_ipv4_neigh_default_gc_thresh2: The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. - :param int net_ipv4_neigh_default_gc_thresh3: The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_fin_timeout: The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_keepalive_intvl: The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_keepalive_probes: The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_keepalive_time: The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_max_syn_backlog: The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. - :param int net_ipv4_tcp_max_tw_buckets: The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. - :param bool net_ipv4_tcp_tw_reuse: Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. - :param int net_netfilter_nf_conntrack_buckets: The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. - :param int net_netfilter_nf_conntrack_max: The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. - :param int vm_max_map_count: The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. - :param int vm_swappiness: The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. - :param int vm_vfs_cache_pressure: The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + :param int fs_aio_max_nr: The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. + :param int fs_file_max: The sysctl setting fs.file-max. Must be between `8192` and `12000500`. + :param int fs_inotify_max_user_watches: The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. + :param int fs_nr_open: The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. + :param int kernel_threads_max: The sysctl setting kernel.threads-max. Must be between `20` and `513785`. + :param int net_core_netdev_max_backlog: The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. + :param int net_core_optmem_max: The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. + :param int net_core_rmem_default: The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. + :param int net_core_rmem_max: The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. + :param int net_core_somaxconn: The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. + :param int net_core_wmem_default: The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. + :param int net_core_wmem_max: The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. + :param int net_ipv4_ip_local_port_range_max: The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. + :param int net_ipv4_ip_local_port_range_min: The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. + :param int net_ipv4_neigh_default_gc_thresh1: The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. + :param int net_ipv4_neigh_default_gc_thresh2: The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. + :param int net_ipv4_neigh_default_gc_thresh3: The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. + :param int net_ipv4_tcp_fin_timeout: The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. + :param int net_ipv4_tcp_keepalive_intvl: The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. + :param int net_ipv4_tcp_keepalive_probes: The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. + :param int net_ipv4_tcp_keepalive_time: The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. + :param int net_ipv4_tcp_max_syn_backlog: The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. + :param int net_ipv4_tcp_max_tw_buckets: The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. + :param bool net_ipv4_tcp_tw_reuse: Is sysctl setting net.ipv4.tcp_tw_reuse enabled? + :param int net_netfilter_nf_conntrack_buckets: The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. + :param int net_netfilter_nf_conntrack_max: The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. + :param int vm_max_map_count: The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. + :param int vm_swappiness: The sysctl setting vm.swappiness. Must be between `0` and `100`. + :param int vm_vfs_cache_pressure: The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. """ if fs_aio_max_nr is not None: pulumi.set(__self__, "fs_aio_max_nr", fs_aio_max_nr) @@ -7317,7 +7319,7 @@ def __init__(__self__, *, @pulumi.getter(name="fsAioMaxNr") def fs_aio_max_nr(self) -> Optional[int]: """ - The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created. + The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. """ return pulumi.get(self, "fs_aio_max_nr") @@ -7325,7 +7327,7 @@ def fs_aio_max_nr(self) -> Optional[int]: @pulumi.getter(name="fsFileMax") def fs_file_max(self) -> Optional[int]: """ - The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created. + The sysctl setting fs.file-max. Must be between `8192` and `12000500`. """ return pulumi.get(self, "fs_file_max") @@ -7333,7 +7335,7 @@ def fs_file_max(self) -> Optional[int]: @pulumi.getter(name="fsInotifyMaxUserWatches") def fs_inotify_max_user_watches(self) -> Optional[int]: """ - The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. """ return pulumi.get(self, "fs_inotify_max_user_watches") @@ -7341,7 +7343,7 @@ def fs_inotify_max_user_watches(self) -> Optional[int]: @pulumi.getter(name="fsNrOpen") def fs_nr_open(self) -> Optional[int]: """ - The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created. + The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. """ return pulumi.get(self, "fs_nr_open") @@ -7349,7 +7351,7 @@ def fs_nr_open(self) -> Optional[int]: @pulumi.getter(name="kernelThreadsMax") def kernel_threads_max(self) -> Optional[int]: """ - The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created. + The sysctl setting kernel.threads-max. Must be between `20` and `513785`. """ return pulumi.get(self, "kernel_threads_max") @@ -7357,7 +7359,7 @@ def kernel_threads_max(self) -> Optional[int]: @pulumi.getter(name="netCoreNetdevMaxBacklog") def net_core_netdev_max_backlog(self) -> Optional[int]: """ - The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. """ return pulumi.get(self, "net_core_netdev_max_backlog") @@ -7365,7 +7367,7 @@ def net_core_netdev_max_backlog(self) -> Optional[int]: @pulumi.getter(name="netCoreOptmemMax") def net_core_optmem_max(self) -> Optional[int]: """ - The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created. + The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. """ return pulumi.get(self, "net_core_optmem_max") @@ -7373,7 +7375,7 @@ def net_core_optmem_max(self) -> Optional[int]: @pulumi.getter(name="netCoreRmemDefault") def net_core_rmem_default(self) -> Optional[int]: """ - The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_rmem_default") @@ -7381,7 +7383,7 @@ def net_core_rmem_default(self) -> Optional[int]: @pulumi.getter(name="netCoreRmemMax") def net_core_rmem_max(self) -> Optional[int]: """ - The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_rmem_max") @@ -7389,7 +7391,7 @@ def net_core_rmem_max(self) -> Optional[int]: @pulumi.getter(name="netCoreSomaxconn") def net_core_somaxconn(self) -> Optional[int]: """ - The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. """ return pulumi.get(self, "net_core_somaxconn") @@ -7397,7 +7399,7 @@ def net_core_somaxconn(self) -> Optional[int]: @pulumi.getter(name="netCoreWmemDefault") def net_core_wmem_default(self) -> Optional[int]: """ - The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_wmem_default") @@ -7405,7 +7407,7 @@ def net_core_wmem_default(self) -> Optional[int]: @pulumi.getter(name="netCoreWmemMax") def net_core_wmem_max(self) -> Optional[int]: """ - The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created. + The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. """ return pulumi.get(self, "net_core_wmem_max") @@ -7413,7 +7415,7 @@ def net_core_wmem_max(self) -> Optional[int]: @pulumi.getter(name="netIpv4IpLocalPortRangeMax") def net_ipv4_ip_local_port_range_max(self) -> Optional[int]: """ - The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `32768` and `65535`. """ return pulumi.get(self, "net_ipv4_ip_local_port_range_max") @@ -7421,7 +7423,7 @@ def net_ipv4_ip_local_port_range_max(self) -> Optional[int]: @pulumi.getter(name="netIpv4IpLocalPortRangeMin") def net_ipv4_ip_local_port_range_min(self) -> Optional[int]: """ - The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. """ return pulumi.get(self, "net_ipv4_ip_local_port_range_min") @@ -7429,7 +7431,7 @@ def net_ipv4_ip_local_port_range_min(self) -> Optional[int]: @pulumi.getter(name="netIpv4NeighDefaultGcThresh1") def net_ipv4_neigh_default_gc_thresh1(self) -> Optional[int]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh1") @@ -7437,7 +7439,7 @@ def net_ipv4_neigh_default_gc_thresh1(self) -> Optional[int]: @pulumi.getter(name="netIpv4NeighDefaultGcThresh2") def net_ipv4_neigh_default_gc_thresh2(self) -> Optional[int]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh2") @@ -7445,7 +7447,7 @@ def net_ipv4_neigh_default_gc_thresh2(self) -> Optional[int]: @pulumi.getter(name="netIpv4NeighDefaultGcThresh3") def net_ipv4_neigh_default_gc_thresh3(self) -> Optional[int]: """ - The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. """ return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh3") @@ -7453,7 +7455,7 @@ def net_ipv4_neigh_default_gc_thresh3(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpFinTimeout") def net_ipv4_tcp_fin_timeout(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. """ return pulumi.get(self, "net_ipv4_tcp_fin_timeout") @@ -7461,7 +7463,7 @@ def net_ipv4_tcp_fin_timeout(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpKeepaliveIntvl") def net_ipv4_tcp_keepalive_intvl(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `90`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_intvl") @@ -7469,7 +7471,7 @@ def net_ipv4_tcp_keepalive_intvl(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpKeepaliveProbes") def net_ipv4_tcp_keepalive_probes(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_probes") @@ -7477,7 +7479,7 @@ def net_ipv4_tcp_keepalive_probes(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpKeepaliveTime") def net_ipv4_tcp_keepalive_time(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. """ return pulumi.get(self, "net_ipv4_tcp_keepalive_time") @@ -7485,7 +7487,7 @@ def net_ipv4_tcp_keepalive_time(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpMaxSynBacklog") def net_ipv4_tcp_max_syn_backlog(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. """ return pulumi.get(self, "net_ipv4_tcp_max_syn_backlog") @@ -7493,7 +7495,7 @@ def net_ipv4_tcp_max_syn_backlog(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpMaxTwBuckets") def net_ipv4_tcp_max_tw_buckets(self) -> Optional[int]: """ - The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created. + The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. """ return pulumi.get(self, "net_ipv4_tcp_max_tw_buckets") @@ -7501,7 +7503,7 @@ def net_ipv4_tcp_max_tw_buckets(self) -> Optional[int]: @pulumi.getter(name="netIpv4TcpTwReuse") def net_ipv4_tcp_tw_reuse(self) -> Optional[bool]: """ - Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created. + Is sysctl setting net.ipv4.tcp_tw_reuse enabled? """ return pulumi.get(self, "net_ipv4_tcp_tw_reuse") @@ -7509,7 +7511,7 @@ def net_ipv4_tcp_tw_reuse(self) -> Optional[bool]: @pulumi.getter(name="netNetfilterNfConntrackBuckets") def net_netfilter_nf_conntrack_buckets(self) -> Optional[int]: """ - The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `524288`. """ return pulumi.get(self, "net_netfilter_nf_conntrack_buckets") @@ -7517,7 +7519,7 @@ def net_netfilter_nf_conntrack_buckets(self) -> Optional[int]: @pulumi.getter(name="netNetfilterNfConntrackMax") def net_netfilter_nf_conntrack_max(self) -> Optional[int]: """ - The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. Changing this forces a new resource to be created. + The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `2097152`. """ return pulumi.get(self, "net_netfilter_nf_conntrack_max") @@ -7525,7 +7527,7 @@ def net_netfilter_nf_conntrack_max(self) -> Optional[int]: @pulumi.getter(name="vmMaxMapCount") def vm_max_map_count(self) -> Optional[int]: """ - The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created. + The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. """ return pulumi.get(self, "vm_max_map_count") @@ -7533,7 +7535,7 @@ def vm_max_map_count(self) -> Optional[int]: @pulumi.getter(name="vmSwappiness") def vm_swappiness(self) -> Optional[int]: """ - The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.swappiness. Must be between `0` and `100`. """ return pulumi.get(self, "vm_swappiness") @@ -7541,7 +7543,7 @@ def vm_swappiness(self) -> Optional[int]: @pulumi.getter(name="vmVfsCachePressure") def vm_vfs_cache_pressure(self) -> Optional[int]: """ - The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created. + The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. """ return pulumi.get(self, "vm_vfs_cache_pressure") @@ -7702,7 +7704,7 @@ def __init__(__self__, *, """ :param str max_surge: The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade. :param int drain_timeout_in_minutes: The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created. - :param int node_soak_duration_in_minutes: The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + :param int node_soak_duration_in_minutes: The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. """ pulumi.set(__self__, "max_surge", max_surge) if drain_timeout_in_minutes is not None: @@ -7730,7 +7732,7 @@ def drain_timeout_in_minutes(self) -> Optional[int]: @pulumi.getter(name="nodeSoakDurationInMinutes") def node_soak_duration_in_minutes(self) -> Optional[int]: """ - The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to `0`. + The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. """ return pulumi.get(self, "node_soak_duration_in_minutes") @@ -8551,6 +8553,119 @@ def kubernetes_version(self) -> Optional[str]: return pulumi.get(self, "kubernetes_version") +@pulumi.output_type +class RegistryCredentialSetAuthenticationCredentials(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "passwordSecretId": + suggest = "password_secret_id" + elif key == "usernameSecretId": + suggest = "username_secret_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RegistryCredentialSetAuthenticationCredentials. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RegistryCredentialSetAuthenticationCredentials.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RegistryCredentialSetAuthenticationCredentials.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + password_secret_id: str, + username_secret_id: str): + """ + :param str password_secret_id: The URI of the secret containing the password in a Key Vault. + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + :param str username_secret_id: The URI of the secret containing the username in a Key Vault. + """ + pulumi.set(__self__, "password_secret_id", password_secret_id) + pulumi.set(__self__, "username_secret_id", username_secret_id) + + @property + @pulumi.getter(name="passwordSecretId") + def password_secret_id(self) -> str: + """ + The URI of the secret containing the password in a Key Vault. + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + """ + return pulumi.get(self, "password_secret_id") + + @property + @pulumi.getter(name="usernameSecretId") + def username_secret_id(self) -> str: + """ + The URI of the secret containing the username in a Key Vault. + """ + return pulumi.get(self, "username_secret_id") + + +@pulumi.output_type +class RegistryCredentialSetIdentity(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RegistryCredentialSetIdentity. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RegistryCredentialSetIdentity.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RegistryCredentialSetIdentity.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None): + """ + :param str type: The type of Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + :param str principal_id: The principal ID of the Identity. + :param str tenant_id: The tenant ID of the Identity. + """ + pulumi.set(__self__, "type", type) + 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 Managed Service Identity that is configured on for the Container Registry Credential Set. Currently the only possible value is `SystemAssigned`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[str]: + """ + The principal ID of the Identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[str]: + """ + The tenant ID of the Identity. + """ + return pulumi.get(self, "tenant_id") + + @pulumi.output_type class RegistryEncryption(dict): @staticmethod diff --git a/sdk/python/pulumi_azure/containerservice/registry_credential_set.py b/sdk/python/pulumi_azure/containerservice/registry_credential_set.py new file mode 100644 index 0000000000..e58bb150c5 --- /dev/null +++ b/sdk/python/pulumi_azure/containerservice/registry_credential_set.py @@ -0,0 +1,546 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RegistryCredentialSetArgs', 'RegistryCredentialSet'] + +@pulumi.input_type +class RegistryCredentialSetArgs: + def __init__(__self__, *, + authentication_credentials: pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs'], + container_registry_id: pulumi.Input[str], + identity: pulumi.Input['RegistryCredentialSetIdentityArgs'], + login_server: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a RegistryCredentialSet resource. + :param pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs'] authentication_credentials: A `authentication_credentials` block as defined below. + :param pulumi.Input[str] container_registry_id: The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input['RegistryCredentialSetIdentityArgs'] identity: An `identity` block as defined below. + :param pulumi.Input[str] login_server: The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[str] name: The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + pulumi.set(__self__, "authentication_credentials", authentication_credentials) + pulumi.set(__self__, "container_registry_id", container_registry_id) + pulumi.set(__self__, "identity", identity) + pulumi.set(__self__, "login_server", login_server) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="authenticationCredentials") + def authentication_credentials(self) -> pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs']: + """ + A `authentication_credentials` block as defined below. + """ + return pulumi.get(self, "authentication_credentials") + + @authentication_credentials.setter + def authentication_credentials(self, value: pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs']): + pulumi.set(self, "authentication_credentials", value) + + @property + @pulumi.getter(name="containerRegistryId") + def container_registry_id(self) -> pulumi.Input[str]: + """ + The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "container_registry_id") + + @container_registry_id.setter + def container_registry_id(self, value: pulumi.Input[str]): + pulumi.set(self, "container_registry_id", value) + + @property + @pulumi.getter + def identity(self) -> pulumi.Input['RegistryCredentialSetIdentityArgs']: + """ + An `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: pulumi.Input['RegistryCredentialSetIdentityArgs']): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="loginServer") + def login_server(self) -> pulumi.Input[str]: + """ + The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "login_server") + + @login_server.setter + def login_server(self, value: pulumi.Input[str]): + pulumi.set(self, "login_server", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _RegistryCredentialSetState: + def __init__(__self__, *, + authentication_credentials: Optional[pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs']] = None, + container_registry_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['RegistryCredentialSetIdentityArgs']] = None, + login_server: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RegistryCredentialSet resources. + :param pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs'] authentication_credentials: A `authentication_credentials` block as defined below. + :param pulumi.Input[str] container_registry_id: The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input['RegistryCredentialSetIdentityArgs'] identity: An `identity` block as defined below. + :param pulumi.Input[str] login_server: The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[str] name: The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + if authentication_credentials is not None: + pulumi.set(__self__, "authentication_credentials", authentication_credentials) + if container_registry_id is not None: + pulumi.set(__self__, "container_registry_id", container_registry_id) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if login_server is not None: + pulumi.set(__self__, "login_server", login_server) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="authenticationCredentials") + def authentication_credentials(self) -> Optional[pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs']]: + """ + A `authentication_credentials` block as defined below. + """ + return pulumi.get(self, "authentication_credentials") + + @authentication_credentials.setter + def authentication_credentials(self, value: Optional[pulumi.Input['RegistryCredentialSetAuthenticationCredentialsArgs']]): + pulumi.set(self, "authentication_credentials", value) + + @property + @pulumi.getter(name="containerRegistryId") + def container_registry_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "container_registry_id") + + @container_registry_id.setter + def container_registry_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "container_registry_id", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['RegistryCredentialSetIdentityArgs']]: + """ + An `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['RegistryCredentialSetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="loginServer") + def login_server(self) -> Optional[pulumi.Input[str]]: + """ + The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "login_server") + + @login_server.setter + def login_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "login_server", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class RegistryCredentialSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authentication_credentials: Optional[pulumi.Input[Union['RegistryCredentialSetAuthenticationCredentialsArgs', 'RegistryCredentialSetAuthenticationCredentialsArgsDict']]] = None, + container_registry_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[Union['RegistryCredentialSetIdentityArgs', 'RegistryCredentialSetIdentityArgsDict']]] = None, + login_server: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Container Registry Credential Set. + + ## Example Usage + + ### Minimal) + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_registry = azure.containerservice.Registry("example", + name="exampleContainerRegistry", + resource_group_name=example.name, + location=example.location, + sku="Basic") + example_registry_credential_set = azure.containerservice.RegistryCredentialSet("example", + name="exampleCredentialSet", + container_registry_id="azurerm_container_registry.example.id", + login_server="docker.io", + identity={ + "type": "SystemAssigned", + }, + authentication_credentials={ + "username_secret_id": "https://example-keyvault.vault.azure.net/secrets/example-user-name", + "password_secret_id": "https://example-keyvault.vault.azure.net/secrets/example-user-password", + }) + ``` + + ### Full) + + This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + current = azure.core.get_client_config() + example_key_vault = azure.keyvault.KeyVault("example", + name="examplekeyvault", + location=example.location, + resource_group_name=example.name, + tenant_id=current.tenant_id, + sku_name="standard", + soft_delete_retention_days=7, + access_policies=[{ + "tenant_id": current.tenant_id, + "object_id": current.object_id, + "certificate_permissions": [], + "key_permissions": [], + "secret_permissions": [ + "Get", + "Set", + "Delete", + "Purge", + ], + }]) + example_user = azure.keyvault.Secret("example_user", + key_vault_id=example_key_vault.id, + name="example-user-name", + value="name") + example_password = azure.keyvault.Secret("example_password", + key_vault_id=example_key_vault.id, + name="example-user-password", + value="password") + example_registry = azure.containerservice.Registry("example", + name="exampleContainerRegistry", + resource_group_name=example.name, + location=example.location, + sku="Basic") + example_registry_credential_set = azure.containerservice.RegistryCredentialSet("example", + name="exampleCredentialSet", + container_registry_id="azurerm_container_registry.example.id", + login_server="docker.io", + identity={ + "type": "SystemAssigned", + }, + authentication_credentials={ + "username_secret_id": example_user.versionless_id, + "password_secret_id": example_password.versionless_id, + }) + read_secrets = azure.keyvault.AccessPolicy("read_secrets", + key_vault_id=example_key_vault.id, + tenant_id=example_registry_credential_set.identity.tenant_id, + object_id=example_registry_credential_set.identity.principal_id, + secret_permissions=["Get"]) + ``` + + ## Import + + Container Registry Credential Sets can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['RegistryCredentialSetAuthenticationCredentialsArgs', 'RegistryCredentialSetAuthenticationCredentialsArgsDict']] authentication_credentials: A `authentication_credentials` block as defined below. + :param pulumi.Input[str] container_registry_id: The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[Union['RegistryCredentialSetIdentityArgs', 'RegistryCredentialSetIdentityArgsDict']] identity: An `identity` block as defined below. + :param pulumi.Input[str] login_server: The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[str] name: The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RegistryCredentialSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Container Registry Credential Set. + + ## Example Usage + + ### Minimal) + + > NOTE: Be aware that you will need to permit the Identity that is created for the Container Registry to have `get` on secrets to the Key Vault, e.g. using the `keyvault.AccessPolicy` resource. + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_registry = azure.containerservice.Registry("example", + name="exampleContainerRegistry", + resource_group_name=example.name, + location=example.location, + sku="Basic") + example_registry_credential_set = azure.containerservice.RegistryCredentialSet("example", + name="exampleCredentialSet", + container_registry_id="azurerm_container_registry.example.id", + login_server="docker.io", + identity={ + "type": "SystemAssigned", + }, + authentication_credentials={ + "username_secret_id": "https://example-keyvault.vault.azure.net/secrets/example-user-name", + "password_secret_id": "https://example-keyvault.vault.azure.net/secrets/example-user-password", + }) + ``` + + ### Full) + + This example provisions a key vault with two secrets, a container registry, a container registry credential set, and an access policy to allow the container registry to read the secrets from the key vault. + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + current = azure.core.get_client_config() + example_key_vault = azure.keyvault.KeyVault("example", + name="examplekeyvault", + location=example.location, + resource_group_name=example.name, + tenant_id=current.tenant_id, + sku_name="standard", + soft_delete_retention_days=7, + access_policies=[{ + "tenant_id": current.tenant_id, + "object_id": current.object_id, + "certificate_permissions": [], + "key_permissions": [], + "secret_permissions": [ + "Get", + "Set", + "Delete", + "Purge", + ], + }]) + example_user = azure.keyvault.Secret("example_user", + key_vault_id=example_key_vault.id, + name="example-user-name", + value="name") + example_password = azure.keyvault.Secret("example_password", + key_vault_id=example_key_vault.id, + name="example-user-password", + value="password") + example_registry = azure.containerservice.Registry("example", + name="exampleContainerRegistry", + resource_group_name=example.name, + location=example.location, + sku="Basic") + example_registry_credential_set = azure.containerservice.RegistryCredentialSet("example", + name="exampleCredentialSet", + container_registry_id="azurerm_container_registry.example.id", + login_server="docker.io", + identity={ + "type": "SystemAssigned", + }, + authentication_credentials={ + "username_secret_id": example_user.versionless_id, + "password_secret_id": example_password.versionless_id, + }) + read_secrets = azure.keyvault.AccessPolicy("read_secrets", + key_vault_id=example_key_vault.id, + tenant_id=example_registry_credential_set.identity.tenant_id, + object_id=example_registry_credential_set.identity.principal_id, + secret_permissions=["Get"]) + ``` + + ## Import + + Container Registry Credential Sets can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:containerservice/registryCredentialSet:RegistryCredentialSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerRegistry/registries/registry1/credentialSets/credentialSet1 + ``` + + :param str resource_name: The name of the resource. + :param RegistryCredentialSetArgs 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(RegistryCredentialSetArgs, 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, + authentication_credentials: Optional[pulumi.Input[Union['RegistryCredentialSetAuthenticationCredentialsArgs', 'RegistryCredentialSetAuthenticationCredentialsArgsDict']]] = None, + container_registry_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[Union['RegistryCredentialSetIdentityArgs', 'RegistryCredentialSetIdentityArgsDict']]] = None, + login_server: 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__ = RegistryCredentialSetArgs.__new__(RegistryCredentialSetArgs) + + if authentication_credentials is None and not opts.urn: + raise TypeError("Missing required property 'authentication_credentials'") + __props__.__dict__["authentication_credentials"] = authentication_credentials + if container_registry_id is None and not opts.urn: + raise TypeError("Missing required property 'container_registry_id'") + __props__.__dict__["container_registry_id"] = container_registry_id + if identity is None and not opts.urn: + raise TypeError("Missing required property 'identity'") + __props__.__dict__["identity"] = identity + if login_server is None and not opts.urn: + raise TypeError("Missing required property 'login_server'") + __props__.__dict__["login_server"] = login_server + __props__.__dict__["name"] = name + super(RegistryCredentialSet, __self__).__init__( + 'azure:containerservice/registryCredentialSet:RegistryCredentialSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authentication_credentials: Optional[pulumi.Input[Union['RegistryCredentialSetAuthenticationCredentialsArgs', 'RegistryCredentialSetAuthenticationCredentialsArgsDict']]] = None, + container_registry_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[Union['RegistryCredentialSetIdentityArgs', 'RegistryCredentialSetIdentityArgsDict']]] = None, + login_server: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'RegistryCredentialSet': + """ + Get an existing RegistryCredentialSet 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[Union['RegistryCredentialSetAuthenticationCredentialsArgs', 'RegistryCredentialSetAuthenticationCredentialsArgsDict']] authentication_credentials: A `authentication_credentials` block as defined below. + :param pulumi.Input[str] container_registry_id: The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[Union['RegistryCredentialSetIdentityArgs', 'RegistryCredentialSetIdentityArgsDict']] identity: An `identity` block as defined below. + :param pulumi.Input[str] login_server: The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + :param pulumi.Input[str] name: The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RegistryCredentialSetState.__new__(_RegistryCredentialSetState) + + __props__.__dict__["authentication_credentials"] = authentication_credentials + __props__.__dict__["container_registry_id"] = container_registry_id + __props__.__dict__["identity"] = identity + __props__.__dict__["login_server"] = login_server + __props__.__dict__["name"] = name + return RegistryCredentialSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authenticationCredentials") + def authentication_credentials(self) -> pulumi.Output['outputs.RegistryCredentialSetAuthenticationCredentials']: + """ + A `authentication_credentials` block as defined below. + """ + return pulumi.get(self, "authentication_credentials") + + @property + @pulumi.getter(name="containerRegistryId") + def container_registry_id(self) -> pulumi.Output[str]: + """ + The ID of the Container Registry. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "container_registry_id") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output['outputs.RegistryCredentialSetIdentity']: + """ + An `identity` block as defined below. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="loginServer") + def login_server(self) -> pulumi.Output[str]: + """ + The login server for the Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "login_server") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name which should be used for this Container Registry Credential Set. Changing this forces a new Container Registry Credential Set to be created. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_azure/costmanagement/anomaly_alert.py b/sdk/python/pulumi_azure/costmanagement/anomaly_alert.py index e749db6eca..366682315e 100644 --- a/sdk/python/pulumi_azure/costmanagement/anomaly_alert.py +++ b/sdk/python/pulumi_azure/costmanagement/anomaly_alert.py @@ -24,6 +24,7 @@ def __init__(__self__, *, email_subject: pulumi.Input[str], message: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + notification_email: Optional[pulumi.Input[str]] = None, subscription_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a AnomalyAlert resource. @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] email_subject: The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. :param pulumi.Input[str] message: The message of the Cost Anomaly Alert. Maximum length of the message is 250. :param pulumi.Input[str] name: The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. + :param pulumi.Input[str] notification_email: The email address of the point of contact that should get the unsubscribe requests and notification emails. :param pulumi.Input[str] subscription_id: The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. """ pulumi.set(__self__, "display_name", display_name) @@ -41,6 +43,8 @@ def __init__(__self__, *, pulumi.set(__self__, "message", message) if name is not None: pulumi.set(__self__, "name", name) + if notification_email is not None: + pulumi.set(__self__, "notification_email", notification_email) if subscription_id is not None: pulumi.set(__self__, "subscription_id", subscription_id) @@ -104,6 +108,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="notificationEmail") + def notification_email(self) -> Optional[pulumi.Input[str]]: + """ + The email address of the point of contact that should get the unsubscribe requests and notification emails. + """ + return pulumi.get(self, "notification_email") + + @notification_email.setter + def notification_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "notification_email", value) + @property @pulumi.getter(name="subscriptionId") def subscription_id(self) -> Optional[pulumi.Input[str]]: @@ -125,6 +141,7 @@ def __init__(__self__, *, email_subject: Optional[pulumi.Input[str]] = None, message: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + notification_email: Optional[pulumi.Input[str]] = None, subscription_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering AnomalyAlert resources. @@ -133,6 +150,7 @@ def __init__(__self__, *, :param pulumi.Input[str] email_subject: The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. :param pulumi.Input[str] message: The message of the Cost Anomaly Alert. Maximum length of the message is 250. :param pulumi.Input[str] name: The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. + :param pulumi.Input[str] notification_email: The email address of the point of contact that should get the unsubscribe requests and notification emails. :param pulumi.Input[str] subscription_id: The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. """ if display_name is not None: @@ -145,6 +163,8 @@ def __init__(__self__, *, pulumi.set(__self__, "message", message) if name is not None: pulumi.set(__self__, "name", name) + if notification_email is not None: + pulumi.set(__self__, "notification_email", notification_email) if subscription_id is not None: pulumi.set(__self__, "subscription_id", subscription_id) @@ -208,6 +228,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="notificationEmail") + def notification_email(self) -> Optional[pulumi.Input[str]]: + """ + The email address of the point of contact that should get the unsubscribe requests and notification emails. + """ + return pulumi.get(self, "notification_email") + + @notification_email.setter + def notification_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "notification_email", value) + @property @pulumi.getter(name="subscriptionId") def subscription_id(self) -> Optional[pulumi.Input[str]]: @@ -231,6 +263,7 @@ def __init__(__self__, email_subject: Optional[pulumi.Input[str]] = None, message: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + notification_email: Optional[pulumi.Input[str]] = None, subscription_id: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -267,6 +300,7 @@ def __init__(__self__, :param pulumi.Input[str] email_subject: The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. :param pulumi.Input[str] message: The message of the Cost Anomaly Alert. Maximum length of the message is 250. :param pulumi.Input[str] name: The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. + :param pulumi.Input[str] notification_email: The email address of the point of contact that should get the unsubscribe requests and notification emails. :param pulumi.Input[str] subscription_id: The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. """ ... @@ -322,6 +356,7 @@ def _internal_init(__self__, email_subject: Optional[pulumi.Input[str]] = None, message: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + notification_email: Optional[pulumi.Input[str]] = None, subscription_id: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -343,6 +378,7 @@ def _internal_init(__self__, __props__.__dict__["email_subject"] = email_subject __props__.__dict__["message"] = message __props__.__dict__["name"] = name + __props__.__dict__["notification_email"] = notification_email __props__.__dict__["subscription_id"] = subscription_id super(AnomalyAlert, __self__).__init__( 'azure:costmanagement/anomalyAlert:AnomalyAlert', @@ -359,6 +395,7 @@ def get(resource_name: str, email_subject: Optional[pulumi.Input[str]] = None, message: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + notification_email: Optional[pulumi.Input[str]] = None, subscription_id: Optional[pulumi.Input[str]] = None) -> 'AnomalyAlert': """ Get an existing AnomalyAlert resource's state with the given name, id, and optional extra @@ -372,6 +409,7 @@ def get(resource_name: str, :param pulumi.Input[str] email_subject: The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. :param pulumi.Input[str] message: The message of the Cost Anomaly Alert. Maximum length of the message is 250. :param pulumi.Input[str] name: The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. + :param pulumi.Input[str] notification_email: The email address of the point of contact that should get the unsubscribe requests and notification emails. :param pulumi.Input[str] subscription_id: The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -383,6 +421,7 @@ def get(resource_name: str, __props__.__dict__["email_subject"] = email_subject __props__.__dict__["message"] = message __props__.__dict__["name"] = name + __props__.__dict__["notification_email"] = notification_email __props__.__dict__["subscription_id"] = subscription_id return AnomalyAlert(resource_name, opts=opts, __props__=__props__) @@ -426,6 +465,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="notificationEmail") + def notification_email(self) -> pulumi.Output[str]: + """ + The email address of the point of contact that should get the unsubscribe requests and notification emails. + """ + return pulumi.get(self, "notification_email") + @property @pulumi.getter(name="subscriptionId") def subscription_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/dataprotection/backup_vault.py b/sdk/python/pulumi_azure/dataprotection/backup_vault.py index 4365ef99b9..5060a18d4f 100644 --- a/sdk/python/pulumi_azure/dataprotection/backup_vault.py +++ b/sdk/python/pulumi_azure/dataprotection/backup_vault.py @@ -26,6 +26,7 @@ def __init__(__self__, *, resource_group_name: pulumi.Input[str], cross_region_restore_enabled: Optional[pulumi.Input[bool]] = None, identity: Optional[pulumi.Input['BackupVaultIdentityArgs']] = None, + immutability: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, retention_duration_in_days: Optional[pulumi.Input[float]] = None, @@ -42,12 +43,13 @@ def __init__(__self__, *, > **Note:** The `cross_region_restore_enabled` can only be specified when `redundancy` is specified for `GeoRedundant`. Once `cross_region_restore_enabled` is enabled, it cannot be disabled. :param pulumi.Input['BackupVaultIdentityArgs'] identity: An `identity` block as defined below. + :param pulumi.Input[str] immutability: The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. :param pulumi.Input[str] location: The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. - :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. @@ -59,6 +61,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cross_region_restore_enabled", cross_region_restore_enabled) if identity is not None: pulumi.set(__self__, "identity", identity) + if immutability is not None: + pulumi.set(__self__, "immutability", immutability) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -134,6 +138,18 @@ def identity(self) -> Optional[pulumi.Input['BackupVaultIdentityArgs']]: def identity(self, value: Optional[pulumi.Input['BackupVaultIdentityArgs']]): pulumi.set(self, "identity", value) + @property + @pulumi.getter + def immutability(self) -> Optional[pulumi.Input[str]]: + """ + The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + """ + return pulumi.get(self, "immutability") + + @immutability.setter + def immutability(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "immutability", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -176,7 +192,7 @@ def retention_duration_in_days(self, value: Optional[pulumi.Input[float]]): @pulumi.getter(name="softDelete") def soft_delete(self) -> Optional[pulumi.Input[str]]: """ - The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. """ @@ -205,6 +221,7 @@ def __init__(__self__, *, cross_region_restore_enabled: Optional[pulumi.Input[bool]] = None, datastore_type: Optional[pulumi.Input[str]] = None, identity: Optional[pulumi.Input['BackupVaultIdentityArgs']] = None, + immutability: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, @@ -221,6 +238,7 @@ def __init__(__self__, *, > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`. :param pulumi.Input['BackupVaultIdentityArgs'] identity: An `identity` block as defined below. + :param pulumi.Input[str] immutability: The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. :param pulumi.Input[str] location: The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. @@ -228,7 +246,7 @@ def __init__(__self__, *, :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. - :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. @@ -239,6 +257,8 @@ def __init__(__self__, *, pulumi.set(__self__, "datastore_type", datastore_type) if identity is not None: pulumi.set(__self__, "identity", identity) + if immutability is not None: + pulumi.set(__self__, "immutability", immutability) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -294,6 +314,18 @@ def identity(self) -> Optional[pulumi.Input['BackupVaultIdentityArgs']]: def identity(self, value: Optional[pulumi.Input['BackupVaultIdentityArgs']]): pulumi.set(self, "identity", value) + @property + @pulumi.getter + def immutability(self) -> Optional[pulumi.Input[str]]: + """ + The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + """ + return pulumi.get(self, "immutability") + + @immutability.setter + def immutability(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "immutability", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -360,7 +392,7 @@ def retention_duration_in_days(self, value: Optional[pulumi.Input[float]]): @pulumi.getter(name="softDelete") def soft_delete(self) -> Optional[pulumi.Input[str]]: """ - The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. """ @@ -391,6 +423,7 @@ def __init__(__self__, cross_region_restore_enabled: Optional[pulumi.Input[bool]] = None, datastore_type: Optional[pulumi.Input[str]] = None, identity: Optional[pulumi.Input[Union['BackupVaultIdentityArgs', 'BackupVaultIdentityArgsDict']]] = None, + immutability: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, @@ -436,6 +469,7 @@ def __init__(__self__, > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`. :param pulumi.Input[Union['BackupVaultIdentityArgs', 'BackupVaultIdentityArgsDict']] identity: An `identity` block as defined below. + :param pulumi.Input[str] immutability: The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. :param pulumi.Input[str] location: The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. @@ -443,7 +477,7 @@ def __init__(__self__, :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. - :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. @@ -500,6 +534,7 @@ def _internal_init(__self__, cross_region_restore_enabled: Optional[pulumi.Input[bool]] = None, datastore_type: Optional[pulumi.Input[str]] = None, identity: Optional[pulumi.Input[Union['BackupVaultIdentityArgs', 'BackupVaultIdentityArgsDict']]] = None, + immutability: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, @@ -521,6 +556,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'datastore_type'") __props__.__dict__["datastore_type"] = datastore_type __props__.__dict__["identity"] = identity + __props__.__dict__["immutability"] = immutability __props__.__dict__["location"] = location __props__.__dict__["name"] = name if redundancy is None and not opts.urn: @@ -545,6 +581,7 @@ def get(resource_name: str, cross_region_restore_enabled: Optional[pulumi.Input[bool]] = None, datastore_type: Optional[pulumi.Input[str]] = None, identity: Optional[pulumi.Input[Union['BackupVaultIdentityArgs', 'BackupVaultIdentityArgsDict']]] = None, + immutability: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, @@ -566,6 +603,7 @@ def get(resource_name: str, > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`. :param pulumi.Input[Union['BackupVaultIdentityArgs', 'BackupVaultIdentityArgsDict']] identity: An `identity` block as defined below. + :param pulumi.Input[str] immutability: The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. :param pulumi.Input[str] location: The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. @@ -573,7 +611,7 @@ def get(resource_name: str, :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. - :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. @@ -585,6 +623,7 @@ def get(resource_name: str, __props__.__dict__["cross_region_restore_enabled"] = cross_region_restore_enabled __props__.__dict__["datastore_type"] = datastore_type __props__.__dict__["identity"] = identity + __props__.__dict__["immutability"] = immutability __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["redundancy"] = redundancy @@ -622,6 +661,14 @@ def identity(self) -> pulumi.Output[Optional['outputs.BackupVaultIdentity']]: """ return pulumi.get(self, "identity") + @property + @pulumi.getter + def immutability(self) -> pulumi.Output[Optional[str]]: + """ + The state of immutability for this Backup Vault. Possible values are `Disabled`, `Locked`, and `Unlocked`. Defaults to `Disabled`. Changing this from `Locked` to anything else forces a new Backup Vault to be created. + """ + return pulumi.get(self, "immutability") + @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -668,7 +715,7 @@ def retention_duration_in_days(self) -> pulumi.Output[Optional[float]]: @pulumi.getter(name="softDelete") def soft_delete(self) -> pulumi.Output[Optional[str]]: """ - The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off`, and `On`. Defaults to `On`. > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. """ diff --git a/sdk/python/pulumi_azure/eventhub/namespace.py b/sdk/python/pulumi_azure/eventhub/namespace.py index 574efffdc7..c053aacbc0 100644 --- a/sdk/python/pulumi_azure/eventhub/namespace.py +++ b/sdk/python/pulumi_azure/eventhub/namespace.py @@ -45,6 +45,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -168,6 +170,8 @@ def location(self, value: Optional[pulumi.Input[str]]): def minimum_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") @@ -272,6 +276,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -445,6 +451,8 @@ def location(self, value: Optional[pulumi.Input[str]]): def minimum_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") @@ -602,6 +610,8 @@ def __init__(__self__, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[Union['NamespaceNetworkRuleSetArgs', 'NamespaceNetworkRuleSetArgsDict']] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -757,6 +767,8 @@ def get(resource_name: str, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[Union['NamespaceNetworkRuleSetArgs', 'NamespaceNetworkRuleSetArgsDict']] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -877,6 +889,8 @@ def location(self) -> pulumi.Output[str]: def minimum_tls_version(self) -> pulumi.Output[Optional[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") diff --git a/sdk/python/pulumi_azure/mssql/__init__.py b/sdk/python/pulumi_azure/mssql/__init__.py index acac578605..c9fc4fa37a 100644 --- a/sdk/python/pulumi_azure/mssql/__init__.py +++ b/sdk/python/pulumi_azure/mssql/__init__.py @@ -16,8 +16,10 @@ from .get_managed_database import * from .get_managed_instance import * from .get_server import * +from .job import * from .job_agent import * from .job_credential import * +from .job_schedule import * from .managed_database import * from .managed_instance import * from .managed_instance_active_directory_administrator import * diff --git a/sdk/python/pulumi_azure/mssql/job.py b/sdk/python/pulumi_azure/mssql/job.py new file mode 100644 index 0000000000..91d15c2c25 --- /dev/null +++ b/sdk/python/pulumi_azure/mssql/job.py @@ -0,0 +1,333 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['JobArgs', 'Job'] + +@pulumi.input_type +class JobArgs: + def __init__(__self__, *, + job_agent_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Job resource. + :param pulumi.Input[str] job_agent_id: The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + :param pulumi.Input[str] description: The description of the Elastic Job. + :param pulumi.Input[str] name: The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + pulumi.set(__self__, "job_agent_id", job_agent_id) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="jobAgentId") + def job_agent_id(self) -> pulumi.Input[str]: + """ + The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "job_agent_id") + + @job_agent_id.setter + def job_agent_id(self, value: pulumi.Input[str]): + pulumi.set(self, "job_agent_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the Elastic Job. + """ + 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]]: + """ + The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _JobState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + job_agent_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Job resources. + :param pulumi.Input[str] description: The description of the Elastic Job. + :param pulumi.Input[str] job_agent_id: The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + :param pulumi.Input[str] name: The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if job_agent_id is not None: + pulumi.set(__self__, "job_agent_id", job_agent_id) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the Elastic Job. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="jobAgentId") + def job_agent_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "job_agent_id") + + @job_agent_id.setter + def job_agent_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "job_agent_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class Job(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + job_agent_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages an Elastic Job. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resource-group", + location="East US") + example_server = azure.mssql.Server("example", + name="example-server", + resource_group_name=example.name, + location=example.location, + version="12.0", + administrator_login="4dm1n157r470r", + administrator_login_password="4-v3ry-53cr37-p455w0rd") + example_database = azure.mssql.Database("example", + name="example-db", + server_id=example_server.id, + collation="SQL_Latin1_General_CP1_CI_AS", + sku_name="S1") + example_job_agent = azure.mssql.JobAgent("example", + name="example-job-agent", + location=example.location, + database_id=example_database.id) + example_job_credential = azure.mssql.JobCredential("example", + name="example-job-credential", + job_agent_id=example_job_agent.id, + username="my-username", + password="MyP4ssw0rd!!!") + example_job = azure.mssql.Job("example", + name="example-job", + job_agent_id=example_job_agent.id, + description="example description") + ``` + + ## Import + + Elastic Jobs can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The description of the Elastic Job. + :param pulumi.Input[str] job_agent_id: The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + :param pulumi.Input[str] name: The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JobArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an Elastic Job. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resource-group", + location="East US") + example_server = azure.mssql.Server("example", + name="example-server", + resource_group_name=example.name, + location=example.location, + version="12.0", + administrator_login="4dm1n157r470r", + administrator_login_password="4-v3ry-53cr37-p455w0rd") + example_database = azure.mssql.Database("example", + name="example-db", + server_id=example_server.id, + collation="SQL_Latin1_General_CP1_CI_AS", + sku_name="S1") + example_job_agent = azure.mssql.JobAgent("example", + name="example-job-agent", + location=example.location, + database_id=example_database.id) + example_job_credential = azure.mssql.JobCredential("example", + name="example-job-credential", + job_agent_id=example_job_agent.id, + username="my-username", + password="MyP4ssw0rd!!!") + example_job = azure.mssql.Job("example", + name="example-job", + job_agent_id=example_job_agent.id, + description="example description") + ``` + + ## Import + + Elastic Jobs can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:mssql/job:Job example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + ``` + + :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, + description: Optional[pulumi.Input[str]] = None, + job_agent_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__ = JobArgs.__new__(JobArgs) + + __props__.__dict__["description"] = description + if job_agent_id is None and not opts.urn: + raise TypeError("Missing required property 'job_agent_id'") + __props__.__dict__["job_agent_id"] = job_agent_id + __props__.__dict__["name"] = name + super(Job, __self__).__init__( + 'azure:mssql/job:Job', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + job_agent_id: Optional[pulumi.Input[str]] = None, + 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] description: The description of the Elastic Job. + :param pulumi.Input[str] job_agent_id: The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + :param pulumi.Input[str] name: The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _JobState.__new__(_JobState) + + __props__.__dict__["description"] = description + __props__.__dict__["job_agent_id"] = job_agent_id + __props__.__dict__["name"] = name + return Job(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the Elastic Job. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="jobAgentId") + def job_agent_id(self) -> pulumi.Output[str]: + """ + The ID of the Elastic Job Agent. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "job_agent_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name which should be used for this Elastic Job. Changing this forces a new Elastic Job to be created. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_azure/mssql/job_schedule.py b/sdk/python/pulumi_azure/mssql/job_schedule.py new file mode 100644 index 0000000000..69faf874ff --- /dev/null +++ b/sdk/python/pulumi_azure/mssql/job_schedule.py @@ -0,0 +1,501 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['JobScheduleArgs', 'JobSchedule'] + +@pulumi.input_type +class JobScheduleArgs: + def __init__(__self__, *, + job_id: pulumi.Input[str], + type: pulumi.Input[str], + enabled: Optional[pulumi.Input[bool]] = None, + end_time: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a JobSchedule resource. + :param pulumi.Input[str] job_id: The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + :param pulumi.Input[str] type: The type of schedule. Possible values are `Once` and `Recurring`. + :param pulumi.Input[bool] enabled: Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + :param pulumi.Input[str] end_time: The end time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] interval: The interval between job executions. Must be in ISO8601 duration format. + :param pulumi.Input[str] start_time: The start time of the schedule. Must be in RFC3339 format. + """ + pulumi.set(__self__, "job_id", job_id) + pulumi.set(__self__, "type", type) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> pulumi.Input[str]: + """ + The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + """ + return pulumi.get(self, "job_id") + + @job_id.setter + def job_id(self, value: pulumi.Input[str]): + pulumi.set(self, "job_id", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of schedule. Possible values are `Once` and `Recurring`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[str]]: + """ + The end time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_time", value) + + @property + @pulumi.getter + def interval(self) -> Optional[pulumi.Input[str]]: + """ + The interval between job executions. Must be in ISO8601 duration format. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[str]]: + """ + The start time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_time", value) + + +@pulumi.input_type +class _JobScheduleState: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + end_time: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + job_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering JobSchedule resources. + :param pulumi.Input[bool] enabled: Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + :param pulumi.Input[str] end_time: The end time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] interval: The interval between job executions. Must be in ISO8601 duration format. + :param pulumi.Input[str] job_id: The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + :param pulumi.Input[str] start_time: The start time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] type: The type of schedule. Possible values are `Once` and `Recurring`. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if job_id is not None: + pulumi.set(__self__, "job_id", job_id) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[str]]: + """ + The end time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_time", value) + + @property + @pulumi.getter + def interval(self) -> Optional[pulumi.Input[str]]: + """ + The interval between job executions. Must be in ISO8601 duration format. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + """ + return pulumi.get(self, "job_id") + + @job_id.setter + def job_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "job_id", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[str]]: + """ + The start time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type of schedule. Possible values are `Once` and `Recurring`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + +class JobSchedule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + enabled: Optional[pulumi.Input[bool]] = None, + end_time: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + job_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages an Elastic Job Schedule. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resource-group", + location="East US") + example_server = azure.mssql.Server("example", + name="example-server", + resource_group_name=example.name, + location=example.location, + version="12.0", + administrator_login="4dm1n157r470r", + administrator_login_password="4-v3ry-53cr37-p455w0rd") + example_database = azure.mssql.Database("example", + name="example-db", + server_id=example_server.id, + collation="SQL_Latin1_General_CP1_CI_AS", + sku_name="S1") + example_job_agent = azure.mssql.JobAgent("example", + name="example-job-agent", + location=example.location, + database_id=example_database.id) + example_job_credential = azure.mssql.JobCredential("example", + name="example-job-credential", + job_agent_id=example_job_agent.id, + username="my-username", + password="MyP4ssw0rd!!!") + example_job = azure.mssql.Job("example", + name="example-job", + job_agent_id=example_job_agent.id) + example_job_schedule = azure.mssql.JobSchedule("example", + job_id=example_job.id, + type="Recurring", + enabled=True, + end_time="2025-12-01T00:00:00Z", + interval="PT5M", + start_time="2025-01-01T00:00:00Z") + ``` + + ## Import + + Elastic Job Schedules can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] enabled: Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + :param pulumi.Input[str] end_time: The end time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] interval: The interval between job executions. Must be in ISO8601 duration format. + :param pulumi.Input[str] job_id: The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + :param pulumi.Input[str] start_time: The start time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] type: The type of schedule. Possible values are `Once` and `Recurring`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JobScheduleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an Elastic Job Schedule. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resource-group", + location="East US") + example_server = azure.mssql.Server("example", + name="example-server", + resource_group_name=example.name, + location=example.location, + version="12.0", + administrator_login="4dm1n157r470r", + administrator_login_password="4-v3ry-53cr37-p455w0rd") + example_database = azure.mssql.Database("example", + name="example-db", + server_id=example_server.id, + collation="SQL_Latin1_General_CP1_CI_AS", + sku_name="S1") + example_job_agent = azure.mssql.JobAgent("example", + name="example-job-agent", + location=example.location, + database_id=example_database.id) + example_job_credential = azure.mssql.JobCredential("example", + name="example-job-credential", + job_agent_id=example_job_agent.id, + username="my-username", + password="MyP4ssw0rd!!!") + example_job = azure.mssql.Job("example", + name="example-job", + job_agent_id=example_job_agent.id) + example_job_schedule = azure.mssql.JobSchedule("example", + job_id=example_job.id, + type="Recurring", + enabled=True, + end_time="2025-12-01T00:00:00Z", + interval="PT5M", + start_time="2025-01-01T00:00:00Z") + ``` + + ## Import + + Elastic Job Schedules can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:mssql/jobSchedule:JobSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1 + ``` + + :param str resource_name: The name of the resource. + :param JobScheduleArgs 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(JobScheduleArgs, 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, + enabled: Optional[pulumi.Input[bool]] = None, + end_time: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + job_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + type: 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__ = JobScheduleArgs.__new__(JobScheduleArgs) + + __props__.__dict__["enabled"] = enabled + __props__.__dict__["end_time"] = end_time + __props__.__dict__["interval"] = interval + if job_id is None and not opts.urn: + raise TypeError("Missing required property 'job_id'") + __props__.__dict__["job_id"] = job_id + __props__.__dict__["start_time"] = start_time + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + super(JobSchedule, __self__).__init__( + 'azure:mssql/jobSchedule:JobSchedule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + enabled: Optional[pulumi.Input[bool]] = None, + end_time: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + job_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None) -> 'JobSchedule': + """ + Get an existing JobSchedule 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[bool] enabled: Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + :param pulumi.Input[str] end_time: The end time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] interval: The interval between job executions. Must be in ISO8601 duration format. + :param pulumi.Input[str] job_id: The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + :param pulumi.Input[str] start_time: The start time of the schedule. Must be in RFC3339 format. + :param pulumi.Input[str] type: The type of schedule. Possible values are `Once` and `Recurring`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _JobScheduleState.__new__(_JobScheduleState) + + __props__.__dict__["enabled"] = enabled + __props__.__dict__["end_time"] = end_time + __props__.__dict__["interval"] = interval + __props__.__dict__["job_id"] = job_id + __props__.__dict__["start_time"] = start_time + __props__.__dict__["type"] = type + return JobSchedule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + """ + Should the Elastic Job Schedule be enabled? Defaults to `false`. + + > **Note**: When `type` is set to `Once` and `enabled` is set to `true`, it's recommended to add `enabled` to `ignore_changes`. This is because Azure will set `enabled` to `false` once the job has executed. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> pulumi.Output[str]: + """ + The end time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter + def interval(self) -> pulumi.Output[Optional[str]]: + """ + The interval between job executions. Must be in ISO8601 duration format. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> pulumi.Output[str]: + """ + The ID of the Elastic Job. Changing this forces a new Elastic Job Schedule to be created. + """ + return pulumi.get(self, "job_id") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[str]: + """ + The start time of the schedule. Must be in RFC3339 format. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of schedule. Possible values are `Once` and `Recurring`. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure/redis/enterprise_cluster.py b/sdk/python/pulumi_azure/redis/enterprise_cluster.py index 52af1ab64d..b0fd8ceb0c 100644 --- a/sdk/python/pulumi_azure/redis/enterprise_cluster.py +++ b/sdk/python/pulumi_azure/redis/enterprise_cluster.py @@ -29,7 +29,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a EnterpriseCluster resource. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. - :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[str] location: The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[str] minimum_tls_version: The minimum TLS version. Possible values are `1.0`, `1.1` and `1.2`. Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created. @@ -67,7 +67,7 @@ def resource_group_name(self, value: pulumi.Input[str]): @pulumi.getter(name="skuName") def sku_name(self) -> pulumi.Input[str]: """ - The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. """ return pulumi.get(self, "sku_name") @@ -158,7 +158,7 @@ def __init__(__self__, *, > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. - :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Redis Enterprise Cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created. """ @@ -245,7 +245,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="skuName") def sku_name(self) -> Optional[pulumi.Input[str]]: """ - The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. """ return pulumi.get(self, "sku_name") @@ -326,7 +326,7 @@ def __init__(__self__, > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. - :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Redis Enterprise Cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created. """ @@ -438,7 +438,7 @@ def get(resource_name: str, > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created. - :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + :param pulumi.Input[str] sku_name: The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Redis Enterprise Cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies a list of Availability Zones in which this Redis Enterprise Cluster should be located. Changing this forces a new Redis Enterprise Cluster to be created. """ @@ -502,7 +502,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter(name="skuName") def sku_name(self) -> pulumi.Output[str]: """ - The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E1`, `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. + The `sku_name` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `sku_name` defines the `name` of the SKU, possible values are `Enterprise_E5`, `Enterprise_E10`, `Enterprise_E20`, `Enterprise_E50`, `Enterprise_E100`, `Enterprise_E200`, `Enterprise_E400`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `sku_name`, possible values for `Enteprise` SKUs are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` SKUs are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created. """ return pulumi.get(self, "sku_name") diff --git a/sdk/python/pulumi_azure/servicebus/namespace.py b/sdk/python/pulumi_azure/servicebus/namespace.py index d1c33a3e32..26000f11e7 100644 --- a/sdk/python/pulumi_azure/servicebus/namespace.py +++ b/sdk/python/pulumi_azure/servicebus/namespace.py @@ -45,6 +45,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -168,6 +170,8 @@ def location(self, value: Optional[pulumi.Input[str]]): def minimum_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") @@ -272,6 +276,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -445,6 +451,8 @@ def location(self, value: Optional[pulumi.Input[str]]): def minimum_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") @@ -597,6 +605,8 @@ def __init__(__self__, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[Union['NamespaceNetworkRuleSetArgs', 'NamespaceNetworkRuleSetArgsDict']] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -753,6 +763,8 @@ def get(resource_name: str, :param pulumi.Input[bool] local_auth_enabled: Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`. :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] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[Union['NamespaceNetworkRuleSetArgs', 'NamespaceNetworkRuleSetArgsDict']] network_rule_set: An `network_rule_set` block as defined below. :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. @@ -873,6 +885,8 @@ def location(self) -> pulumi.Output[str]: def minimum_tls_version(self) -> pulumi.Output[Optional[str]]: """ The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. Defaults to `1.2`. + + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. """ return pulumi.get(self, "minimum_tls_version") diff --git a/sdk/python/pulumi_azure/storage/account.py b/sdk/python/pulumi_azure/storage/account.py index 3337299d69..23ec8b2b75 100644 --- a/sdk/python/pulumi_azure/storage/account.py +++ b/sdk/python/pulumi_azure/storage/account.py @@ -102,6 +102,8 @@ 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] min_tls_version: The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. :param pulumi.Input[str] name: Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. :param pulumi.Input['AccountNetworkRulesArgs'] network_rules: A `network_rules` block as documented below. @@ -509,6 +511,8 @@ def min_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. """ return pulumi.get(self, "min_tls_version") @@ -854,6 +858,8 @@ 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] min_tls_version: The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. :param pulumi.Input[str] name: Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. :param pulumi.Input['AccountNetworkRulesArgs'] network_rules: A `network_rules` block as documented below. @@ -1469,6 +1475,8 @@ def min_tls_version(self) -> Optional[pulumi.Input[str]]: """ The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. """ return pulumi.get(self, "min_tls_version") @@ -2691,6 +2699,8 @@ 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] min_tls_version: The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. :param pulumi.Input[str] name: Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. :param pulumi.Input[Union['AccountNetworkRulesArgs', 'AccountNetworkRulesArgsDict']] network_rules: A `network_rules` block as documented below. @@ -3144,6 +3154,8 @@ 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] min_tls_version: The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. :param pulumi.Input[str] name: Specifies the name of the storage account. Only lowercase Alphanumeric characters allowed. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group. :param pulumi.Input[Union['AccountNetworkRulesArgs', 'AccountNetworkRulesArgsDict']] network_rules: A `network_rules` block as documented below. @@ -3560,6 +3572,8 @@ def min_tls_version(self) -> pulumi.Output[Optional[str]]: """ The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2` for new storage accounts. + > **NOTE:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. + > **Note:** At this time `min_tls_version` is only supported in the Public Cloud, China Cloud, and US Government Cloud. """ return pulumi.get(self, "min_tls_version") diff --git a/sdk/python/pulumi_azure/storage/container.py b/sdk/python/pulumi_azure/storage/container.py index dfca962a04..b090b9cc7e 100644 --- a/sdk/python/pulumi_azure/storage/container.py +++ b/sdk/python/pulumi_azure/storage/container.py @@ -374,10 +374,10 @@ def __init__(__self__, ## Import - Storage Containers can be imported using the `resource id`, e.g. + Storage Containers can be imported using the `resource manager id`, e.g. ```sh - $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container + $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer ``` :param str resource_name: The name of the resource. @@ -429,10 +429,10 @@ def __init__(__self__, ## Import - Storage Containers can be imported using the `resource id`, e.g. + Storage Containers can be imported using the `resource manager id`, e.g. ```sh - $ pulumi import azure:storage/container:Container container1 https://example.blob.core.windows.net/container + $ pulumi import azure:storage/container:Container container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount/blobServices/default/containers/mycontainer ``` :param str resource_name: The name of the resource.