From 7bc634bbf1846eb6a6dc134dbef35bd1dbbea3a1 Mon Sep 17 00:00:00 2001 From: stack72 Date: Thu, 1 Aug 2019 05:51:54 +0300 Subject: [PATCH 1/3] Upgrade to v1.32.1 of the Azurerm Terraform Provider --- go.mod | 5 ++--- go.sum | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ea0178e5d4..c7e2260c0a 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( git.apache.org/thrift.git v0.12.0 // indirect - github.com/Azure/go-autorest v11.7.0+incompatible + github.com/Azure/go-autorest/autorest/azure/cli v0.1.0 github.com/chzyer/logex v1.1.11-0.20160617073814-96a4d311aa9b // indirect github.com/coreos/bbolt v1.3.1-coreos.1 // indirect github.com/djherbis/times v1.2.0 // indirect @@ -25,7 +25,7 @@ require ( github.com/reconquest/loreley v0.0.0-20190408221007-9e95b93c818f // indirect github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 // indirect github.com/stretchr/testify v1.3.1-0.20190311161405-34c6fa2dc709 - github.com/terraform-providers/terraform-provider-azurerm v1.31.0 + github.com/terraform-providers/terraform-provider-azurerm v1.32.1 github.com/uber/jaeger-client-go v2.16.0+incompatible // indirect github.com/uber/jaeger-lib v2.0.0+incompatible // indirect gopkg.in/AlecAivazis/survey.v1 v1.8.2 // indirect @@ -36,7 +36,6 @@ require ( replace ( contrib.go.opencensus.io/exporter/ocagent => contrib.go.opencensus.io/exporter/ocagent v0.4.12 - github.com/Azure/go-autorest => github.com/Azure/go-autorest v11.1.2+incompatible github.com/Nvveen/Gotty => github.com/ijc25/Gotty v0.0.0-20170406111628-a8b993ba6abd github.com/Sirupsen/logrus => github.com/sirupsen/logrus v1.4.2-0.20190403091019-9b3cdde74fbe github.com/golang/glog => github.com/pulumi/glog v0.0.0-20180820174630-7eaa6ffb71e4 diff --git a/go.sum b/go.sum index 6ac9e58327..e342c24b16 100644 --- a/go.sum +++ b/go.sum @@ -40,6 +40,8 @@ github.com/Azure/azure-sdk-for-go v29.0.0+incompatible h1:CYPU39ULbGjQBo3gXIqiWo github.com/Azure/azure-sdk-for-go v29.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v30.0.0+incompatible h1:6o1Yzl7wTBYg+xw0pY4qnalaPmEQolubEEdepo1/kmI= github.com/Azure/azure-sdk-for-go v30.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v31.0.0+incompatible h1:18nT+M3yxnWcO66yoJyomlCoKMu578UHh0DjJBA5c1M= +github.com/Azure/azure-sdk-for-go v31.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-service-bus-go v0.4.1/go.mod h1:d9ho9e/06euiTwGpKxmlbpPhFUsfCsq6a4tZ68r51qI= github.com/Azure/azure-storage-blob-go v0.6.0 h1:SEATKb3LIHcaSIX+E6/K4kJpwfuozFEsmt5rS56N6CE= github.com/Azure/azure-storage-blob-go v0.6.0/go.mod h1:oGfmITT1V6x//CswqY2gtAHND+xIP64/qL7a5QJix0Y= @@ -55,6 +57,23 @@ github.com/Azure/go-autorest v11.4.0+incompatible h1:z3Yr6KYqs0nhSNwqGXEBpWK977h github.com/Azure/go-autorest v11.4.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v11.7.0+incompatible h1:gzma19dc9ejB75D90E5S+/wXouzpZyA+CV+/MJPSD/k= github.com/Azure/go-autorest v11.7.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v12.2.0+incompatible h1:2Fxszbg492oAJrcvJlgyVaTqnQYRkxmEK6VPCLLVpBI= +github.com/Azure/go-autorest v12.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.3.0 h1:yOmXNB2qa2Kx40wMZB19YyafzjCHacXPk8u0neqa+M0= +github.com/Azure/go-autorest/autorest v0.3.0/go.mod h1:AKyIcETwSUFxIcs/Wnq/C+kwCtlEYGUVd7FPNb2slmg= +github.com/Azure/go-autorest/autorest/adal v0.1.0 h1:RSw/7EAullliqwkZvgIGDYZWQm1PGKXI8c4aY/87yuU= +github.com/Azure/go-autorest/autorest/adal v0.1.0/go.mod h1:MeS4XhScH55IST095THyTxElntu7WqB7pNbZo8Q5G3E= +github.com/Azure/go-autorest/autorest/azure/cli v0.1.0 h1:YTtBrcb6mhA+PoSW8WxFDoIIyjp13XqJeX80ssQtri4= +github.com/Azure/go-autorest/autorest/azure/cli v0.1.0/go.mod h1:Dk8CUAt/b/PzkfeRsWzVG9Yj3ps8mS8ECztu43rdU8U= +github.com/Azure/go-autorest/autorest/date v0.1.0 h1:YGrhWfrgtFs84+h0o46rJrlmsZtyZRg470CqAXTZaGM= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/to v0.2.0 h1:nQOZzFCudTh+TvquAtCRjM01VEYx85e9qbwt5ncW4L8= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/autorest/validation v0.1.0 h1:ISSNzGUh+ZSzizJWOWzs8bwpXIePbGLW4z/AmUFGH5A= +github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= +github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/tracing v0.1.0 h1:TRBxC5Pj/fIuh4Qob0ZpkggbfT8RC0SubHbpV3p4/Vc= github.com/Azure/go-autorest/tracing v0.1.0/go.mod h1:ROEEAFwXycQw7Sn3DXNtEedEvdeRAgDr0izn4z5Ij88= github.com/Azure/go-ntlmssp v0.0.0-20170803034930-c92175d54006/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= @@ -308,6 +327,8 @@ github.com/hashicorp/go-azure-helpers v0.0.0-20190129193224-166dfd221bb2 h1:VBRx github.com/hashicorp/go-azure-helpers v0.0.0-20190129193224-166dfd221bb2/go.mod h1:lu62V//auUow6k0IykxLK2DCNW8qTmpm8KqhYVWattA= github.com/hashicorp/go-azure-helpers v0.4.1 h1:aEWYW4hxAVVmxmq7nPXGK8F44A6HBXQ4m0vB1M3/20g= github.com/hashicorp/go-azure-helpers v0.4.1/go.mod h1:lu62V//auUow6k0IykxLK2DCNW8qTmpm8KqhYVWattA= +github.com/hashicorp/go-azure-helpers v0.5.0 h1:GW5YJKeeMfyIEZjiVf84Av2W6FizMwS1OYLtDwDwah0= +github.com/hashicorp/go-azure-helpers v0.5.0/go.mod h1:1kVoV5ZV0b/Wc/Rck7dKgW0MhmUrZiRxt/OnG42Yeow= github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de/go.mod h1:xIwEieBHERyEvaeKF/TcHh1Hu+lxPM+n2vT1+g9I4m4= github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= @@ -780,12 +801,16 @@ github.com/terraform-providers/terraform-provider-azurerm v1.30.1 h1:DpDvlfDBGGb github.com/terraform-providers/terraform-provider-azurerm v1.30.1/go.mod h1:ZWIvltGJ+Q1tvxQjvn/h4q1ONwvaBlAyxO1py8CYQCE= github.com/terraform-providers/terraform-provider-azurerm v1.31.0 h1:8r4y/BGXxUryOdFz9uR7yqA1AaqoCbh6WqeVC/1xyU4= github.com/terraform-providers/terraform-provider-azurerm v1.31.0/go.mod h1:KYDjv/NgatzEQGeWGHiZr0u0lZa7G3qxzPx+ssSsqTk= +github.com/terraform-providers/terraform-provider-azurerm v1.32.1 h1:ARbXrQ8QZtvNq29Vh/d2dDkyj5HdzbvPeN3NhBadjDg= +github.com/terraform-providers/terraform-provider-azurerm v1.32.1/go.mod h1:+skWiPtKr9JCm/YcKBRDiBG8gkE4wTxDHp6NoMLiYxA= github.com/terraform-providers/terraform-provider-openstack v1.15.0 h1:adpjqej+F8BAX9dHmuPF47sUIkgifeqBu6p7iCsyj0Y= github.com/terraform-providers/terraform-provider-openstack v1.15.0/go.mod h1:2aQ6n/BtChAl1y2S60vebhyJyZXBsuAI5G4+lHrT1Ew= github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e h1:T5PdfK/M1xyrHwynxMIVMWLS7f/qHwfslZphxtGnw7s= github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tombuildsstuff/giovanni v0.3.0 h1:uOaTgr6mp5iba02s+pz+ugBZuygIhA2tN+FZAsivOvg= +github.com/tombuildsstuff/giovanni v0.3.0/go.mod h1:3UHcoRZCvWTjXMWCJ0epD1VROlPMwZeeof3vfP6NiWM= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.16.0+incompatible h1:Q2Pp6v3QYiocMxomCaJuwQGFt7E53bPYqEgug/AoBtY= @@ -845,6 +870,8 @@ go.opencensus.io v0.20.2 h1:NAfh7zF0/3/HqtMvJNZ/RFrSlCE6ZTlHmKfhL/Dm1Jk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -904,6 +931,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2eP golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190502183928-7f726cade0ab h1:9RfW3ktsOZxgo9YNbBAjq1FWzc/igwEcUzZz8IXgSbk= golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/oauth2 v0.0.0-20170928010508-bb50c06baba3/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -949,6 +977,7 @@ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 h1:vsphBvatvfbhlb4PO1BYSr9dzugGxJ/SQHoNufZJq1w= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= @@ -1009,6 +1038,7 @@ google.golang.org/genproto v0.0.0-20190201180003-4b09977fb922/go.mod h1:L3J43x8/ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19 h1:Lj2SnHtxkRGJDqnGaSjo+CCdIieEnwVazbOXILwQemk= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8 h1:x913Lq/RebkvUmRSdQ8MNb0GZKn+SR1ESfoetcQSeak= google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/grpc v0.0.0-20170809211603-7657092a1303/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= From 8c5fbd4e20089ee397146284e424bca9714507ed Mon Sep 17 00:00:00 2001 From: stack72 Date: Thu, 1 Aug 2019 05:52:18 +0300 Subject: [PATCH 2/3] Regenerate the SDKs based on v1.32.1 of the Azurerm Terraform Provider --- resources.go | 17 +- sdk/go/azure/analysisservices/_about.go | 8 + sdk/go/azure/analysisservices/server.go | 173 ++++++++++++ sdk/go/azure/apimanagement/backend.go | 218 +++++++++++++++ sdk/go/azure/appservice/appService.go | 21 ++ sdk/go/azure/appservice/functionApp.go | 12 + sdk/go/azure/appservice/slot.go | 12 + sdk/go/azure/batch/account.go | 12 + sdk/go/azure/batch/application.go | 140 ++++++++++ sdk/go/azure/batch/getAccount.go | 3 + sdk/go/azure/cognitive/account.go | 6 +- .../containerservice/getKubernetesCluster.go | 3 + .../containerservice/kubernetesCluster.go | 35 +-- sdk/go/azure/containerservice/registry.go | 12 + sdk/go/azure/core/getSubscription.go | 3 + sdk/go/azure/iot/ioTHub.go | 12 + sdk/go/azure/maps/_about.go | 8 + sdk/go/azure/maps/account.go | 143 ++++++++++ sdk/go/azure/maps/getAccount.go | 60 +++++ sdk/go/azure/mssql/getElasticpool.go | 70 +++++ sdk/go/azure/network/applicationGateway.go | 12 + sdk/go/azure/privatedns/aRecord.go | 143 ++++++++++ sdk/go/azure/recoveryservices/protectedVM.go | 6 +- sdk/go/azure/redis/cache.go | 6 +- sdk/go/azure/securitycenter/contact.go | 3 - sdk/go/azure/storage/account.go | 66 +++-- sdk/go/azure/storage/container.go | 69 +++-- sdk/go/azure/storage/queue.go | 41 +-- sdk/go/azure/storage/share.go | 33 ++- sdk/go/azure/storage/shareDirectory.go | 116 ++++++++ sdk/go/azure/storage/table.go | 26 +- sdk/go/azure/storage/tableEntity.go | 143 ++++++++++ sdk/go/azure/trafficmanager/endpoint.go | 24 ++ sdk/nodejs/analysisservices/README.md | 4 + sdk/nodejs/analysisservices/index.ts | 5 + sdk/nodejs/analysisservices/server.ts | 227 ++++++++++++++++ sdk/nodejs/apimanagement/backend.ts | 254 ++++++++++++++++++ sdk/nodejs/apimanagement/index.ts | 1 + sdk/nodejs/appinsights/insights.ts | 2 +- sdk/nodejs/appinsights/webTest.ts | 8 +- sdk/nodejs/appservice/appService.ts | 25 +- sdk/nodejs/appservice/functionApp.ts | 14 + sdk/nodejs/appservice/slot.ts | 20 +- sdk/nodejs/batch/account.ts | 14 + sdk/nodejs/batch/application.ts | 197 ++++++++++++++ sdk/nodejs/batch/getAccount.ts | 4 + sdk/nodejs/batch/index.ts | 1 + sdk/nodejs/batch/pool.ts | 6 +- sdk/nodejs/cognitive/account.ts | 6 +- .../containerservice/getKubernetesCluster.ts | 8 +- .../containerservice/kubernetesCluster.ts | 84 ++---- sdk/nodejs/containerservice/registry.ts | 14 + sdk/nodejs/core/getSubscription.ts | 4 + sdk/nodejs/core/getSubscriptions.ts | 2 +- sdk/nodejs/cosmosdb/mongoCollection.ts | 12 +- sdk/nodejs/index.ts | 4 +- sdk/nodejs/iot/ioTHub.ts | 35 ++- sdk/nodejs/maps/README.md | 4 + sdk/nodejs/maps/account.ts | 188 +++++++++++++ sdk/nodejs/maps/getAccount.ts | 85 ++++++ sdk/nodejs/maps/index.ts | 6 + sdk/nodejs/mssql/getElasticpool.ts | 101 +++++++ sdk/nodejs/mssql/index.ts | 1 + sdk/nodejs/mysql/database.ts | 2 +- sdk/nodejs/network/applicationGateway.ts | 14 + ...ionGatewayBackendAddressPoolAssociation.ts | 2 +- sdk/nodejs/policy/definition.ts | 4 + sdk/nodejs/privatedns/aRecord.ts | 186 +++++++++++++ sdk/nodejs/privatedns/index.ts | 1 + sdk/nodejs/recoveryservices/protectedVM.ts | 6 +- sdk/nodejs/redis/cache.ts | 6 +- sdk/nodejs/securitycenter/contact.ts | 7 +- sdk/nodejs/storage/account.ts | 70 +++-- sdk/nodejs/storage/blob.ts | 2 +- sdk/nodejs/storage/container.ts | 83 ++++-- sdk/nodejs/storage/index.ts | 2 + sdk/nodejs/storage/queue.ts | 47 ++-- sdk/nodejs/storage/share.ts | 44 ++- sdk/nodejs/storage/shareDirectory.ts | 167 ++++++++++++ sdk/nodejs/storage/table.ts | 34 ++- sdk/nodejs/storage/tableEntity.ts | 200 ++++++++++++++ sdk/nodejs/storage/zipBlob.ts | 2 +- sdk/nodejs/trafficmanager/endpoint.ts | 28 ++ sdk/nodejs/tsconfig.json | 11 + sdk/python/pulumi_azure/__init__.py | 2 +- .../pulumi_azure/analysisservices/README.md | 4 + .../pulumi_azure/analysisservices/__init__.py | 6 + .../pulumi_azure/analysisservices/server.py | 111 ++++++++ .../pulumi_azure/apimanagement/__init__.py | 1 + .../pulumi_azure/apimanagement/backend.py | 140 ++++++++++ .../pulumi_azure/appservice/app_service.py | 12 +- .../pulumi_azure/appservice/function_app.py | 9 +- sdk/python/pulumi_azure/appservice/slot.py | 9 +- sdk/python/pulumi_azure/batch/__init__.py | 1 + sdk/python/pulumi_azure/batch/account.py | 9 +- sdk/python/pulumi_azure/batch/application.py | 94 +++++++ sdk/python/pulumi_azure/batch/get_account.py | 9 +- sdk/python/pulumi_azure/cognitive/account.py | 4 +- .../get_kubernetes_cluster.py | 9 +- .../containerservice/kubernetes_cluster.py | 37 +-- .../pulumi_azure/containerservice/registry.py | 9 +- .../pulumi_azure/core/get_subscription.py | 9 +- sdk/python/pulumi_azure/iot/io_t_hub.py | 9 +- sdk/python/pulumi_azure/maps/README.md | 4 + sdk/python/pulumi_azure/maps/__init__.py | 7 + sdk/python/pulumi_azure/maps/account.py | 96 +++++++ sdk/python/pulumi_azure/maps/get_account.py | 77 ++++++ sdk/python/pulumi_azure/mssql/__init__.py | 1 + .../pulumi_azure/mssql/get_elasticpool.py | 98 +++++++ .../network/application_gateway.py | 9 +- .../pulumi_azure/privatedns/__init__.py | 1 + .../pulumi_azure/privatedns/a_record.py | 94 +++++++ .../recoveryservices/protected_vm.py | 4 +- sdk/python/pulumi_azure/redis/cache.py | 4 +- .../pulumi_azure/securitycenter/contact.py | 2 - sdk/python/pulumi_azure/storage/__init__.py | 2 + sdk/python/pulumi_azure/storage/account.py | 44 +-- sdk/python/pulumi_azure/storage/container.py | 45 ++-- sdk/python/pulumi_azure/storage/queue.py | 29 +- sdk/python/pulumi_azure/storage/share.py | 22 +- .../pulumi_azure/storage/share_directory.py | 80 ++++++ sdk/python/pulumi_azure/storage/table.py | 19 +- .../pulumi_azure/storage/table_entity.py | 97 +++++++ sdk/python/pulumi_azure/tables.py | 40 +++ .../pulumi_azure/trafficmanager/endpoint.py | 16 +- 125 files changed, 4734 insertions(+), 451 deletions(-) create mode 100644 sdk/go/azure/analysisservices/_about.go create mode 100644 sdk/go/azure/analysisservices/server.go create mode 100644 sdk/go/azure/apimanagement/backend.go create mode 100644 sdk/go/azure/batch/application.go create mode 100644 sdk/go/azure/maps/_about.go create mode 100644 sdk/go/azure/maps/account.go create mode 100644 sdk/go/azure/maps/getAccount.go create mode 100644 sdk/go/azure/mssql/getElasticpool.go create mode 100644 sdk/go/azure/privatedns/aRecord.go create mode 100644 sdk/go/azure/storage/shareDirectory.go create mode 100644 sdk/go/azure/storage/tableEntity.go create mode 100644 sdk/nodejs/analysisservices/README.md create mode 100644 sdk/nodejs/analysisservices/index.ts create mode 100644 sdk/nodejs/analysisservices/server.ts create mode 100644 sdk/nodejs/apimanagement/backend.ts create mode 100644 sdk/nodejs/batch/application.ts create mode 100644 sdk/nodejs/maps/README.md create mode 100644 sdk/nodejs/maps/account.ts create mode 100644 sdk/nodejs/maps/getAccount.ts create mode 100644 sdk/nodejs/maps/index.ts create mode 100644 sdk/nodejs/mssql/getElasticpool.ts create mode 100644 sdk/nodejs/privatedns/aRecord.ts create mode 100644 sdk/nodejs/storage/shareDirectory.ts create mode 100644 sdk/nodejs/storage/tableEntity.ts create mode 100644 sdk/python/pulumi_azure/analysisservices/README.md create mode 100644 sdk/python/pulumi_azure/analysisservices/__init__.py create mode 100644 sdk/python/pulumi_azure/analysisservices/server.py create mode 100644 sdk/python/pulumi_azure/apimanagement/backend.py create mode 100644 sdk/python/pulumi_azure/batch/application.py create mode 100644 sdk/python/pulumi_azure/maps/README.md create mode 100644 sdk/python/pulumi_azure/maps/__init__.py create mode 100644 sdk/python/pulumi_azure/maps/account.py create mode 100644 sdk/python/pulumi_azure/maps/get_account.py create mode 100644 sdk/python/pulumi_azure/mssql/get_elasticpool.py create mode 100644 sdk/python/pulumi_azure/privatedns/a_record.py create mode 100644 sdk/python/pulumi_azure/storage/share_directory.py create mode 100644 sdk/python/pulumi_azure/storage/table_entity.py diff --git a/resources.go b/resources.go index 324e34fadf..2306883f9b 100644 --- a/resources.go +++ b/resources.go @@ -40,6 +40,7 @@ const ( // modules; in general, we took naming inspiration from the Azure SDK for Go: // https://godoc.org/github.com/Azure/azure-sdk-for-go azureAD = "ad" // Active Directory (AAD) + azureAnalysisServices = "analysisservices" // Analysis Services azureAPIManagement = "apimanagement" // API Management azureAppInsights = "appinsights" // AppInsights azureAppService = "appservice" // App Service @@ -65,6 +66,7 @@ const ( azureLogAnalytics = "loganalytics" // Log Analytics azureLogicApps = "logicapps" // Logic Apps azureLB = "lb" // Load Balancer + azureMaps = "maps" // Maps azureMariaDB = "mariadb" // MariaDB azureMessaging = "eventhub" // Event Hub azureMgmtResource = "managementresource" // Management Resource @@ -314,6 +316,7 @@ func Provider() tfbridge.ProviderInfo { "azurerm_api_management_property": {Tok: azureResource(azureAPIManagement, "Property")}, "azurerm_api_management_subscription": {Tok: azureResource(azureAPIManagement, "Subscription")}, "azurerm_api_management_user": {Tok: azureResource(azureAPIManagement, "User")}, + "azurerm_api_management_backend": {Tok: azureResource(azureAPIManagement, "Backend")}, // AppInsights "azurerm_application_insights": {Tok: azureResource(azureAppInsights, "Insights")}, @@ -428,6 +431,7 @@ func Provider() tfbridge.ProviderInfo { // Batch "azurerm_batch_account": {Tok: azureResource(azureBatch, "Account")}, + "azurerm_batch_application": {Tok: azureResource(azureBatch, "Application")}, "azurerm_batch_certificate": {Tok: azureResource(azureBatch, "Certificate")}, "azurerm_batch_pool": {Tok: azureResource(azureBatch, "Pool")}, @@ -736,7 +740,8 @@ func Provider() tfbridge.ProviderInfo { "azurerm_policy_set_definition": {Tok: azureResource(azurePolicy, "PolicySetDefinition")}, // Private Dns - "azurerm_private_dns_zone": {Tok: azureResource(azurePrivateDNS, "Zone")}, + "azurerm_private_dns_zone": {Tok: azureResource(azurePrivateDNS, "Zone")}, + "azurerm_private_dns_a_record": {Tok: azureResource(azurePrivateDNS, "ARecord")}, // SQL "azurerm_sql_elasticpool": {Tok: azureResource(azureSQL, "ElasticPool")}, @@ -922,6 +927,8 @@ func Provider() tfbridge.ProviderInfo { // Max length of a table name is 63. azureName: AutoNameWithMaxLength(azureName, 63), }}, + "azurerm_storage_share_directory": {Tok: azureResource(azureStorage, "ShareDirectory")}, + "azurerm_storage_table_entity": {Tok: azureResource(azureStorage, "TableEntity")}, //StreamAnalytics "azurerm_stream_analytics_function_javascript_udf": {Tok: azureResource(azureStreamAnalytics, "FunctionJavaScriptUDF")}, @@ -933,6 +940,12 @@ func Provider() tfbridge.ProviderInfo { "azurerm_stream_analytics_stream_input_blob": {Tok: azureResource(azureStreamAnalytics, "StreamInputBlob")}, "azurerm_stream_analytics_stream_input_eventhub": {Tok: azureResource(azureStreamAnalytics, "StreamInputEventHub")}, "azurerm_stream_analytics_stream_input_iothub": {Tok: azureResource(azureStreamAnalytics, "StreamInputIotHub")}, + + // Analysis Services + "azurerm_analysis_services_server": {Tok: azureResource(azureAnalysisServices, "Server")}, + + // Maps + "azurerm_maps_account": {Tok: azureResource(azureMaps, "Account")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ @@ -1076,6 +1089,8 @@ func Provider() tfbridge.ProviderInfo { "azurerm_hdinsight_cluster": {Tok: azureDataSource(azureHdInsight, "getCluster")}, "azurerm_stream_analytics_job": {Tok: azureDataSource(azureStreamAnalytics, "getJob")}, "azurerm_user_assigned_identity": {Tok: azureDataSource(azureCore, "getUserAssignedIdentity")}, + "azurerm_mssql_elasticpool": {Tok: azureDataSource(azureMSSQL, "getElasticpool")}, + "azurerm_maps_account": {Tok: azureDataSource(azureMaps, "getAccount")}, }, JavaScript: &tfbridge.JavaScriptInfo{ DevDependencies: map[string]string{ diff --git a/sdk/go/azure/analysisservices/_about.go b/sdk/go/azure/analysisservices/_about.go new file mode 100644 index 0000000000..a6ec1b7d06 --- /dev/null +++ b/sdk/go/azure/analysisservices/_about.go @@ -0,0 +1,8 @@ +//nolint: lll +// Package analysisservices exports types, functions, subpackages for provisioning analysisservices resources. +// +// > This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +// > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +// > first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +// > please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). +package analysisservices diff --git a/sdk/go/azure/analysisservices/server.go b/sdk/go/azure/analysisservices/server.go new file mode 100644 index 0000000000..212819a9eb --- /dev/null +++ b/sdk/go/azure/analysisservices/server.go @@ -0,0 +1,173 @@ +// *** 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! *** + +package analysisservices + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manages an Analysis Services Server. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/analysis_services_server.html.markdown. +type Server struct { + s *pulumi.ResourceState +} + +// NewServer registers a new resource with the given unique name, arguments, and options. +func NewServer(ctx *pulumi.Context, + name string, args *ServerArgs, opts ...pulumi.ResourceOpt) (*Server, error) { + if args == nil || args.ResourceGroupName == nil { + return nil, errors.New("missing required argument 'ResourceGroupName'") + } + if args == nil || args.Sku == nil { + return nil, errors.New("missing required argument 'Sku'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["adminUsers"] = nil + inputs["enablePowerBiService"] = nil + inputs["ipv4FirewallRules"] = nil + inputs["location"] = nil + inputs["name"] = nil + inputs["querypoolConnectionMode"] = nil + inputs["resourceGroupName"] = nil + inputs["sku"] = nil + inputs["tags"] = nil + } else { + inputs["adminUsers"] = args.AdminUsers + inputs["enablePowerBiService"] = args.EnablePowerBiService + inputs["ipv4FirewallRules"] = args.Ipv4FirewallRules + inputs["location"] = args.Location + inputs["name"] = args.Name + inputs["querypoolConnectionMode"] = args.QuerypoolConnectionMode + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["sku"] = args.Sku + inputs["tags"] = args.Tags + } + s, err := ctx.RegisterResource("azure:analysisservices/server:Server", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &Server{s: s}, nil +} + +// GetServer gets an existing Server 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 GetServer(ctx *pulumi.Context, + name string, id pulumi.ID, state *ServerState, opts ...pulumi.ResourceOpt) (*Server, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["adminUsers"] = state.AdminUsers + inputs["enablePowerBiService"] = state.EnablePowerBiService + inputs["ipv4FirewallRules"] = state.Ipv4FirewallRules + inputs["location"] = state.Location + inputs["name"] = state.Name + inputs["querypoolConnectionMode"] = state.QuerypoolConnectionMode + inputs["resourceGroupName"] = state.ResourceGroupName + inputs["sku"] = state.Sku + inputs["tags"] = state.Tags + } + s, err := ctx.ReadResource("azure:analysisservices/server:Server", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &Server{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *Server) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *Server) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// List of email addresses of admin users. +func (r *Server) AdminUsers() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["adminUsers"]) +} + +// Indicates if the Power BI service is allowed to access or not. +func (r *Server) EnablePowerBiService() *pulumi.BoolOutput { + return (*pulumi.BoolOutput)(r.s.State["enablePowerBiService"]) +} + +// One or more `ipv4_firewall_rule` block(s) as defined below. +func (r *Server) Ipv4FirewallRules() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["ipv4FirewallRules"]) +} + +// The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. +func (r *Server) Location() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["location"]) +} + +// Specifies the name of the firewall rule. +func (r *Server) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. +func (r *Server) QuerypoolConnectionMode() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["querypoolConnectionMode"]) +} + +// The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. +func (r *Server) ResourceGroupName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) +} + +// SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` +func (r *Server) Sku() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["sku"]) +} + +func (r *Server) Tags() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["tags"]) +} + +// Input properties used for looking up and filtering Server resources. +type ServerState struct { + // List of email addresses of admin users. + AdminUsers interface{} + // Indicates if the Power BI service is allowed to access or not. + EnablePowerBiService interface{} + // One or more `ipv4_firewall_rule` block(s) as defined below. + Ipv4FirewallRules interface{} + // The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + Location interface{} + // Specifies the name of the firewall rule. + Name interface{} + // Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + QuerypoolConnectionMode interface{} + // The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + Sku interface{} + Tags interface{} +} + +// The set of arguments for constructing a Server resource. +type ServerArgs struct { + // List of email addresses of admin users. + AdminUsers interface{} + // Indicates if the Power BI service is allowed to access or not. + EnablePowerBiService interface{} + // One or more `ipv4_firewall_rule` block(s) as defined below. + Ipv4FirewallRules interface{} + // The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + Location interface{} + // Specifies the name of the firewall rule. + Name interface{} + // Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + QuerypoolConnectionMode interface{} + // The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + Sku interface{} + Tags interface{} +} diff --git a/sdk/go/azure/apimanagement/backend.go b/sdk/go/azure/apimanagement/backend.go new file mode 100644 index 0000000000..3cb5585304 --- /dev/null +++ b/sdk/go/azure/apimanagement/backend.go @@ -0,0 +1,218 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package apimanagement + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manages a backend within an API Management Service. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/api_management_backend.html.markdown. +type Backend struct { + s *pulumi.ResourceState +} + +// NewBackend registers a new resource with the given unique name, arguments, and options. +func NewBackend(ctx *pulumi.Context, + name string, args *BackendArgs, opts ...pulumi.ResourceOpt) (*Backend, error) { + if args == nil || args.ApiManagementName == nil { + return nil, errors.New("missing required argument 'ApiManagementName'") + } + if args == nil || args.Protocol == nil { + return nil, errors.New("missing required argument 'Protocol'") + } + if args == nil || args.ResourceGroupName == nil { + return nil, errors.New("missing required argument 'ResourceGroupName'") + } + if args == nil || args.Url == nil { + return nil, errors.New("missing required argument 'Url'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["apiManagementName"] = nil + inputs["credentials"] = nil + inputs["description"] = nil + inputs["name"] = nil + inputs["protocol"] = nil + inputs["proxy"] = nil + inputs["resourceGroupName"] = nil + inputs["resourceId"] = nil + inputs["serviceFabricCluster"] = nil + inputs["title"] = nil + inputs["tls"] = nil + inputs["url"] = nil + } else { + inputs["apiManagementName"] = args.ApiManagementName + inputs["credentials"] = args.Credentials + inputs["description"] = args.Description + inputs["name"] = args.Name + inputs["protocol"] = args.Protocol + inputs["proxy"] = args.Proxy + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["resourceId"] = args.ResourceId + inputs["serviceFabricCluster"] = args.ServiceFabricCluster + inputs["title"] = args.Title + inputs["tls"] = args.Tls + inputs["url"] = args.Url + } + s, err := ctx.RegisterResource("azure:apimanagement/backend:Backend", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &Backend{s: s}, nil +} + +// GetBackend gets an existing Backend 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 GetBackend(ctx *pulumi.Context, + name string, id pulumi.ID, state *BackendState, opts ...pulumi.ResourceOpt) (*Backend, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["apiManagementName"] = state.ApiManagementName + inputs["credentials"] = state.Credentials + inputs["description"] = state.Description + inputs["name"] = state.Name + inputs["protocol"] = state.Protocol + inputs["proxy"] = state.Proxy + inputs["resourceGroupName"] = state.ResourceGroupName + inputs["resourceId"] = state.ResourceId + inputs["serviceFabricCluster"] = state.ServiceFabricCluster + inputs["title"] = state.Title + inputs["tls"] = state.Tls + inputs["url"] = state.Url + } + s, err := ctx.ReadResource("azure:apimanagement/backend:Backend", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &Backend{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *Backend) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *Backend) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. +func (r *Backend) ApiManagementName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["apiManagementName"]) +} + +// A `credentials` block as documented below. +func (r *Backend) Credentials() *pulumi.Output { + return r.s.State["credentials"] +} + +// The description of the backend. +func (r *Backend) Description() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["description"]) +} + +// The name of the API Management backend. Changing this forces a new resource to be created. +func (r *Backend) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// The protocol used by the backend host. Possible values are `http` or `soap`. +func (r *Backend) Protocol() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["protocol"]) +} + +// A `proxy` block as documented below. +func (r *Backend) Proxy() *pulumi.Output { + return r.s.State["proxy"] +} + +// The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. +func (r *Backend) ResourceGroupName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) +} + +// The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. +func (r *Backend) ResourceId() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceId"]) +} + +// A `service_fabric_cluster` block as documented below. +func (r *Backend) ServiceFabricCluster() *pulumi.Output { + return r.s.State["serviceFabricCluster"] +} + +// The title of the backend. +func (r *Backend) Title() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["title"]) +} + +// A `tls` block as documented below. +func (r *Backend) Tls() *pulumi.Output { + return r.s.State["tls"] +} + +// The URL of the backend host. +func (r *Backend) Url() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["url"]) +} + +// Input properties used for looking up and filtering Backend resources. +type BackendState struct { + // The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + ApiManagementName interface{} + // A `credentials` block as documented below. + Credentials interface{} + // The description of the backend. + Description interface{} + // The name of the API Management backend. Changing this forces a new resource to be created. + Name interface{} + // The protocol used by the backend host. Possible values are `http` or `soap`. + Protocol interface{} + // A `proxy` block as documented below. + Proxy interface{} + // The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + ResourceId interface{} + // A `service_fabric_cluster` block as documented below. + ServiceFabricCluster interface{} + // The title of the backend. + Title interface{} + // A `tls` block as documented below. + Tls interface{} + // The URL of the backend host. + Url interface{} +} + +// The set of arguments for constructing a Backend resource. +type BackendArgs struct { + // The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + ApiManagementName interface{} + // A `credentials` block as documented below. + Credentials interface{} + // The description of the backend. + Description interface{} + // The name of the API Management backend. Changing this forces a new resource to be created. + Name interface{} + // The protocol used by the backend host. Possible values are `http` or `soap`. + Protocol interface{} + // A `proxy` block as documented below. + Proxy interface{} + // The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + ResourceId interface{} + // A `service_fabric_cluster` block as documented below. + ServiceFabricCluster interface{} + // The title of the backend. + Title interface{} + // A `tls` block as documented below. + Tls interface{} + // The URL of the backend host. + Url interface{} +} diff --git a/sdk/go/azure/appservice/appService.go b/sdk/go/azure/appservice/appService.go index 23366fcf25..d0fbd9e742 100644 --- a/sdk/go/azure/appservice/appService.go +++ b/sdk/go/azure/appservice/appService.go @@ -31,6 +31,7 @@ func NewAppService(ctx *pulumi.Context, inputs["appServicePlanId"] = nil inputs["appSettings"] = nil inputs["authSettings"] = nil + inputs["backup"] = nil inputs["clientAffinityEnabled"] = nil inputs["clientCertEnabled"] = nil inputs["connectionStrings"] = nil @@ -42,11 +43,13 @@ func NewAppService(ctx *pulumi.Context, inputs["name"] = nil inputs["resourceGroupName"] = nil inputs["siteConfig"] = nil + inputs["storageAccounts"] = nil inputs["tags"] = nil } else { inputs["appServicePlanId"] = args.AppServicePlanId inputs["appSettings"] = args.AppSettings inputs["authSettings"] = args.AuthSettings + inputs["backup"] = args.Backup inputs["clientAffinityEnabled"] = args.ClientAffinityEnabled inputs["clientCertEnabled"] = args.ClientCertEnabled inputs["connectionStrings"] = args.ConnectionStrings @@ -58,6 +61,7 @@ func NewAppService(ctx *pulumi.Context, inputs["name"] = args.Name inputs["resourceGroupName"] = args.ResourceGroupName inputs["siteConfig"] = args.SiteConfig + inputs["storageAccounts"] = args.StorageAccounts inputs["tags"] = args.Tags } inputs["defaultSiteHostname"] = nil @@ -81,6 +85,7 @@ func GetAppService(ctx *pulumi.Context, inputs["appServicePlanId"] = state.AppServicePlanId inputs["appSettings"] = state.AppSettings inputs["authSettings"] = state.AuthSettings + inputs["backup"] = state.Backup inputs["clientAffinityEnabled"] = state.ClientAffinityEnabled inputs["clientCertEnabled"] = state.ClientCertEnabled inputs["connectionStrings"] = state.ConnectionStrings @@ -97,6 +102,7 @@ func GetAppService(ctx *pulumi.Context, inputs["siteConfig"] = state.SiteConfig inputs["siteCredential"] = state.SiteCredential inputs["sourceControl"] = state.SourceControl + inputs["storageAccounts"] = state.StorageAccounts inputs["tags"] = state.Tags } s, err := ctx.ReadResource("azure:appservice/appService:AppService", name, id, inputs, opts...) @@ -131,6 +137,10 @@ func (r *AppService) AuthSettings() *pulumi.Output { return r.s.State["authSettings"] } +func (r *AppService) Backup() *pulumi.Output { + return r.s.State["backup"] +} + // Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? func (r *AppService) ClientAffinityEnabled() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["clientAffinityEnabled"]) @@ -211,6 +221,11 @@ func (r *AppService) SourceControl() *pulumi.Output { return r.s.State["sourceControl"] } +// One or more `storage_account` blocks as defined below. +func (r *AppService) StorageAccounts() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["storageAccounts"]) +} + // A mapping of tags to assign to the resource. func (r *AppService) Tags() *pulumi.MapOutput { return (*pulumi.MapOutput)(r.s.State["tags"]) @@ -224,6 +239,7 @@ type AppServiceState struct { AppSettings interface{} // A `auth_settings` block as defined below. AuthSettings interface{} + Backup interface{} // Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // Does the App Service require client certificates for incoming requests? Defaults to `false`. @@ -256,6 +272,8 @@ type AppServiceState struct { SiteCredential interface{} // A `source_control` block as defined below, which contains the Source Control information when `scm_type` is set to `LocalGit`. SourceControl interface{} + // One or more `storage_account` blocks as defined below. + StorageAccounts interface{} // A mapping of tags to assign to the resource. Tags interface{} } @@ -268,6 +286,7 @@ type AppServiceArgs struct { AppSettings interface{} // A `auth_settings` block as defined below. AuthSettings interface{} + Backup interface{} // Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // Does the App Service require client certificates for incoming requests? Defaults to `false`. @@ -290,6 +309,8 @@ type AppServiceArgs struct { ResourceGroupName interface{} // A `site_config` block as defined below. SiteConfig interface{} + // One or more `storage_account` blocks as defined below. + StorageAccounts interface{} // A mapping of tags to assign to the resource. Tags interface{} } diff --git a/sdk/go/azure/appservice/functionApp.go b/sdk/go/azure/appservice/functionApp.go index 459995d736..8aaed5d675 100644 --- a/sdk/go/azure/appservice/functionApp.go +++ b/sdk/go/azure/appservice/functionApp.go @@ -31,6 +31,7 @@ func NewFunctionApp(ctx *pulumi.Context, if args == nil { inputs["appServicePlanId"] = nil inputs["appSettings"] = nil + inputs["authSettings"] = nil inputs["clientAffinityEnabled"] = nil inputs["connectionStrings"] = nil inputs["enableBuiltinLogging"] = nil @@ -47,6 +48,7 @@ func NewFunctionApp(ctx *pulumi.Context, } else { inputs["appServicePlanId"] = args.AppServicePlanId inputs["appSettings"] = args.AppSettings + inputs["authSettings"] = args.AuthSettings inputs["clientAffinityEnabled"] = args.ClientAffinityEnabled inputs["connectionStrings"] = args.ConnectionStrings inputs["enableBuiltinLogging"] = args.EnableBuiltinLogging @@ -81,6 +83,7 @@ func GetFunctionApp(ctx *pulumi.Context, if state != nil { inputs["appServicePlanId"] = state.AppServicePlanId inputs["appSettings"] = state.AppSettings + inputs["authSettings"] = state.AuthSettings inputs["clientAffinityEnabled"] = state.ClientAffinityEnabled inputs["connectionStrings"] = state.ConnectionStrings inputs["defaultHostname"] = state.DefaultHostname @@ -127,6 +130,11 @@ func (r *FunctionApp) AppSettings() *pulumi.MapOutput { return (*pulumi.MapOutput)(r.s.State["appSettings"]) } +// A `auth_settings` block as defined below. +func (r *FunctionApp) AuthSettings() *pulumi.Output { + return r.s.State["authSettings"] +} + // Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? func (r *FunctionApp) ClientAffinityEnabled() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["clientAffinityEnabled"]) @@ -223,6 +231,8 @@ type FunctionAppState struct { AppServicePlanId interface{} // A key-value pair of App Settings. AppSettings interface{} + // A `auth_settings` block as defined below. + AuthSettings interface{} // Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // An `connection_string` block as defined below. @@ -267,6 +277,8 @@ type FunctionAppArgs struct { AppServicePlanId interface{} // A key-value pair of App Settings. AppSettings interface{} + // A `auth_settings` block as defined below. + AuthSettings interface{} // Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // An `connection_string` block as defined below. diff --git a/sdk/go/azure/appservice/slot.go b/sdk/go/azure/appservice/slot.go index 53a028c39a..a755b04eff 100644 --- a/sdk/go/azure/appservice/slot.go +++ b/sdk/go/azure/appservice/slot.go @@ -34,6 +34,7 @@ func NewSlot(ctx *pulumi.Context, inputs["appServiceName"] = nil inputs["appServicePlanId"] = nil inputs["appSettings"] = nil + inputs["authSettings"] = nil inputs["clientAffinityEnabled"] = nil inputs["connectionStrings"] = nil inputs["enabled"] = nil @@ -48,6 +49,7 @@ func NewSlot(ctx *pulumi.Context, inputs["appServiceName"] = args.AppServiceName inputs["appServicePlanId"] = args.AppServicePlanId inputs["appSettings"] = args.AppSettings + inputs["authSettings"] = args.AuthSettings inputs["clientAffinityEnabled"] = args.ClientAffinityEnabled inputs["connectionStrings"] = args.ConnectionStrings inputs["enabled"] = args.Enabled @@ -77,6 +79,7 @@ func GetSlot(ctx *pulumi.Context, inputs["appServiceName"] = state.AppServiceName inputs["appServicePlanId"] = state.AppServicePlanId inputs["appSettings"] = state.AppSettings + inputs["authSettings"] = state.AuthSettings inputs["clientAffinityEnabled"] = state.ClientAffinityEnabled inputs["connectionStrings"] = state.ConnectionStrings inputs["defaultSiteHostname"] = state.DefaultSiteHostname @@ -122,6 +125,11 @@ func (r *Slot) AppSettings() *pulumi.MapOutput { return (*pulumi.MapOutput)(r.s.State["appSettings"]) } +// A `auth_settings` block as defined below. +func (r *Slot) AuthSettings() *pulumi.Output { + return r.s.State["authSettings"] +} + // Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? func (r *Slot) ClientAffinityEnabled() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["clientAffinityEnabled"]) @@ -190,6 +198,8 @@ type SlotState struct { AppServicePlanId interface{} // A key-value pair of App Settings. AppSettings interface{} + // A `auth_settings` block as defined below. + AuthSettings interface{} // Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // An `connection_string` block as defined below. @@ -224,6 +234,8 @@ type SlotArgs struct { AppServicePlanId interface{} // A key-value pair of App Settings. AppSettings interface{} + // A `auth_settings` block as defined below. + AuthSettings interface{} // Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? ClientAffinityEnabled interface{} // An `connection_string` block as defined below. diff --git a/sdk/go/azure/batch/account.go b/sdk/go/azure/batch/account.go index 4b3c08797c..dc5dda3279 100644 --- a/sdk/go/azure/batch/account.go +++ b/sdk/go/azure/batch/account.go @@ -23,6 +23,7 @@ func NewAccount(ctx *pulumi.Context, } inputs := make(map[string]interface{}) if args == nil { + inputs["keyVaultReference"] = nil inputs["location"] = nil inputs["name"] = nil inputs["poolAllocationMode"] = nil @@ -30,6 +31,7 @@ func NewAccount(ctx *pulumi.Context, inputs["storageAccountId"] = nil inputs["tags"] = nil } else { + inputs["keyVaultReference"] = args.KeyVaultReference inputs["location"] = args.Location inputs["name"] = args.Name inputs["poolAllocationMode"] = args.PoolAllocationMode @@ -54,6 +56,7 @@ func GetAccount(ctx *pulumi.Context, inputs := make(map[string]interface{}) if state != nil { inputs["accountEndpoint"] = state.AccountEndpoint + inputs["keyVaultReference"] = state.KeyVaultReference inputs["location"] = state.Location inputs["name"] = state.Name inputs["poolAllocationMode"] = state.PoolAllocationMode @@ -85,6 +88,11 @@ func (r *Account) AccountEndpoint() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accountEndpoint"]) } +// A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. +func (r *Account) KeyVaultReference() *pulumi.Output { + return r.s.State["keyVaultReference"] +} + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. func (r *Account) Location() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["location"]) @@ -129,6 +137,8 @@ func (r *Account) Tags() *pulumi.MapOutput { type AccountState struct { // The account endpoint used to interact with the Batch service. AccountEndpoint interface{} + // A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + KeyVaultReference interface{} // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} // Specifies the name of the Batch account. Changing this forces a new resource to be created. @@ -149,6 +159,8 @@ type AccountState struct { // The set of arguments for constructing a Account resource. type AccountArgs struct { + // A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + KeyVaultReference interface{} // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} // Specifies the name of the Batch account. Changing this forces a new resource to be created. diff --git a/sdk/go/azure/batch/application.go b/sdk/go/azure/batch/application.go new file mode 100644 index 0000000000..12daa39e14 --- /dev/null +++ b/sdk/go/azure/batch/application.go @@ -0,0 +1,140 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package batch + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manage Azure Batch Application instance. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/batch_application.html.markdown. +type Application struct { + s *pulumi.ResourceState +} + +// NewApplication registers a new resource with the given unique name, arguments, and options. +func NewApplication(ctx *pulumi.Context, + name string, args *ApplicationArgs, opts ...pulumi.ResourceOpt) (*Application, error) { + if args == nil || args.AccountName == nil { + return nil, errors.New("missing required argument 'AccountName'") + } + if args == nil || args.ResourceGroupName == nil { + return nil, errors.New("missing required argument 'ResourceGroupName'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["accountName"] = nil + inputs["allowUpdates"] = nil + inputs["defaultVersion"] = nil + inputs["displayName"] = nil + inputs["name"] = nil + inputs["resourceGroupName"] = nil + } else { + inputs["accountName"] = args.AccountName + inputs["allowUpdates"] = args.AllowUpdates + inputs["defaultVersion"] = args.DefaultVersion + inputs["displayName"] = args.DisplayName + inputs["name"] = args.Name + inputs["resourceGroupName"] = args.ResourceGroupName + } + s, err := ctx.RegisterResource("azure:batch/application:Application", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &Application{s: s}, nil +} + +// GetApplication gets an existing Application 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 GetApplication(ctx *pulumi.Context, + name string, id pulumi.ID, state *ApplicationState, opts ...pulumi.ResourceOpt) (*Application, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["accountName"] = state.AccountName + inputs["allowUpdates"] = state.AllowUpdates + inputs["defaultVersion"] = state.DefaultVersion + inputs["displayName"] = state.DisplayName + inputs["name"] = state.Name + inputs["resourceGroupName"] = state.ResourceGroupName + } + s, err := ctx.ReadResource("azure:batch/application:Application", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &Application{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *Application) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *Application) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// The name of the Batch account. Changing this forces a new resource to be created. +func (r *Application) AccountName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["accountName"]) +} + +// A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. +func (r *Application) AllowUpdates() *pulumi.BoolOutput { + return (*pulumi.BoolOutput)(r.s.State["allowUpdates"]) +} + +// The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. +func (r *Application) DefaultVersion() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["defaultVersion"]) +} + +// The display name for the application. +func (r *Application) DisplayName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["displayName"]) +} + +// The name of the application. This must be unique within the account. Changing this forces a new resource to be created. +func (r *Application) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. +func (r *Application) ResourceGroupName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) +} + +// Input properties used for looking up and filtering Application resources. +type ApplicationState struct { + // The name of the Batch account. Changing this forces a new resource to be created. + AccountName interface{} + // A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + AllowUpdates interface{} + // The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + DefaultVersion interface{} + // The display name for the application. + DisplayName interface{} + // The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + Name interface{} + // The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + ResourceGroupName interface{} +} + +// The set of arguments for constructing a Application resource. +type ApplicationArgs struct { + // The name of the Batch account. Changing this forces a new resource to be created. + AccountName interface{} + // A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + AllowUpdates interface{} + // The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + DefaultVersion interface{} + // The display name for the application. + DisplayName interface{} + // The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + Name interface{} + // The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + ResourceGroupName interface{} +} diff --git a/sdk/go/azure/batch/getAccount.go b/sdk/go/azure/batch/getAccount.go index 2810bf1a81..57bd35b3d3 100644 --- a/sdk/go/azure/batch/getAccount.go +++ b/sdk/go/azure/batch/getAccount.go @@ -22,6 +22,7 @@ func LookupAccount(ctx *pulumi.Context, args *GetAccountArgs) (*GetAccountResult } return &GetAccountResult{ AccountEndpoint: outputs["accountEndpoint"], + KeyVaultReferences: outputs["keyVaultReferences"], Location: outputs["location"], Name: outputs["name"], PoolAllocationMode: outputs["poolAllocationMode"], @@ -46,6 +47,8 @@ type GetAccountArgs struct { type GetAccountResult struct { // The account endpoint used to interact with the Batch service. AccountEndpoint interface{} + // The `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + KeyVaultReferences interface{} // The Azure Region in which this Batch account exists. Location interface{} // The Batch account name. diff --git a/sdk/go/azure/cognitive/account.go b/sdk/go/azure/cognitive/account.go index f263717388..154c1ead7c 100644 --- a/sdk/go/azure/cognitive/account.go +++ b/sdk/go/azure/cognitive/account.go @@ -91,7 +91,7 @@ func (r *Account) Endpoint() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["endpoint"]) } -// Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. +// Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. func (r *Account) Kind() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["kind"]) } @@ -135,7 +135,7 @@ func (r *Account) Tags() *pulumi.MapOutput { type AccountState struct { // The endpoint used to connect to the Cognitive Service Account. Endpoint interface{} - // Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + // Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. Kind interface{} // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} @@ -155,7 +155,7 @@ type AccountState struct { // The set of arguments for constructing a Account resource. type AccountArgs struct { - // Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + // Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. Kind interface{} // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} diff --git a/sdk/go/azure/containerservice/getKubernetesCluster.go b/sdk/go/azure/containerservice/getKubernetesCluster.go index c5c1d3f568..325603fe23 100644 --- a/sdk/go/azure/containerservice/getKubernetesCluster.go +++ b/sdk/go/azure/containerservice/getKubernetesCluster.go @@ -42,6 +42,7 @@ func LookupKubernetesCluster(ctx *pulumi.Context, args *GetKubernetesClusterArgs RoleBasedAccessControls: outputs["roleBasedAccessControls"], ServicePrincipals: outputs["servicePrincipals"], Tags: outputs["tags"], + WindowsProfiles: outputs["windowsProfiles"], Id: outputs["id"], }, nil } @@ -91,6 +92,8 @@ type GetKubernetesClusterResult struct { ServicePrincipals interface{} // A mapping of tags assigned to this resource. Tags interface{} + // A `windows_profile` block as documented below. + WindowsProfiles interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} } diff --git a/sdk/go/azure/containerservice/kubernetesCluster.go b/sdk/go/azure/containerservice/kubernetesCluster.go index c713b50e1d..31daf2ccdb 100644 --- a/sdk/go/azure/containerservice/kubernetesCluster.go +++ b/sdk/go/azure/containerservice/kubernetesCluster.go @@ -43,10 +43,12 @@ func NewKubernetesCluster(ctx *pulumi.Context, inputs["location"] = nil inputs["name"] = nil inputs["networkProfile"] = nil + inputs["nodeResourceGroup"] = nil inputs["resourceGroupName"] = nil inputs["roleBasedAccessControl"] = nil inputs["servicePrincipal"] = nil inputs["tags"] = nil + inputs["windowsProfile"] = nil } else { inputs["addonProfile"] = args.AddonProfile inputs["agentPoolProfiles"] = args.AgentPoolProfiles @@ -57,17 +59,18 @@ func NewKubernetesCluster(ctx *pulumi.Context, inputs["location"] = args.Location inputs["name"] = args.Name inputs["networkProfile"] = args.NetworkProfile + inputs["nodeResourceGroup"] = args.NodeResourceGroup inputs["resourceGroupName"] = args.ResourceGroupName inputs["roleBasedAccessControl"] = args.RoleBasedAccessControl inputs["servicePrincipal"] = args.ServicePrincipal inputs["tags"] = args.Tags + inputs["windowsProfile"] = args.WindowsProfile } inputs["fqdn"] = nil inputs["kubeAdminConfig"] = nil inputs["kubeAdminConfigRaw"] = nil inputs["kubeConfig"] = nil inputs["kubeConfigRaw"] = nil - inputs["nodeResourceGroup"] = nil s, err := ctx.RegisterResource("azure:containerservice/kubernetesCluster:KubernetesCluster", name, true, inputs, opts...) if err != nil { return nil, err @@ -100,6 +103,7 @@ func GetKubernetesCluster(ctx *pulumi.Context, inputs["roleBasedAccessControl"] = state.RoleBasedAccessControl inputs["servicePrincipal"] = state.ServicePrincipal inputs["tags"] = state.Tags + inputs["windowsProfile"] = state.WindowsProfile } s, err := ctx.ReadResource("azure:containerservice/kubernetesCluster:KubernetesCluster", name, id, inputs, opts...) if err != nil { @@ -118,7 +122,6 @@ func (r *KubernetesCluster) ID() *pulumi.IDOutput { return r.s.ID() } -// A `addon_profile` block. func (r *KubernetesCluster) AddonProfile() *pulumi.Output { return r.s.State["addonProfile"] } @@ -128,7 +131,6 @@ func (r *KubernetesCluster) AgentPoolProfiles() *pulumi.ArrayOutput { return (*pulumi.ArrayOutput)(r.s.State["agentPoolProfiles"]) } -// The IP ranges to whitelist for incoming traffic to the masters. func (r *KubernetesCluster) ApiServerAuthorizedIpRanges() *pulumi.ArrayOutput { return (*pulumi.ArrayOutput)(r.s.State["apiServerAuthorizedIpRanges"]) } @@ -163,12 +165,10 @@ func (r *KubernetesCluster) KubeConfigRaw() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["kubeConfigRaw"]) } -// Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). func (r *KubernetesCluster) KubernetesVersion() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["kubernetesVersion"]) } -// A `linux_profile` block. func (r *KubernetesCluster) LinuxProfile() *pulumi.Output { return r.s.State["linuxProfile"] } @@ -183,7 +183,6 @@ func (r *KubernetesCluster) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) } -// A `network_profile` block. func (r *KubernetesCluster) NetworkProfile() *pulumi.Output { return r.s.State["networkProfile"] } @@ -198,7 +197,6 @@ func (r *KubernetesCluster) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } -// A `role_based_access_control` block. Changing this forces a new resource to be created. func (r *KubernetesCluster) RoleBasedAccessControl() *pulumi.Output { return r.s.State["roleBasedAccessControl"] } @@ -208,18 +206,19 @@ func (r *KubernetesCluster) ServicePrincipal() *pulumi.Output { return r.s.State["servicePrincipal"] } -// A mapping of tags to assign to the resource. func (r *KubernetesCluster) Tags() *pulumi.MapOutput { return (*pulumi.MapOutput)(r.s.State["tags"]) } +func (r *KubernetesCluster) WindowsProfile() *pulumi.Output { + return r.s.State["windowsProfile"] +} + // Input properties used for looking up and filtering KubernetesCluster resources. type KubernetesClusterState struct { - // A `addon_profile` block. AddonProfile interface{} // One or more `agent_pool_profile` blocks as defined below. AgentPoolProfiles interface{} - // The IP ranges to whitelist for incoming traffic to the masters. ApiServerAuthorizedIpRanges interface{} // DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. DnsPrefix interface{} @@ -233,54 +232,46 @@ type KubernetesClusterState struct { KubeConfig interface{} // Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools KubeConfigRaw interface{} - // Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). KubernetesVersion interface{} - // A `linux_profile` block. LinuxProfile interface{} // The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. Location interface{} // The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. Name interface{} - // A `network_profile` block. NetworkProfile interface{} // The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. NodeResourceGroup interface{} // Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. ResourceGroupName interface{} - // A `role_based_access_control` block. Changing this forces a new resource to be created. RoleBasedAccessControl interface{} // A `service_principal` block as documented below. ServicePrincipal interface{} - // A mapping of tags to assign to the resource. Tags interface{} + WindowsProfile interface{} } // The set of arguments for constructing a KubernetesCluster resource. type KubernetesClusterArgs struct { - // A `addon_profile` block. AddonProfile interface{} // One or more `agent_pool_profile` blocks as defined below. AgentPoolProfiles interface{} - // The IP ranges to whitelist for incoming traffic to the masters. ApiServerAuthorizedIpRanges interface{} // DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. DnsPrefix interface{} - // Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). KubernetesVersion interface{} - // A `linux_profile` block. LinuxProfile interface{} // The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. Location interface{} // The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. Name interface{} - // A `network_profile` block. NetworkProfile interface{} + // The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. + NodeResourceGroup interface{} // Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. ResourceGroupName interface{} - // A `role_based_access_control` block. Changing this forces a new resource to be created. RoleBasedAccessControl interface{} // A `service_principal` block as documented below. ServicePrincipal interface{} - // A mapping of tags to assign to the resource. Tags interface{} + WindowsProfile interface{} } diff --git a/sdk/go/azure/containerservice/registry.go b/sdk/go/azure/containerservice/registry.go index e9506ba13e..5eeee92fa1 100644 --- a/sdk/go/azure/containerservice/registry.go +++ b/sdk/go/azure/containerservice/registry.go @@ -30,6 +30,7 @@ func NewRegistry(ctx *pulumi.Context, inputs["georeplicationLocations"] = nil inputs["location"] = nil inputs["name"] = nil + inputs["networkRuleSet"] = nil inputs["resourceGroupName"] = nil inputs["sku"] = nil inputs["storageAccount"] = nil @@ -40,6 +41,7 @@ func NewRegistry(ctx *pulumi.Context, inputs["georeplicationLocations"] = args.GeoreplicationLocations inputs["location"] = args.Location inputs["name"] = args.Name + inputs["networkRuleSet"] = args.NetworkRuleSet inputs["resourceGroupName"] = args.ResourceGroupName inputs["sku"] = args.Sku inputs["storageAccount"] = args.StorageAccount @@ -69,6 +71,7 @@ func GetRegistry(ctx *pulumi.Context, inputs["location"] = state.Location inputs["loginServer"] = state.LoginServer inputs["name"] = state.Name + inputs["networkRuleSet"] = state.NetworkRuleSet inputs["resourceGroupName"] = state.ResourceGroupName inputs["sku"] = state.Sku inputs["storageAccount"] = state.StorageAccount @@ -127,6 +130,11 @@ func (r *Registry) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) } +// A `network_rule_set` block as documented below. +func (r *Registry) NetworkRuleSet() *pulumi.Output { + return r.s.State["networkRuleSet"] +} + // The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. func (r *Registry) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) @@ -167,6 +175,8 @@ type RegistryState struct { LoginServer interface{} // Specifies the name of the Container Registry. Changing this forces a new resource to be created. Name interface{} + // A `network_rule_set` block as documented below. + NetworkRuleSet interface{} // The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. ResourceGroupName interface{} // The SKU name of the the container registry. Possible values are `Classic` (which was previously `Basic`), `Basic`, `Standard` and `Premium`. @@ -188,6 +198,8 @@ type RegistryArgs struct { Location interface{} // Specifies the name of the Container Registry. Changing this forces a new resource to be created. Name interface{} + // A `network_rule_set` block as documented below. + NetworkRuleSet interface{} // The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. ResourceGroupName interface{} // The SKU name of the the container registry. Possible values are `Classic` (which was previously `Basic`), `Basic`, `Standard` and `Premium`. diff --git a/sdk/go/azure/core/getSubscription.go b/sdk/go/azure/core/getSubscription.go index 3420198272..e8123eb73d 100644 --- a/sdk/go/azure/core/getSubscription.go +++ b/sdk/go/azure/core/getSubscription.go @@ -26,6 +26,7 @@ func LookupSubscription(ctx *pulumi.Context, args *GetSubscriptionArgs) (*GetSub SpendingLimit: outputs["spendingLimit"], State: outputs["state"], SubscriptionId: outputs["subscriptionId"], + TenantId: outputs["tenantId"], Id: outputs["id"], }, nil } @@ -50,6 +51,8 @@ type GetSubscriptionResult struct { State interface{} // The subscription GUID. SubscriptionId interface{} + // The subscription tenant ID. + TenantId interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} } diff --git a/sdk/go/azure/iot/ioTHub.go b/sdk/go/azure/iot/ioTHub.go index 9f0f4b2ae2..b67e7ac50b 100644 --- a/sdk/go/azure/iot/ioTHub.go +++ b/sdk/go/azure/iot/ioTHub.go @@ -28,6 +28,7 @@ func NewIoTHub(ctx *pulumi.Context, if args == nil { inputs["endpoints"] = nil inputs["fallbackRoute"] = nil + inputs["fileUpload"] = nil inputs["ipFilterRules"] = nil inputs["location"] = nil inputs["name"] = nil @@ -38,6 +39,7 @@ func NewIoTHub(ctx *pulumi.Context, } else { inputs["endpoints"] = args.Endpoints inputs["fallbackRoute"] = args.FallbackRoute + inputs["fileUpload"] = args.FileUpload inputs["ipFilterRules"] = args.IpFilterRules inputs["location"] = args.Location inputs["name"] = args.Name @@ -72,6 +74,7 @@ func GetIoTHub(ctx *pulumi.Context, inputs["eventHubOperationsEndpoint"] = state.EventHubOperationsEndpoint inputs["eventHubOperationsPath"] = state.EventHubOperationsPath inputs["fallbackRoute"] = state.FallbackRoute + inputs["fileUpload"] = state.FileUpload inputs["hostname"] = state.Hostname inputs["ipFilterRules"] = state.IpFilterRules inputs["location"] = state.Location @@ -130,6 +133,11 @@ func (r *IoTHub) FallbackRoute() *pulumi.Output { return r.s.State["fallbackRoute"] } +// A `file_upload` block as defined below. +func (r *IoTHub) FileUpload() *pulumi.Output { + return r.s.State["fileUpload"] +} + // The hostname of the IotHub Resource. func (r *IoTHub) Hostname() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["hostname"]) @@ -193,6 +201,8 @@ type IoTHubState struct { EventHubOperationsPath interface{} // A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. FallbackRoute interface{} + // A `file_upload` block as defined below. + FileUpload interface{} // The hostname of the IotHub Resource. Hostname interface{} // One or more `ip_filter_rule` blocks as defined below. @@ -220,6 +230,8 @@ type IoTHubArgs struct { Endpoints interface{} // A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. FallbackRoute interface{} + // A `file_upload` block as defined below. + FileUpload interface{} // One or more `ip_filter_rule` blocks as defined below. IpFilterRules interface{} // Specifies the supported Azure location where the resource has to be createc. Changing this forces a new resource to be created. diff --git a/sdk/go/azure/maps/_about.go b/sdk/go/azure/maps/_about.go new file mode 100644 index 0000000000..3d0781892f --- /dev/null +++ b/sdk/go/azure/maps/_about.go @@ -0,0 +1,8 @@ +//nolint: lll +// Package maps exports types, functions, subpackages for provisioning maps resources. +// +// > This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +// > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +// > first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +// > please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). +package maps diff --git a/sdk/go/azure/maps/account.go b/sdk/go/azure/maps/account.go new file mode 100644 index 0000000000..88dd0d20d2 --- /dev/null +++ b/sdk/go/azure/maps/account.go @@ -0,0 +1,143 @@ +// *** 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! *** + +package maps + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manages an Azure Maps Account. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/maps_account.html.markdown. +type Account struct { + s *pulumi.ResourceState +} + +// NewAccount registers a new resource with the given unique name, arguments, and options. +func NewAccount(ctx *pulumi.Context, + name string, args *AccountArgs, opts ...pulumi.ResourceOpt) (*Account, error) { + if args == nil || args.ResourceGroupName == nil { + return nil, errors.New("missing required argument 'ResourceGroupName'") + } + if args == nil || args.SkuName == nil { + return nil, errors.New("missing required argument 'SkuName'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["name"] = nil + inputs["resourceGroupName"] = nil + inputs["skuName"] = nil + inputs["tags"] = nil + } else { + inputs["name"] = args.Name + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["skuName"] = args.SkuName + inputs["tags"] = args.Tags + } + inputs["primaryAccessKey"] = nil + inputs["secondaryAccessKey"] = nil + inputs["xMsClientId"] = nil + s, err := ctx.RegisterResource("azure:maps/account:Account", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &Account{s: s}, nil +} + +// GetAccount gets an existing Account 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 GetAccount(ctx *pulumi.Context, + name string, id pulumi.ID, state *AccountState, opts ...pulumi.ResourceOpt) (*Account, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["name"] = state.Name + inputs["primaryAccessKey"] = state.PrimaryAccessKey + inputs["resourceGroupName"] = state.ResourceGroupName + inputs["secondaryAccessKey"] = state.SecondaryAccessKey + inputs["skuName"] = state.SkuName + inputs["tags"] = state.Tags + inputs["xMsClientId"] = state.XMsClientId + } + s, err := ctx.ReadResource("azure:maps/account:Account", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &Account{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *Account) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *Account) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// The name of the Azure Maps Account. Changing this forces a new resource to be created. +func (r *Account) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// The primary key used to authenticate and authorize access to the Maps REST APIs. +func (r *Account) PrimaryAccessKey() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["primaryAccessKey"]) +} + +// The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. +func (r *Account) ResourceGroupName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) +} + +// The secondary key used to authenticate and authorize access to the Maps REST APIs. +func (r *Account) SecondaryAccessKey() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["secondaryAccessKey"]) +} + +// The sku of the Azure Maps Account. Possible values are `s0` and `s1`. +func (r *Account) SkuName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["skuName"]) +} + +// A mapping of tags to assign to the Azure Maps Account. +func (r *Account) Tags() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["tags"]) +} + +// A unique identifier for the Maps Account. +func (r *Account) XMsClientId() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["xMsClientId"]) +} + +// Input properties used for looking up and filtering Account resources. +type AccountState struct { + // The name of the Azure Maps Account. Changing this forces a new resource to be created. + Name interface{} + // The primary key used to authenticate and authorize access to the Maps REST APIs. + PrimaryAccessKey interface{} + // The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // The secondary key used to authenticate and authorize access to the Maps REST APIs. + SecondaryAccessKey interface{} + // The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + SkuName interface{} + // A mapping of tags to assign to the Azure Maps Account. + Tags interface{} + // A unique identifier for the Maps Account. + XMsClientId interface{} +} + +// The set of arguments for constructing a Account resource. +type AccountArgs struct { + // The name of the Azure Maps Account. Changing this forces a new resource to be created. + Name interface{} + // The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + SkuName interface{} + // A mapping of tags to assign to the Azure Maps Account. + Tags interface{} +} diff --git a/sdk/go/azure/maps/getAccount.go b/sdk/go/azure/maps/getAccount.go new file mode 100644 index 0000000000..47ef54bd9f --- /dev/null +++ b/sdk/go/azure/maps/getAccount.go @@ -0,0 +1,60 @@ +// *** 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! *** + +package maps + +import ( + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Use this data source to access information about an existing Azure Maps Account. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/maps_account.html.markdown. +func LookupAccount(ctx *pulumi.Context, args *GetAccountArgs) (*GetAccountResult, error) { + inputs := make(map[string]interface{}) + if args != nil { + inputs["name"] = args.Name + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["tags"] = args.Tags + } + outputs, err := ctx.Invoke("azure:maps/getAccount:getAccount", inputs) + if err != nil { + return nil, err + } + return &GetAccountResult{ + Name: outputs["name"], + PrimaryAccessKey: outputs["primaryAccessKey"], + ResourceGroupName: outputs["resourceGroupName"], + SecondaryAccessKey: outputs["secondaryAccessKey"], + SkuName: outputs["skuName"], + Tags: outputs["tags"], + XMsClientId: outputs["xMsClientId"], + Id: outputs["id"], + }, nil +} + +// A collection of arguments for invoking getAccount. +type GetAccountArgs struct { + // Specifies the name of the Maps Account. + Name interface{} + // Specifies the name of the Resource Group in which the Maps Account is located. + ResourceGroupName interface{} + Tags interface{} +} + +// A collection of values returned by getAccount. +type GetAccountResult struct { + Name interface{} + // The primary key used to authenticate and authorize access to the Maps REST APIs. + PrimaryAccessKey interface{} + ResourceGroupName interface{} + // The primary key used to authenticate and authorize access to the Maps REST APIs. The second key is given to provide seemless key regeneration. + SecondaryAccessKey interface{} + // The sku of the Azure Maps Account. + SkuName interface{} + Tags interface{} + // A unique identifier for the Maps Account. + XMsClientId interface{} + // id is the provider-assigned unique ID for this managed resource. + Id interface{} +} diff --git a/sdk/go/azure/mssql/getElasticpool.go b/sdk/go/azure/mssql/getElasticpool.go new file mode 100644 index 0000000000..dee4e16f76 --- /dev/null +++ b/sdk/go/azure/mssql/getElasticpool.go @@ -0,0 +1,70 @@ +// *** 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! *** + +package mssql + +import ( + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Use this data source to access information about an existing SQL elastic pool. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/mssql_elasticpool.html.markdown. +func LookupElasticpool(ctx *pulumi.Context, args *GetElasticpoolArgs) (*GetElasticpoolResult, error) { + inputs := make(map[string]interface{}) + if args != nil { + inputs["name"] = args.Name + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["serverName"] = args.ServerName + } + outputs, err := ctx.Invoke("azure:mssql/getElasticpool:getElasticpool", inputs) + if err != nil { + return nil, err + } + return &GetElasticpoolResult{ + Location: outputs["location"], + MaxSizeBytes: outputs["maxSizeBytes"], + MaxSizeGb: outputs["maxSizeGb"], + Name: outputs["name"], + PerDbMaxCapacity: outputs["perDbMaxCapacity"], + PerDbMinCapacity: outputs["perDbMinCapacity"], + ResourceGroupName: outputs["resourceGroupName"], + ServerName: outputs["serverName"], + Tags: outputs["tags"], + ZoneRedundant: outputs["zoneRedundant"], + Id: outputs["id"], + }, nil +} + +// A collection of arguments for invoking getElasticpool. +type GetElasticpoolArgs struct { + // The name of the elastic pool. + Name interface{} + // The name of the resource group which contains the elastic pool. + ResourceGroupName interface{} + // The name of the SQL Server which contains the elastic pool. + ServerName interface{} +} + +// A collection of values returned by getElasticpool. +type GetElasticpoolResult struct { + // Specifies the supported Azure location where the resource exists. + Location interface{} + // The max data size of the elastic pool in bytes. + MaxSizeBytes interface{} + // The max data size of the elastic pool in gigabytes. + MaxSizeGb interface{} + Name interface{} + // The maximum capacity any one database can consume. + PerDbMaxCapacity interface{} + // The minimum capacity all databases are guaranteed. + PerDbMinCapacity interface{} + ResourceGroupName interface{} + ServerName interface{} + // A mapping of tags to assign to the resource. + Tags interface{} + // Whether or not this elastic pool is zone redundant. + ZoneRedundant interface{} + // id is the provider-assigned unique ID for this managed resource. + Id interface{} +} diff --git a/sdk/go/azure/network/applicationGateway.go b/sdk/go/azure/network/applicationGateway.go index 2b72cd39e3..d6ce755998 100644 --- a/sdk/go/azure/network/applicationGateway.go +++ b/sdk/go/azure/network/applicationGateway.go @@ -58,6 +58,7 @@ func NewApplicationGateway(ctx *pulumi.Context, inputs["frontendPorts"] = nil inputs["gatewayIpConfigurations"] = nil inputs["httpListeners"] = nil + inputs["identity"] = nil inputs["location"] = nil inputs["name"] = nil inputs["probes"] = nil @@ -84,6 +85,7 @@ func NewApplicationGateway(ctx *pulumi.Context, inputs["frontendPorts"] = args.FrontendPorts inputs["gatewayIpConfigurations"] = args.GatewayIpConfigurations inputs["httpListeners"] = args.HttpListeners + inputs["identity"] = args.Identity inputs["location"] = args.Location inputs["name"] = args.Name inputs["probes"] = args.Probes @@ -123,6 +125,7 @@ func GetApplicationGateway(ctx *pulumi.Context, inputs["frontendPorts"] = state.FrontendPorts inputs["gatewayIpConfigurations"] = state.GatewayIpConfigurations inputs["httpListeners"] = state.HttpListeners + inputs["identity"] = state.Identity inputs["location"] = state.Location inputs["name"] = state.Name inputs["probes"] = state.Probes @@ -211,6 +214,11 @@ func (r *ApplicationGateway) HttpListeners() *pulumi.ArrayOutput { return (*pulumi.ArrayOutput)(r.s.State["httpListeners"]) } +// A `identity` block. +func (r *ApplicationGateway) Identity() *pulumi.Output { + return r.s.State["identity"] +} + // The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. func (r *ApplicationGateway) Location() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["location"]) @@ -306,6 +314,8 @@ type ApplicationGatewayState struct { GatewayIpConfigurations interface{} // One or more `http_listener` blocks as defined below. HttpListeners interface{} + // A `identity` block. + Identity interface{} // The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. Location interface{} // The name of the Application Gateway. Changing this forces a new resource to be created. @@ -361,6 +371,8 @@ type ApplicationGatewayArgs struct { GatewayIpConfigurations interface{} // One or more `http_listener` blocks as defined below. HttpListeners interface{} + // A `identity` block. + Identity interface{} // The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. Location interface{} // The name of the Application Gateway. Changing this forces a new resource to be created. diff --git a/sdk/go/azure/privatedns/aRecord.go b/sdk/go/azure/privatedns/aRecord.go new file mode 100644 index 0000000000..64d8292443 --- /dev/null +++ b/sdk/go/azure/privatedns/aRecord.go @@ -0,0 +1,143 @@ +// *** 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! *** + +package privatedns + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Enables you to manage DNS A Records within Azure Private DNS. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/private_dns_a_record.html.markdown. +type ARecord struct { + s *pulumi.ResourceState +} + +// NewARecord registers a new resource with the given unique name, arguments, and options. +func NewARecord(ctx *pulumi.Context, + name string, args *ARecordArgs, opts ...pulumi.ResourceOpt) (*ARecord, error) { + if args == nil || args.Records == nil { + return nil, errors.New("missing required argument 'Records'") + } + if args == nil || args.ResourceGroupName == nil { + return nil, errors.New("missing required argument 'ResourceGroupName'") + } + if args == nil || args.Ttl == nil { + return nil, errors.New("missing required argument 'Ttl'") + } + if args == nil || args.ZoneName == nil { + return nil, errors.New("missing required argument 'ZoneName'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["name"] = nil + inputs["records"] = nil + inputs["resourceGroupName"] = nil + inputs["tags"] = nil + inputs["ttl"] = nil + inputs["zoneName"] = nil + } else { + inputs["name"] = args.Name + inputs["records"] = args.Records + inputs["resourceGroupName"] = args.ResourceGroupName + inputs["tags"] = args.Tags + inputs["ttl"] = args.Ttl + inputs["zoneName"] = args.ZoneName + } + s, err := ctx.RegisterResource("azure:privatedns/aRecord:ARecord", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &ARecord{s: s}, nil +} + +// GetARecord gets an existing ARecord 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 GetARecord(ctx *pulumi.Context, + name string, id pulumi.ID, state *ARecordState, opts ...pulumi.ResourceOpt) (*ARecord, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["name"] = state.Name + inputs["records"] = state.Records + inputs["resourceGroupName"] = state.ResourceGroupName + inputs["tags"] = state.Tags + inputs["ttl"] = state.Ttl + inputs["zoneName"] = state.ZoneName + } + s, err := ctx.ReadResource("azure:privatedns/aRecord:ARecord", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &ARecord{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *ARecord) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *ARecord) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// The name of the DNS A Record. +func (r *ARecord) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// List of IPv4 Addresses. +func (r *ARecord) Records() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["records"]) +} + +// Specifies the resource group where the resource exists. Changing this forces a new resource to be created. +func (r *ARecord) ResourceGroupName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) +} + +// A mapping of tags to assign to the resource. +func (r *ARecord) Tags() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["tags"]) +} + +func (r *ARecord) Ttl() *pulumi.IntOutput { + return (*pulumi.IntOutput)(r.s.State["ttl"]) +} + +// Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. +func (r *ARecord) ZoneName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["zoneName"]) +} + +// Input properties used for looking up and filtering ARecord resources. +type ARecordState struct { + // The name of the DNS A Record. + Name interface{} + // List of IPv4 Addresses. + Records interface{} + // Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // A mapping of tags to assign to the resource. + Tags interface{} + Ttl interface{} + // Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + ZoneName interface{} +} + +// The set of arguments for constructing a ARecord resource. +type ARecordArgs struct { + // The name of the DNS A Record. + Name interface{} + // List of IPv4 Addresses. + Records interface{} + // Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + ResourceGroupName interface{} + // A mapping of tags to assign to the resource. + Tags interface{} + Ttl interface{} + // Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + ZoneName interface{} +} diff --git a/sdk/go/azure/recoveryservices/protectedVM.go b/sdk/go/azure/recoveryservices/protectedVM.go index 2f05b0b61b..2295f22c25 100644 --- a/sdk/go/azure/recoveryservices/protectedVM.go +++ b/sdk/go/azure/recoveryservices/protectedVM.go @@ -80,7 +80,7 @@ func (r *ProtectedVM) ID() *pulumi.IDOutput { return r.s.ID() } -// Specifies the id of the backup policy to use. Changing this forces a new resource to be created. +// Specifies the id of the backup policy to use. func (r *ProtectedVM) BackupPolicyId() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["backupPolicyId"]) } @@ -107,7 +107,7 @@ func (r *ProtectedVM) Tags() *pulumi.MapOutput { // Input properties used for looking up and filtering ProtectedVM resources. type ProtectedVMState struct { - // Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + // Specifies the id of the backup policy to use. BackupPolicyId interface{} // Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created. RecoveryVaultName interface{} @@ -121,7 +121,7 @@ type ProtectedVMState struct { // The set of arguments for constructing a ProtectedVM resource. type ProtectedVMArgs struct { - // Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + // Specifies the id of the backup policy to use. BackupPolicyId interface{} // Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created. RecoveryVaultName interface{} diff --git a/sdk/go/azure/redis/cache.go b/sdk/go/azure/redis/cache.go index eeeafb8601..4a348978f5 100644 --- a/sdk/go/azure/redis/cache.go +++ b/sdk/go/azure/redis/cache.go @@ -152,7 +152,7 @@ func (r *Cache) Capacity() *pulumi.IntOutput { return (*pulumi.IntOutput)(r.s.State["capacity"]) } -// Enable the non-SSL port (6789) - disabled by default. +// Enable the non-SSL port (6379) - disabled by default. func (r *Cache) EnableNonSslPort() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["enableNonSslPort"]) } @@ -253,7 +253,7 @@ func (r *Cache) Zones() *pulumi.StringOutput { type CacheState struct { // The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`. Capacity interface{} - // Enable the non-SSL port (6789) - disabled by default. + // Enable the non-SSL port (6379) - disabled by default. EnableNonSslPort interface{} // The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`) Family interface{} @@ -299,7 +299,7 @@ type CacheState struct { type CacheArgs struct { // The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`. Capacity interface{} - // Enable the non-SSL port (6789) - disabled by default. + // Enable the non-SSL port (6379) - disabled by default. EnableNonSslPort interface{} // The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`) Family interface{} diff --git a/sdk/go/azure/securitycenter/contact.go b/sdk/go/azure/securitycenter/contact.go index e81a0689da..3938704350 100644 --- a/sdk/go/azure/securitycenter/contact.go +++ b/sdk/go/azure/securitycenter/contact.go @@ -29,9 +29,6 @@ func NewContact(ctx *pulumi.Context, if args == nil || args.Email == nil { return nil, errors.New("missing required argument 'Email'") } - if args == nil || args.Phone == nil { - return nil, errors.New("missing required argument 'Phone'") - } inputs := make(map[string]interface{}) if args == nil { inputs["alertNotifications"] = nil diff --git a/sdk/go/azure/storage/account.go b/sdk/go/azure/storage/account.go index 13379f18fe..7704322faf 100644 --- a/sdk/go/azure/storage/account.go +++ b/sdk/go/azure/storage/account.go @@ -36,6 +36,7 @@ func NewAccount(ctx *pulumi.Context, inputs["accountTier"] = nil inputs["accountType"] = nil inputs["customDomain"] = nil + inputs["enableAdvancedThreatProtection"] = nil inputs["enableBlobEncryption"] = nil inputs["enableFileEncryption"] = nil inputs["enableHttpsTrafficOnly"] = nil @@ -44,6 +45,7 @@ func NewAccount(ctx *pulumi.Context, inputs["location"] = nil inputs["name"] = nil inputs["networkRules"] = nil + inputs["queueProperties"] = nil inputs["resourceGroupName"] = nil inputs["tags"] = nil } else { @@ -54,6 +56,7 @@ func NewAccount(ctx *pulumi.Context, inputs["accountTier"] = args.AccountTier inputs["accountType"] = args.AccountType inputs["customDomain"] = args.CustomDomain + inputs["enableAdvancedThreatProtection"] = args.EnableAdvancedThreatProtection inputs["enableBlobEncryption"] = args.EnableBlobEncryption inputs["enableFileEncryption"] = args.EnableFileEncryption inputs["enableHttpsTrafficOnly"] = args.EnableHttpsTrafficOnly @@ -62,6 +65,7 @@ func NewAccount(ctx *pulumi.Context, inputs["location"] = args.Location inputs["name"] = args.Name inputs["networkRules"] = args.NetworkRules + inputs["queueProperties"] = args.QueueProperties inputs["resourceGroupName"] = args.ResourceGroupName inputs["tags"] = args.Tags } @@ -117,6 +121,7 @@ func GetAccount(ctx *pulumi.Context, inputs["accountTier"] = state.AccountTier inputs["accountType"] = state.AccountType inputs["customDomain"] = state.CustomDomain + inputs["enableAdvancedThreatProtection"] = state.EnableAdvancedThreatProtection inputs["enableBlobEncryption"] = state.EnableBlobEncryption inputs["enableFileEncryption"] = state.EnableFileEncryption inputs["enableHttpsTrafficOnly"] = state.EnableHttpsTrafficOnly @@ -141,6 +146,7 @@ func GetAccount(ctx *pulumi.Context, inputs["primaryTableHost"] = state.PrimaryTableHost inputs["primaryWebEndpoint"] = state.PrimaryWebEndpoint inputs["primaryWebHost"] = state.PrimaryWebHost + inputs["queueProperties"] = state.QueueProperties inputs["resourceGroupName"] = state.ResourceGroupName inputs["secondaryAccessKey"] = state.SecondaryAccessKey inputs["secondaryBlobConnectionString"] = state.SecondaryBlobConnectionString @@ -177,7 +183,7 @@ func (r *Account) ID() *pulumi.IDOutput { return r.s.ID() } -// Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. +// Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. func (r *Account) AccessTier() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accessTier"]) } @@ -187,9 +193,7 @@ func (r *Account) AccountEncryptionSource() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accountEncryptionSource"]) } -// Defines the Kind of account. Valid options are `Storage`, -// `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. -// Defaults to `Storage`. +// Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. func (r *Account) AccountKind() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accountKind"]) } @@ -199,7 +203,7 @@ func (r *Account) AccountReplicationType() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accountReplicationType"]) } -// Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created +// Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. func (r *Account) AccountTier() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["accountTier"]) } @@ -213,6 +217,11 @@ func (r *Account) CustomDomain() *pulumi.Output { return r.s.State["customDomain"] } +// Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. +func (r *Account) EnableAdvancedThreatProtection() *pulumi.BoolOutput { + return (*pulumi.BoolOutput)(r.s.State["enableAdvancedThreatProtection"]) +} + // Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. func (r *Account) EnableBlobEncryption() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["enableBlobEncryption"]) @@ -239,8 +248,7 @@ func (r *Account) IsHnsEnabled() *pulumi.BoolOutput { return (*pulumi.BoolOutput)(r.s.State["isHnsEnabled"]) } -// Specifies the supported Azure location where the -// resource exists. Changing this forces a new resource to be created. +// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. func (r *Account) Location() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["location"]) } @@ -335,8 +343,12 @@ func (r *Account) PrimaryWebHost() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["primaryWebHost"]) } -// The name of the resource group in which to -// create the storage account. Changing this forces a new resource to be created. +// A Queue Property block as defined below. +func (r *Account) QueueProperties() *pulumi.Output { + return r.s.State["queueProperties"] +} + +// The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. func (r *Account) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } @@ -428,21 +440,21 @@ func (r *Account) Tags() *pulumi.MapOutput { // Input properties used for looking up and filtering Account resources. type AccountState struct { - // Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + // Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. AccessTier interface{} // The Encryption Source for this Storage Account. Possible values are `Microsoft.Keyvault` and `Microsoft.Storage`. Defaults to `Microsoft.Storage`. AccountEncryptionSource interface{} - // Defines the Kind of account. Valid options are `Storage`, - // `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - // Defaults to `Storage`. + // Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. AccountKind interface{} // Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS` and `ZRS`. AccountReplicationType interface{} - // Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + // Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. AccountTier interface{} AccountType interface{} // A `custom_domain` block as documented below. CustomDomain interface{} + // Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + EnableAdvancedThreatProtection interface{} // Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. EnableBlobEncryption interface{} // Boolean flag which controls if Encryption Services are enabled for File storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. @@ -454,8 +466,7 @@ type AccountState struct { Identity interface{} // Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created. IsHnsEnabled interface{} - // Specifies the supported Azure location where the - // resource exists. Changing this forces a new resource to be created. + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} // The Custom Domain Name to use for the Storage Account, which will be validated by Azure. Name interface{} @@ -493,8 +504,9 @@ type AccountState struct { PrimaryWebEndpoint interface{} // The hostname with port if applicable for web storage in the primary location. PrimaryWebHost interface{} - // The name of the resource group in which to - // create the storage account. Changing this forces a new resource to be created. + // A Queue Property block as defined below. + QueueProperties interface{} + // The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. ResourceGroupName interface{} // The secondary access key for the storage account. SecondaryAccessKey interface{} @@ -534,21 +546,21 @@ type AccountState struct { // The set of arguments for constructing a Account resource. type AccountArgs struct { - // Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + // Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. AccessTier interface{} // The Encryption Source for this Storage Account. Possible values are `Microsoft.Keyvault` and `Microsoft.Storage`. Defaults to `Microsoft.Storage`. AccountEncryptionSource interface{} - // Defines the Kind of account. Valid options are `Storage`, - // `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - // Defaults to `Storage`. + // Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. AccountKind interface{} // Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS` and `ZRS`. AccountReplicationType interface{} - // Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + // Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. AccountTier interface{} AccountType interface{} // A `custom_domain` block as documented below. CustomDomain interface{} + // Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + EnableAdvancedThreatProtection interface{} // Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. EnableBlobEncryption interface{} // Boolean flag which controls if Encryption Services are enabled for File storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. @@ -560,15 +572,15 @@ type AccountArgs struct { Identity interface{} // Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created. IsHnsEnabled interface{} - // Specifies the supported Azure location where the - // resource exists. Changing this forces a new resource to be created. + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location interface{} // The Custom Domain Name to use for the Storage Account, which will be validated by Azure. Name interface{} // A `network_rules` block as documented below. NetworkRules interface{} - // The name of the resource group in which to - // create the storage account. Changing this forces a new resource to be created. + // A Queue Property block as defined below. + QueueProperties interface{} + // The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. ResourceGroupName interface{} // A mapping of tags to assign to the resource. Tags interface{} diff --git a/sdk/go/azure/storage/container.go b/sdk/go/azure/storage/container.go index 47ef7bac51..88dd3016b6 100644 --- a/sdk/go/azure/storage/container.go +++ b/sdk/go/azure/storage/container.go @@ -8,7 +8,7 @@ import ( "github.com/pulumi/pulumi/sdk/go/pulumi" ) -// Manage an Azure Storage Container. +// Manage a Container within an Azure Storage Account. // // > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_container.html.markdown. type Container struct { @@ -18,24 +18,25 @@ type Container struct { // NewContainer registers a new resource with the given unique name, arguments, and options. func NewContainer(ctx *pulumi.Context, name string, args *ContainerArgs, opts ...pulumi.ResourceOpt) (*Container, error) { - if args == nil || args.ResourceGroupName == nil { - return nil, errors.New("missing required argument 'ResourceGroupName'") - } if args == nil || args.StorageAccountName == nil { return nil, errors.New("missing required argument 'StorageAccountName'") } inputs := make(map[string]interface{}) if args == nil { inputs["containerAccessType"] = nil + inputs["metadata"] = nil inputs["name"] = nil inputs["resourceGroupName"] = nil inputs["storageAccountName"] = nil } else { inputs["containerAccessType"] = args.ContainerAccessType + inputs["metadata"] = args.Metadata inputs["name"] = args.Name inputs["resourceGroupName"] = args.ResourceGroupName inputs["storageAccountName"] = args.StorageAccountName } + inputs["hasImmutabilityPolicy"] = nil + inputs["hasLegalHold"] = nil inputs["properties"] = nil s, err := ctx.RegisterResource("azure:storage/container:Container", name, true, inputs, opts...) if err != nil { @@ -51,6 +52,9 @@ func GetContainer(ctx *pulumi.Context, inputs := make(map[string]interface{}) if state != nil { inputs["containerAccessType"] = state.ContainerAccessType + inputs["hasImmutabilityPolicy"] = state.HasImmutabilityPolicy + inputs["hasLegalHold"] = state.HasLegalHold + inputs["metadata"] = state.Metadata inputs["name"] = state.Name inputs["properties"] = state.Properties inputs["resourceGroupName"] = state.ResourceGroupName @@ -73,59 +77,76 @@ func (r *Container) ID() *pulumi.IDOutput { return r.s.ID() } -// The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. +// The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. func (r *Container) ContainerAccessType() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["containerAccessType"]) } -// The name of the storage container. Must be unique within the storage service the container is located. +// Is there an Immutability Policy configured on this Storage Container? +func (r *Container) HasImmutabilityPolicy() *pulumi.BoolOutput { + return (*pulumi.BoolOutput)(r.s.State["hasImmutabilityPolicy"]) +} + +// Is there a Legal Hold configured on this Storage Container? +func (r *Container) HasLegalHold() *pulumi.BoolOutput { + return (*pulumi.BoolOutput)(r.s.State["hasLegalHold"]) +} + +// A mapping of MetaData for this Container. +func (r *Container) Metadata() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["metadata"]) +} + +// The name of the Container which should be created within the Storage Account. func (r *Container) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) } -// Key-value definition of additional properties associated to the storage container +// (**Deprecated**) Key-value definition of additional properties associated to the Storage Container func (r *Container) Properties() *pulumi.MapOutput { return (*pulumi.MapOutput)(r.s.State["properties"]) } -// The name of the resource group in which to -// create the storage container. Changing this forces a new resource to be created. +// The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. func (r *Container) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } -// Specifies the storage account in which to create the storage container. -// Changing this forces a new resource to be created. +// The name of the Storage Account where the Container should be created. func (r *Container) StorageAccountName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["storageAccountName"]) } // Input properties used for looking up and filtering Container resources. type ContainerState struct { - // The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + // The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. ContainerAccessType interface{} - // The name of the storage container. Must be unique within the storage service the container is located. + // Is there an Immutability Policy configured on this Storage Container? + HasImmutabilityPolicy interface{} + // Is there a Legal Hold configured on this Storage Container? + HasLegalHold interface{} + // A mapping of MetaData for this Container. + Metadata interface{} + // The name of the Container which should be created within the Storage Account. Name interface{} - // Key-value definition of additional properties associated to the storage container + // (**Deprecated**) Key-value definition of additional properties associated to the Storage Container Properties interface{} - // The name of the resource group in which to - // create the storage container. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. ResourceGroupName interface{} - // Specifies the storage account in which to create the storage container. - // Changing this forces a new resource to be created. + // The name of the Storage Account where the Container should be created. StorageAccountName interface{} } // The set of arguments for constructing a Container resource. type ContainerArgs struct { - // The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + // The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. ContainerAccessType interface{} - // The name of the storage container. Must be unique within the storage service the container is located. + // A mapping of MetaData for this Container. + Metadata interface{} + // The name of the Container which should be created within the Storage Account. Name interface{} - // The name of the resource group in which to - // create the storage container. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. ResourceGroupName interface{} - // Specifies the storage account in which to create the storage container. - // Changing this forces a new resource to be created. + // The name of the Storage Account where the Container should be created. StorageAccountName interface{} } diff --git a/sdk/go/azure/storage/queue.go b/sdk/go/azure/storage/queue.go index 201105c71c..4002698057 100644 --- a/sdk/go/azure/storage/queue.go +++ b/sdk/go/azure/storage/queue.go @@ -8,7 +8,7 @@ import ( "github.com/pulumi/pulumi/sdk/go/pulumi" ) -// Manage an Azure Storage Queue. +// Manages a Queue within an Azure Storage Account. // // > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_queue.html.markdown. type Queue struct { @@ -18,18 +18,17 @@ type Queue struct { // NewQueue registers a new resource with the given unique name, arguments, and options. func NewQueue(ctx *pulumi.Context, name string, args *QueueArgs, opts ...pulumi.ResourceOpt) (*Queue, error) { - if args == nil || args.ResourceGroupName == nil { - return nil, errors.New("missing required argument 'ResourceGroupName'") - } if args == nil || args.StorageAccountName == nil { return nil, errors.New("missing required argument 'StorageAccountName'") } inputs := make(map[string]interface{}) if args == nil { + inputs["metadata"] = nil inputs["name"] = nil inputs["resourceGroupName"] = nil inputs["storageAccountName"] = nil } else { + inputs["metadata"] = args.Metadata inputs["name"] = args.Name inputs["resourceGroupName"] = args.ResourceGroupName inputs["storageAccountName"] = args.StorageAccountName @@ -47,6 +46,7 @@ func GetQueue(ctx *pulumi.Context, name string, id pulumi.ID, state *QueueState, opts ...pulumi.ResourceOpt) (*Queue, error) { inputs := make(map[string]interface{}) if state != nil { + inputs["metadata"] = state.Metadata inputs["name"] = state.Name inputs["resourceGroupName"] = state.ResourceGroupName inputs["storageAccountName"] = state.StorageAccountName @@ -68,43 +68,46 @@ func (r *Queue) ID() *pulumi.IDOutput { return r.s.ID() } -// The name of the storage queue. Must be unique within the storage account the queue is located. +// A mapping of MetaData which should be assigned to this Storage Queue. +func (r *Queue) Metadata() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["metadata"]) +} + +// The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. func (r *Queue) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) } -// The name of the resource group in which to -// create the storage queue. Changing this forces a new resource to be created. +// The name of the resource group in which to create the storage queue. func (r *Queue) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } -// Specifies the storage account in which to create the storage queue. -// Changing this forces a new resource to be created. +// Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. func (r *Queue) StorageAccountName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["storageAccountName"]) } // Input properties used for looking up and filtering Queue resources. type QueueState struct { - // The name of the storage queue. Must be unique within the storage account the queue is located. + // A mapping of MetaData which should be assigned to this Storage Queue. + Metadata interface{} + // The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. Name interface{} - // The name of the resource group in which to - // create the storage queue. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage queue. ResourceGroupName interface{} - // Specifies the storage account in which to create the storage queue. - // Changing this forces a new resource to be created. + // Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. StorageAccountName interface{} } // The set of arguments for constructing a Queue resource. type QueueArgs struct { - // The name of the storage queue. Must be unique within the storage account the queue is located. + // A mapping of MetaData which should be assigned to this Storage Queue. + Metadata interface{} + // The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. Name interface{} - // The name of the resource group in which to - // create the storage queue. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage queue. ResourceGroupName interface{} - // Specifies the storage account in which to create the storage queue. - // Changing this forces a new resource to be created. + // Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. StorageAccountName interface{} } diff --git a/sdk/go/azure/storage/share.go b/sdk/go/azure/storage/share.go index 9f030702cf..4142bb556f 100644 --- a/sdk/go/azure/storage/share.go +++ b/sdk/go/azure/storage/share.go @@ -8,7 +8,7 @@ import ( "github.com/pulumi/pulumi/sdk/go/pulumi" ) -// Manage an Azure Storage File Share. +// Manages a File Share within Azure Storage. // // > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_share.html.markdown. type Share struct { @@ -18,19 +18,20 @@ type Share struct { // NewShare registers a new resource with the given unique name, arguments, and options. func NewShare(ctx *pulumi.Context, name string, args *ShareArgs, opts ...pulumi.ResourceOpt) (*Share, error) { - if args == nil || args.ResourceGroupName == nil { - return nil, errors.New("missing required argument 'ResourceGroupName'") - } if args == nil || args.StorageAccountName == nil { return nil, errors.New("missing required argument 'StorageAccountName'") } inputs := make(map[string]interface{}) if args == nil { + inputs["acls"] = nil + inputs["metadata"] = nil inputs["name"] = nil inputs["quota"] = nil inputs["resourceGroupName"] = nil inputs["storageAccountName"] = nil } else { + inputs["acls"] = args.Acls + inputs["metadata"] = args.Metadata inputs["name"] = args.Name inputs["quota"] = args.Quota inputs["resourceGroupName"] = args.ResourceGroupName @@ -50,6 +51,8 @@ func GetShare(ctx *pulumi.Context, name string, id pulumi.ID, state *ShareState, opts ...pulumi.ResourceOpt) (*Share, error) { inputs := make(map[string]interface{}) if state != nil { + inputs["acls"] = state.Acls + inputs["metadata"] = state.Metadata inputs["name"] = state.Name inputs["quota"] = state.Quota inputs["resourceGroupName"] = state.ResourceGroupName @@ -73,6 +76,16 @@ func (r *Share) ID() *pulumi.IDOutput { return r.s.ID() } +// One or more `acl` blocks as defined below. +func (r *Share) Acls() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["acls"]) +} + +// A mapping of MetaData for this File Share. +func (r *Share) Metadata() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["metadata"]) +} + // The name of the share. Must be unique within the storage account where the share is located. func (r *Share) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) @@ -95,13 +108,17 @@ func (r *Share) StorageAccountName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["storageAccountName"]) } -// The URL of the share +// The URL of the File Share func (r *Share) Url() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["url"]) } // Input properties used for looking up and filtering Share resources. type ShareState struct { + // One or more `acl` blocks as defined below. + Acls interface{} + // A mapping of MetaData for this File Share. + Metadata interface{} // The name of the share. Must be unique within the storage account where the share is located. Name interface{} // The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5 TB (5120 GB). Default is 5120. @@ -112,12 +129,16 @@ type ShareState struct { // Specifies the storage account in which to create the share. // Changing this forces a new resource to be created. StorageAccountName interface{} - // The URL of the share + // The URL of the File Share Url interface{} } // The set of arguments for constructing a Share resource. type ShareArgs struct { + // One or more `acl` blocks as defined below. + Acls interface{} + // A mapping of MetaData for this File Share. + Metadata interface{} // The name of the share. Must be unique within the storage account where the share is located. Name interface{} // The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5 TB (5120 GB). Default is 5120. diff --git a/sdk/go/azure/storage/shareDirectory.go b/sdk/go/azure/storage/shareDirectory.go new file mode 100644 index 0000000000..e054ca264a --- /dev/null +++ b/sdk/go/azure/storage/shareDirectory.go @@ -0,0 +1,116 @@ +// *** 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! *** + +package storage + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manage a Directory within an Azure Storage File Share. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_share_directory.html.markdown. +type ShareDirectory struct { + s *pulumi.ResourceState +} + +// NewShareDirectory registers a new resource with the given unique name, arguments, and options. +func NewShareDirectory(ctx *pulumi.Context, + name string, args *ShareDirectoryArgs, opts ...pulumi.ResourceOpt) (*ShareDirectory, error) { + if args == nil || args.ShareName == nil { + return nil, errors.New("missing required argument 'ShareName'") + } + if args == nil || args.StorageAccountName == nil { + return nil, errors.New("missing required argument 'StorageAccountName'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["metadata"] = nil + inputs["name"] = nil + inputs["shareName"] = nil + inputs["storageAccountName"] = nil + } else { + inputs["metadata"] = args.Metadata + inputs["name"] = args.Name + inputs["shareName"] = args.ShareName + inputs["storageAccountName"] = args.StorageAccountName + } + s, err := ctx.RegisterResource("azure:storage/shareDirectory:ShareDirectory", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &ShareDirectory{s: s}, nil +} + +// GetShareDirectory gets an existing ShareDirectory 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 GetShareDirectory(ctx *pulumi.Context, + name string, id pulumi.ID, state *ShareDirectoryState, opts ...pulumi.ResourceOpt) (*ShareDirectory, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["metadata"] = state.Metadata + inputs["name"] = state.Name + inputs["shareName"] = state.ShareName + inputs["storageAccountName"] = state.StorageAccountName + } + s, err := ctx.ReadResource("azure:storage/shareDirectory:ShareDirectory", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &ShareDirectory{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *ShareDirectory) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *ShareDirectory) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// A mapping of metadata to assign to this Directory. +func (r *ShareDirectory) Metadata() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["metadata"]) +} + +// The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. +func (r *ShareDirectory) Name() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["name"]) +} + +// The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. +func (r *ShareDirectory) ShareName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["shareName"]) +} + +// The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. +func (r *ShareDirectory) StorageAccountName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["storageAccountName"]) +} + +// Input properties used for looking up and filtering ShareDirectory resources. +type ShareDirectoryState struct { + // A mapping of metadata to assign to this Directory. + Metadata interface{} + // The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + Name interface{} + // The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + ShareName interface{} + // The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + StorageAccountName interface{} +} + +// The set of arguments for constructing a ShareDirectory resource. +type ShareDirectoryArgs struct { + // A mapping of metadata to assign to this Directory. + Metadata interface{} + // The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + Name interface{} + // The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + ShareName interface{} + // The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + StorageAccountName interface{} +} diff --git a/sdk/go/azure/storage/table.go b/sdk/go/azure/storage/table.go index 1dfde4aa9f..1cbe831274 100644 --- a/sdk/go/azure/storage/table.go +++ b/sdk/go/azure/storage/table.go @@ -8,7 +8,7 @@ import ( "github.com/pulumi/pulumi/sdk/go/pulumi" ) -// Manage an Azure Storage Table. +// Manage a Table within an Azure Storage Account. // // > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_table.html.markdown. type Table struct { @@ -18,18 +18,17 @@ type Table struct { // NewTable registers a new resource with the given unique name, arguments, and options. func NewTable(ctx *pulumi.Context, name string, args *TableArgs, opts ...pulumi.ResourceOpt) (*Table, error) { - if args == nil || args.ResourceGroupName == nil { - return nil, errors.New("missing required argument 'ResourceGroupName'") - } if args == nil || args.StorageAccountName == nil { return nil, errors.New("missing required argument 'StorageAccountName'") } inputs := make(map[string]interface{}) if args == nil { + inputs["acls"] = nil inputs["name"] = nil inputs["resourceGroupName"] = nil inputs["storageAccountName"] = nil } else { + inputs["acls"] = args.Acls inputs["name"] = args.Name inputs["resourceGroupName"] = args.ResourceGroupName inputs["storageAccountName"] = args.StorageAccountName @@ -47,6 +46,7 @@ func GetTable(ctx *pulumi.Context, name string, id pulumi.ID, state *TableState, opts ...pulumi.ResourceOpt) (*Table, error) { inputs := make(map[string]interface{}) if state != nil { + inputs["acls"] = state.Acls inputs["name"] = state.Name inputs["resourceGroupName"] = state.ResourceGroupName inputs["storageAccountName"] = state.StorageAccountName @@ -68,13 +68,17 @@ func (r *Table) ID() *pulumi.IDOutput { return r.s.ID() } +// One or more `acl` blocks as defined below. +func (r *Table) Acls() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["acls"]) +} + // The name of the storage table. Must be unique within the storage account the table is located. func (r *Table) Name() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["name"]) } -// The name of the resource group in which to -// create the storage table. Changing this forces a new resource to be created. +// The name of the resource group in which to create the storage table. func (r *Table) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } @@ -87,10 +91,11 @@ func (r *Table) StorageAccountName() *pulumi.StringOutput { // Input properties used for looking up and filtering Table resources. type TableState struct { + // One or more `acl` blocks as defined below. + Acls interface{} // The name of the storage table. Must be unique within the storage account the table is located. Name interface{} - // The name of the resource group in which to - // create the storage table. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage table. ResourceGroupName interface{} // Specifies the storage account in which to create the storage table. // Changing this forces a new resource to be created. @@ -99,10 +104,11 @@ type TableState struct { // The set of arguments for constructing a Table resource. type TableArgs struct { + // One or more `acl` blocks as defined below. + Acls interface{} // The name of the storage table. Must be unique within the storage account the table is located. Name interface{} - // The name of the resource group in which to - // create the storage table. Changing this forces a new resource to be created. + // The name of the resource group in which to create the storage table. ResourceGroupName interface{} // Specifies the storage account in which to create the storage table. // Changing this forces a new resource to be created. diff --git a/sdk/go/azure/storage/tableEntity.go b/sdk/go/azure/storage/tableEntity.go new file mode 100644 index 0000000000..085af8fa59 --- /dev/null +++ b/sdk/go/azure/storage/tableEntity.go @@ -0,0 +1,143 @@ +// *** 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! *** + +package storage + +import ( + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/go/pulumi" +) + +// Manages an Entity within a Table in an Azure Storage Account. +// +// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_table_entity.html.markdown. +type TableEntity struct { + s *pulumi.ResourceState +} + +// NewTableEntity registers a new resource with the given unique name, arguments, and options. +func NewTableEntity(ctx *pulumi.Context, + name string, args *TableEntityArgs, opts ...pulumi.ResourceOpt) (*TableEntity, error) { + if args == nil || args.Entity == nil { + return nil, errors.New("missing required argument 'Entity'") + } + if args == nil || args.PartitionKey == nil { + return nil, errors.New("missing required argument 'PartitionKey'") + } + if args == nil || args.RowKey == nil { + return nil, errors.New("missing required argument 'RowKey'") + } + if args == nil || args.StorageAccountName == nil { + return nil, errors.New("missing required argument 'StorageAccountName'") + } + if args == nil || args.TableName == nil { + return nil, errors.New("missing required argument 'TableName'") + } + inputs := make(map[string]interface{}) + if args == nil { + inputs["entity"] = nil + inputs["partitionKey"] = nil + inputs["rowKey"] = nil + inputs["storageAccountName"] = nil + inputs["tableName"] = nil + } else { + inputs["entity"] = args.Entity + inputs["partitionKey"] = args.PartitionKey + inputs["rowKey"] = args.RowKey + inputs["storageAccountName"] = args.StorageAccountName + inputs["tableName"] = args.TableName + } + s, err := ctx.RegisterResource("azure:storage/tableEntity:TableEntity", name, true, inputs, opts...) + if err != nil { + return nil, err + } + return &TableEntity{s: s}, nil +} + +// GetTableEntity gets an existing TableEntity 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 GetTableEntity(ctx *pulumi.Context, + name string, id pulumi.ID, state *TableEntityState, opts ...pulumi.ResourceOpt) (*TableEntity, error) { + inputs := make(map[string]interface{}) + if state != nil { + inputs["entity"] = state.Entity + inputs["partitionKey"] = state.PartitionKey + inputs["rowKey"] = state.RowKey + inputs["storageAccountName"] = state.StorageAccountName + inputs["tableName"] = state.TableName + } + s, err := ctx.ReadResource("azure:storage/tableEntity:TableEntity", name, id, inputs, opts...) + if err != nil { + return nil, err + } + return &TableEntity{s: s}, nil +} + +// URN is this resource's unique name assigned by Pulumi. +func (r *TableEntity) URN() *pulumi.URNOutput { + return r.s.URN() +} + +// ID is this resource's unique identifier assigned by its provider. +func (r *TableEntity) ID() *pulumi.IDOutput { + return r.s.ID() +} + +// A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. +func (r *TableEntity) Entity() *pulumi.MapOutput { + return (*pulumi.MapOutput)(r.s.State["entity"]) +} + +// The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. +func (r *TableEntity) PartitionKey() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["partitionKey"]) +} + +// The key for the row where the entity will be inserted/merged. Changing this forces a new resource. +func (r *TableEntity) RowKey() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["rowKey"]) +} + +// Specifies the storage account in which to create the storage table entity. +// Changing this forces a new resource to be created. +func (r *TableEntity) StorageAccountName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["storageAccountName"]) +} + +// The name of the storage table in which to create the storage table entity. +// Changing this forces a new resource to be created. +func (r *TableEntity) TableName() *pulumi.StringOutput { + return (*pulumi.StringOutput)(r.s.State["tableName"]) +} + +// Input properties used for looking up and filtering TableEntity resources. +type TableEntityState struct { + // A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + Entity interface{} + // The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + PartitionKey interface{} + // The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + RowKey interface{} + // Specifies the storage account in which to create the storage table entity. + // Changing this forces a new resource to be created. + StorageAccountName interface{} + // The name of the storage table in which to create the storage table entity. + // Changing this forces a new resource to be created. + TableName interface{} +} + +// The set of arguments for constructing a TableEntity resource. +type TableEntityArgs struct { + // A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + Entity interface{} + // The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + PartitionKey interface{} + // The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + RowKey interface{} + // Specifies the storage account in which to create the storage table entity. + // Changing this forces a new resource to be created. + StorageAccountName interface{} + // The name of the storage table in which to create the storage table entity. + // Changing this forces a new resource to be created. + TableName interface{} +} diff --git a/sdk/go/azure/trafficmanager/endpoint.go b/sdk/go/azure/trafficmanager/endpoint.go index b59e65f1eb..ab2338878d 100644 --- a/sdk/go/azure/trafficmanager/endpoint.go +++ b/sdk/go/azure/trafficmanager/endpoint.go @@ -29,6 +29,7 @@ func NewEndpoint(ctx *pulumi.Context, } inputs := make(map[string]interface{}) if args == nil { + inputs["customHeaders"] = nil inputs["endpointLocation"] = nil inputs["endpointStatus"] = nil inputs["geoMappings"] = nil @@ -37,11 +38,13 @@ func NewEndpoint(ctx *pulumi.Context, inputs["priority"] = nil inputs["profileName"] = nil inputs["resourceGroupName"] = nil + inputs["subnets"] = nil inputs["target"] = nil inputs["targetResourceId"] = nil inputs["type"] = nil inputs["weight"] = nil } else { + inputs["customHeaders"] = args.CustomHeaders inputs["endpointLocation"] = args.EndpointLocation inputs["endpointStatus"] = args.EndpointStatus inputs["geoMappings"] = args.GeoMappings @@ -50,6 +53,7 @@ func NewEndpoint(ctx *pulumi.Context, inputs["priority"] = args.Priority inputs["profileName"] = args.ProfileName inputs["resourceGroupName"] = args.ResourceGroupName + inputs["subnets"] = args.Subnets inputs["target"] = args.Target inputs["targetResourceId"] = args.TargetResourceId inputs["type"] = args.Type @@ -69,6 +73,7 @@ func GetEndpoint(ctx *pulumi.Context, name string, id pulumi.ID, state *EndpointState, opts ...pulumi.ResourceOpt) (*Endpoint, error) { inputs := make(map[string]interface{}) if state != nil { + inputs["customHeaders"] = state.CustomHeaders inputs["endpointLocation"] = state.EndpointLocation inputs["endpointMonitorStatus"] = state.EndpointMonitorStatus inputs["endpointStatus"] = state.EndpointStatus @@ -78,6 +83,7 @@ func GetEndpoint(ctx *pulumi.Context, inputs["priority"] = state.Priority inputs["profileName"] = state.ProfileName inputs["resourceGroupName"] = state.ResourceGroupName + inputs["subnets"] = state.Subnets inputs["target"] = state.Target inputs["targetResourceId"] = state.TargetResourceId inputs["type"] = state.Type @@ -100,6 +106,11 @@ func (r *Endpoint) ID() *pulumi.IDOutput { return r.s.ID() } +// One or more `custom_header` blocks as defined below +func (r *Endpoint) CustomHeaders() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["customHeaders"]) +} + // Specifies the Azure location of the Endpoint, // this must be specified for Profiles using the `Performance` routing method // if the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`. @@ -159,6 +170,11 @@ func (r *Endpoint) ResourceGroupName() *pulumi.StringOutput { return (*pulumi.StringOutput)(r.s.State["resourceGroupName"]) } +// One or more `subnet` blocks as defined below +func (r *Endpoint) Subnets() *pulumi.ArrayOutput { + return (*pulumi.ArrayOutput)(r.s.State["subnets"]) +} + // The FQDN DNS name of the target. This argument must be // provided for an endpoint of type `externalEndpoints`, for other types it // will be computed. @@ -190,6 +206,8 @@ func (r *Endpoint) Weight() *pulumi.IntOutput { // Input properties used for looking up and filtering Endpoint resources. type EndpointState struct { + // One or more `custom_header` blocks as defined below + CustomHeaders interface{} // Specifies the Azure location of the Endpoint, // this must be specified for Profiles using the `Performance` routing method // if the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`. @@ -222,6 +240,8 @@ type EndpointState struct { // The name of the resource group in which to // create the Traffic Manager endpoint. ResourceGroupName interface{} + // One or more `subnet` blocks as defined below + Subnets interface{} // The FQDN DNS name of the target. This argument must be // provided for an endpoint of type `externalEndpoints`, for other types it // will be computed. @@ -243,6 +263,8 @@ type EndpointState struct { // The set of arguments for constructing a Endpoint resource. type EndpointArgs struct { + // One or more `custom_header` blocks as defined below + CustomHeaders interface{} // Specifies the Azure location of the Endpoint, // this must be specified for Profiles using the `Performance` routing method // if the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`. @@ -274,6 +296,8 @@ type EndpointArgs struct { // The name of the resource group in which to // create the Traffic Manager endpoint. ResourceGroupName interface{} + // One or more `subnet` blocks as defined below + Subnets interface{} // The FQDN DNS name of the target. This argument must be // provided for an endpoint of type `externalEndpoints`, for other types it // will be computed. diff --git a/sdk/nodejs/analysisservices/README.md b/sdk/nodejs/analysisservices/README.md new file mode 100644 index 0000000000..94a5c24325 --- /dev/null +++ b/sdk/nodejs/analysisservices/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). diff --git a/sdk/nodejs/analysisservices/index.ts b/sdk/nodejs/analysisservices/index.ts new file mode 100644 index 0000000000..71cbf5b70b --- /dev/null +++ b/sdk/nodejs/analysisservices/index.ts @@ -0,0 +1,5 @@ +// *** 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! *** + +// Export members: +export * from "./server"; diff --git a/sdk/nodejs/analysisservices/server.ts b/sdk/nodejs/analysisservices/server.ts new file mode 100644 index 0000000000..3631d4dd47 --- /dev/null +++ b/sdk/nodejs/analysisservices/server.ts @@ -0,0 +1,227 @@ +// *** 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 Analysis Services Server. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const rg = new azure.core.ResourceGroup("rg", { + * location: "northeurope", + * name: "analysis-services-server-test", + * }); + * const server = new azure.analysisservices.Server("server", { + * adminUsers: ["myuser@domain.tld"], + * enablePowerBiService: true, + * ipv4FirewallRules: [{ + * name: "myRule1", + * rangeEnd: "210.117.252.255", + * rangeStart: "210.117.252.0", + * }], + * location: "northeurope", + * name: "analysisservicesserver", + * resourceGroupName: rg.name, + * sku: "S0", + * tags: { + * abc: 123, + * }, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/analysis_services_server.html.markdown. + */ +export class Server extends pulumi.CustomResource { + /** + * Get an existing Server 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. + */ + public static get(name: string, id: pulumi.Input, state?: ServerState, opts?: pulumi.CustomResourceOptions): Server { + return new Server(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:analysisservices/server:Server'; + + /** + * Returns true if the given object is an instance of Server. 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 Server { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Server.__pulumiType; + } + + /** + * List of email addresses of admin users. + */ + public readonly adminUsers!: pulumi.Output; + /** + * Indicates if the Power BI service is allowed to access or not. + */ + public readonly enablePowerBiService!: pulumi.Output; + /** + * One or more `ipv4_firewall_rule` block(s) as defined below. + */ + public readonly ipv4FirewallRules!: pulumi.Output<{ name: string, rangeEnd: string, rangeStart: string }[] | undefined>; + /** + * The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + */ + public readonly location!: pulumi.Output; + /** + * Specifies the name of the firewall rule. + */ + public readonly name!: pulumi.Output; + /** + * Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + */ + public readonly querypoolConnectionMode!: pulumi.Output; + /** + * The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + */ + public readonly sku!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: any}>; + + /** + * Create a Server 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: ServerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ServerArgs | ServerState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as ServerState | undefined; + inputs["adminUsers"] = state ? state.adminUsers : undefined; + inputs["enablePowerBiService"] = state ? state.enablePowerBiService : undefined; + inputs["ipv4FirewallRules"] = state ? state.ipv4FirewallRules : undefined; + inputs["location"] = state ? state.location : undefined; + inputs["name"] = state ? state.name : undefined; + inputs["querypoolConnectionMode"] = state ? state.querypoolConnectionMode : undefined; + inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + inputs["sku"] = state ? state.sku : undefined; + inputs["tags"] = state ? state.tags : undefined; + } else { + const args = argsOrState as ServerArgs | undefined; + if (!args || args.resourceGroupName === undefined) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if (!args || args.sku === undefined) { + throw new Error("Missing required property 'sku'"); + } + inputs["adminUsers"] = args ? args.adminUsers : undefined; + inputs["enablePowerBiService"] = args ? args.enablePowerBiService : undefined; + inputs["ipv4FirewallRules"] = args ? args.ipv4FirewallRules : undefined; + inputs["location"] = args ? args.location : undefined; + inputs["name"] = args ? args.name : undefined; + inputs["querypoolConnectionMode"] = args ? args.querypoolConnectionMode : undefined; + inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + inputs["sku"] = args ? args.sku : undefined; + inputs["tags"] = args ? args.tags : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(Server.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Server resources. + */ +export interface ServerState { + /** + * List of email addresses of admin users. + */ + readonly adminUsers?: pulumi.Input[]>; + /** + * Indicates if the Power BI service is allowed to access or not. + */ + readonly enablePowerBiService?: pulumi.Input; + /** + * One or more `ipv4_firewall_rule` block(s) as defined below. + */ + readonly ipv4FirewallRules?: pulumi.Input, rangeEnd: pulumi.Input, rangeStart: pulumi.Input }>[]>; + /** + * The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + */ + readonly location?: pulumi.Input; + /** + * Specifies the name of the firewall rule. + */ + readonly name?: pulumi.Input; + /** + * Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + */ + readonly querypoolConnectionMode?: pulumi.Input; + /** + * The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + */ + readonly resourceGroupName?: pulumi.Input; + /** + * SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + */ + readonly sku?: pulumi.Input; + readonly tags?: pulumi.Input<{[key: string]: any}>; +} + +/** + * The set of arguments for constructing a Server resource. + */ +export interface ServerArgs { + /** + * List of email addresses of admin users. + */ + readonly adminUsers?: pulumi.Input[]>; + /** + * Indicates if the Power BI service is allowed to access or not. + */ + readonly enablePowerBiService?: pulumi.Input; + /** + * One or more `ipv4_firewall_rule` block(s) as defined below. + */ + readonly ipv4FirewallRules?: pulumi.Input, rangeEnd: pulumi.Input, rangeStart: pulumi.Input }>[]>; + /** + * The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + */ + readonly location?: pulumi.Input; + /** + * Specifies the name of the firewall rule. + */ + readonly name?: pulumi.Input; + /** + * Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + */ + readonly querypoolConnectionMode?: pulumi.Input; + /** + * The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + */ + readonly resourceGroupName: pulumi.Input; + /** + * SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + */ + readonly sku: pulumi.Input; + readonly tags?: pulumi.Input<{[key: string]: any}>; +} diff --git a/sdk/nodejs/apimanagement/backend.ts b/sdk/nodejs/apimanagement/backend.ts new file mode 100644 index 0000000000..a94c4b13a4 --- /dev/null +++ b/sdk/nodejs/apimanagement/backend.ts @@ -0,0 +1,254 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/api_management_backend.html.markdown. + */ +export class Backend extends pulumi.CustomResource { + /** + * Get an existing Backend 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. + */ + public static get(name: string, id: pulumi.Input, state?: BackendState, opts?: pulumi.CustomResourceOptions): Backend { + return new Backend(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:apimanagement/backend:Backend'; + + /** + * Returns true if the given object is an instance of Backend. 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 Backend { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Backend.__pulumiType; + } + + /** + * The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + */ + public readonly apiManagementName!: pulumi.Output; + /** + * A `credentials` block as documented below. + */ + public readonly credentials!: pulumi.Output<{ authorization?: { parameter?: string, scheme?: string }, certificates?: string[], header?: {[key: string]: string}, query?: {[key: string]: string} } | undefined>; + /** + * The description of the backend. + */ + public readonly description!: pulumi.Output; + /** + * The name of the API Management backend. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The protocol used by the backend host. Possible values are `http` or `soap`. + */ + public readonly protocol!: pulumi.Output; + /** + * A `proxy` block as documented below. + */ + public readonly proxy!: pulumi.Output<{ password?: string, url: string, username: string } | undefined>; + /** + * The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + */ + public readonly resourceId!: pulumi.Output; + /** + * A `service_fabric_cluster` block as documented below. + */ + public readonly serviceFabricCluster!: pulumi.Output<{ clientCertificateThumbprint: string, managementEndpoints: string[], maxPartitionResolutionRetries: number, serverCertificateThumbprints?: string[], serverX509Names?: { issuerCertificateThumbprint: string, name: string }[] } | undefined>; + /** + * The title of the backend. + */ + public readonly title!: pulumi.Output; + /** + * A `tls` block as documented below. + */ + public readonly tls!: pulumi.Output<{ validateCertificateChain?: boolean, validateCertificateName?: boolean } | undefined>; + /** + * The URL of the backend host. + */ + public readonly url!: pulumi.Output; + + /** + * Create a Backend 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: BackendArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: BackendArgs | BackendState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as BackendState | undefined; + inputs["apiManagementName"] = state ? state.apiManagementName : undefined; + inputs["credentials"] = state ? state.credentials : undefined; + inputs["description"] = state ? state.description : undefined; + inputs["name"] = state ? state.name : undefined; + inputs["protocol"] = state ? state.protocol : undefined; + inputs["proxy"] = state ? state.proxy : undefined; + inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + inputs["resourceId"] = state ? state.resourceId : undefined; + inputs["serviceFabricCluster"] = state ? state.serviceFabricCluster : undefined; + inputs["title"] = state ? state.title : undefined; + inputs["tls"] = state ? state.tls : undefined; + inputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as BackendArgs | undefined; + if (!args || args.apiManagementName === undefined) { + throw new Error("Missing required property 'apiManagementName'"); + } + if (!args || args.protocol === undefined) { + throw new Error("Missing required property 'protocol'"); + } + if (!args || args.resourceGroupName === undefined) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if (!args || args.url === undefined) { + throw new Error("Missing required property 'url'"); + } + inputs["apiManagementName"] = args ? args.apiManagementName : undefined; + inputs["credentials"] = args ? args.credentials : undefined; + inputs["description"] = args ? args.description : undefined; + inputs["name"] = args ? args.name : undefined; + inputs["protocol"] = args ? args.protocol : undefined; + inputs["proxy"] = args ? args.proxy : undefined; + inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + inputs["resourceId"] = args ? args.resourceId : undefined; + inputs["serviceFabricCluster"] = args ? args.serviceFabricCluster : undefined; + inputs["title"] = args ? args.title : undefined; + inputs["tls"] = args ? args.tls : undefined; + inputs["url"] = args ? args.url : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(Backend.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Backend resources. + */ +export interface BackendState { + /** + * The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + */ + readonly apiManagementName?: pulumi.Input; + /** + * A `credentials` block as documented below. + */ + readonly credentials?: pulumi.Input<{ authorization?: pulumi.Input<{ parameter?: pulumi.Input, scheme?: pulumi.Input }>, certificates?: pulumi.Input[]>, header?: pulumi.Input<{[key: string]: pulumi.Input}>, query?: pulumi.Input<{[key: string]: pulumi.Input}> }>; + /** + * The description of the backend. + */ + readonly description?: pulumi.Input; + /** + * The name of the API Management backend. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The protocol used by the backend host. Possible values are `http` or `soap`. + */ + readonly protocol?: pulumi.Input; + /** + * A `proxy` block as documented below. + */ + readonly proxy?: pulumi.Input<{ password?: pulumi.Input, url: pulumi.Input, username: pulumi.Input }>; + /** + * The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + */ + readonly resourceGroupName?: pulumi.Input; + /** + * The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + */ + readonly resourceId?: pulumi.Input; + /** + * A `service_fabric_cluster` block as documented below. + */ + readonly serviceFabricCluster?: pulumi.Input<{ clientCertificateThumbprint: pulumi.Input, managementEndpoints: pulumi.Input[]>, maxPartitionResolutionRetries: pulumi.Input, serverCertificateThumbprints?: pulumi.Input[]>, serverX509Names?: pulumi.Input, name: pulumi.Input }>[]> }>; + /** + * The title of the backend. + */ + readonly title?: pulumi.Input; + /** + * A `tls` block as documented below. + */ + readonly tls?: pulumi.Input<{ validateCertificateChain?: pulumi.Input, validateCertificateName?: pulumi.Input }>; + /** + * The URL of the backend host. + */ + readonly url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Backend resource. + */ +export interface BackendArgs { + /** + * The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + */ + readonly apiManagementName: pulumi.Input; + /** + * A `credentials` block as documented below. + */ + readonly credentials?: pulumi.Input<{ authorization?: pulumi.Input<{ parameter?: pulumi.Input, scheme?: pulumi.Input }>, certificates?: pulumi.Input[]>, header?: pulumi.Input<{[key: string]: pulumi.Input}>, query?: pulumi.Input<{[key: string]: pulumi.Input}> }>; + /** + * The description of the backend. + */ + readonly description?: pulumi.Input; + /** + * The name of the API Management backend. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The protocol used by the backend host. Possible values are `http` or `soap`. + */ + readonly protocol: pulumi.Input; + /** + * A `proxy` block as documented below. + */ + readonly proxy?: pulumi.Input<{ password?: pulumi.Input, url: pulumi.Input, username: pulumi.Input }>; + /** + * The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + */ + readonly resourceGroupName: pulumi.Input; + /** + * The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + */ + readonly resourceId?: pulumi.Input; + /** + * A `service_fabric_cluster` block as documented below. + */ + readonly serviceFabricCluster?: pulumi.Input<{ clientCertificateThumbprint: pulumi.Input, managementEndpoints: pulumi.Input[]>, maxPartitionResolutionRetries: pulumi.Input, serverCertificateThumbprints?: pulumi.Input[]>, serverX509Names?: pulumi.Input, name: pulumi.Input }>[]> }>; + /** + * The title of the backend. + */ + readonly title?: pulumi.Input; + /** + * A `tls` block as documented below. + */ + readonly tls?: pulumi.Input<{ validateCertificateChain?: pulumi.Input, validateCertificateName?: pulumi.Input }>; + /** + * The URL of the backend host. + */ + readonly url: pulumi.Input; +} diff --git a/sdk/nodejs/apimanagement/index.ts b/sdk/nodejs/apimanagement/index.ts index 287eeca09e..c2888e4dfe 100644 --- a/sdk/nodejs/apimanagement/index.ts +++ b/sdk/nodejs/apimanagement/index.ts @@ -9,6 +9,7 @@ export * from "./apiPolicy"; export * from "./apiSchema"; export * from "./apiVersionSet"; export * from "./authorizationServer"; +export * from "./backend"; export * from "./certificate"; export * from "./getApi"; export * from "./getGroup"; diff --git a/sdk/nodejs/appinsights/insights.ts b/sdk/nodejs/appinsights/insights.ts index 2294582753..83ff465a82 100644 --- a/sdk/nodejs/appinsights/insights.ts +++ b/sdk/nodejs/appinsights/insights.ts @@ -18,7 +18,7 @@ import * as utilities from "../utilities"; * name: "tf-test", * }); * const testInsights = new azure.appinsights.Insights("test", { - * applicationType: "Web", + * applicationType: "web", * location: "West Europe", * name: "tf-test-appinsights", * resourceGroupName: testResourceGroup.name, diff --git a/sdk/nodejs/appinsights/webTest.ts b/sdk/nodejs/appinsights/webTest.ts index 4382a2e866..3006003af8 100644 --- a/sdk/nodejs/appinsights/webTest.ts +++ b/sdk/nodejs/appinsights/webTest.ts @@ -23,7 +23,7 @@ import * as utilities from "../utilities"; * name: "tf-test-appinsights", * resourceGroupName: testResourceGroup.name, * }); - * const testApplicationInsightsWebtest = new azure.ApplicationInsightsWebtest("test", { + * const testWebTest = new azure.appinsights.WebTest("test", { * applicationInsightsId: testInsights.id, * configuration: ` * @@ -44,9 +44,9 @@ import * as utilities from "../utilities"; * timeout: 60, * }); * - * export const webtestId = testApplicationInsightsWebtest.id; - * export const webtestProvisioningState = testApplicationInsightsWebtest.provisioningState; - * export const webtestsSyntheticId = testApplicationInsightsWebtest.syntheticMonitorId; + * export const webtestId = testWebTest.id; + * export const webtestProvisioningState = testWebTest.provisioningState; + * export const webtestsSyntheticId = testWebTest.syntheticMonitorId; * ``` * * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/application_insights_web_test.html.markdown. diff --git a/sdk/nodejs/appservice/appService.ts b/sdk/nodejs/appservice/appService.ts index bb5dda2670..615d419aa4 100644 --- a/sdk/nodejs/appservice/appService.ts +++ b/sdk/nodejs/appservice/appService.ts @@ -46,6 +46,7 @@ export class AppService extends pulumi.CustomResource { * A `auth_settings` block as defined below. */ public readonly authSettings!: pulumi.Output<{ activeDirectory?: { allowedAudiences?: string[], clientId: string, clientSecret?: string }, additionalLoginParams?: {[key: string]: any}, allowedExternalRedirectUrls?: string[], defaultProvider?: string, enabled: boolean, facebook?: { appId: string, appSecret: string, oauthScopes?: string[] }, google?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, issuer?: string, microsoft?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, runtimeVersion?: string, tokenRefreshExtensionHours?: number, tokenStoreEnabled?: boolean, twitter?: { consumerKey: string, consumerSecret: string }, unauthenticatedClientAction?: string }>; + public readonly backup!: pulumi.Output<{ enabled?: boolean, name: string, schedule: { frequencyInterval: number, frequencyUnit: string, keepAtLeastOneBackup?: boolean, retentionPeriodInDays?: number, startTime?: string }, storageAccountUrl: string } | undefined>; /** * Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -73,7 +74,7 @@ export class AppService extends pulumi.CustomResource { /** * A Managed Service Identity block as defined below. */ - public readonly identity!: pulumi.Output<{ principalId: string, tenantId: string, type: string }>; + public readonly identity!: pulumi.Output<{ identityIds?: string[], principalId: string, tenantId: string, type: string }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -110,6 +111,10 @@ export class AppService extends pulumi.CustomResource { * A `source_control` block as defined below, which contains the Source Control information when `scm_type` is set to `LocalGit`. */ public /*out*/ readonly sourceControl!: pulumi.Output<{ branch: string, repoUrl: string }>; + /** + * One or more `storage_account` blocks as defined below. + */ + public readonly storageAccounts!: pulumi.Output<{ accessKey: string, accountName: string, mountPath?: string, name: string, shareName: string, type: string }[]>; /** * A mapping of tags to assign to the resource. */ @@ -130,6 +135,7 @@ export class AppService extends pulumi.CustomResource { inputs["appServicePlanId"] = state ? state.appServicePlanId : undefined; inputs["appSettings"] = state ? state.appSettings : undefined; inputs["authSettings"] = state ? state.authSettings : undefined; + inputs["backup"] = state ? state.backup : undefined; inputs["clientAffinityEnabled"] = state ? state.clientAffinityEnabled : undefined; inputs["clientCertEnabled"] = state ? state.clientCertEnabled : undefined; inputs["connectionStrings"] = state ? state.connectionStrings : undefined; @@ -146,6 +152,7 @@ export class AppService extends pulumi.CustomResource { inputs["siteConfig"] = state ? state.siteConfig : undefined; inputs["siteCredential"] = state ? state.siteCredential : undefined; inputs["sourceControl"] = state ? state.sourceControl : undefined; + inputs["storageAccounts"] = state ? state.storageAccounts : undefined; inputs["tags"] = state ? state.tags : undefined; } else { const args = argsOrState as AppServiceArgs | undefined; @@ -158,6 +165,7 @@ export class AppService extends pulumi.CustomResource { inputs["appServicePlanId"] = args ? args.appServicePlanId : undefined; inputs["appSettings"] = args ? args.appSettings : undefined; inputs["authSettings"] = args ? args.authSettings : undefined; + inputs["backup"] = args ? args.backup : undefined; inputs["clientAffinityEnabled"] = args ? args.clientAffinityEnabled : undefined; inputs["clientCertEnabled"] = args ? args.clientCertEnabled : undefined; inputs["connectionStrings"] = args ? args.connectionStrings : undefined; @@ -169,6 +177,7 @@ export class AppService extends pulumi.CustomResource { inputs["name"] = args ? args.name : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["siteConfig"] = args ? args.siteConfig : undefined; + inputs["storageAccounts"] = args ? args.storageAccounts : undefined; inputs["tags"] = args ? args.tags : undefined; inputs["defaultSiteHostname"] = undefined /*out*/; inputs["outboundIpAddresses"] = undefined /*out*/; @@ -203,6 +212,7 @@ export interface AppServiceState { * A `auth_settings` block as defined below. */ readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; + readonly backup?: pulumi.Input<{ enabled?: pulumi.Input, name: pulumi.Input, schedule: pulumi.Input<{ frequencyInterval: pulumi.Input, frequencyUnit: pulumi.Input, keepAtLeastOneBackup?: pulumi.Input, retentionPeriodInDays?: pulumi.Input, startTime?: pulumi.Input }>, storageAccountUrl: pulumi.Input }>; /** * Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -230,7 +240,7 @@ export interface AppServiceState { /** * A Managed Service Identity block as defined below. */ - readonly identity?: pulumi.Input<{ principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; + readonly identity?: pulumi.Input<{ identityIds?: pulumi.Input[]>, principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -267,6 +277,10 @@ export interface AppServiceState { * A `source_control` block as defined below, which contains the Source Control information when `scm_type` is set to `LocalGit`. */ readonly sourceControl?: pulumi.Input<{ branch?: pulumi.Input, repoUrl?: pulumi.Input }>; + /** + * One or more `storage_account` blocks as defined below. + */ + readonly storageAccounts?: pulumi.Input, accountName: pulumi.Input, mountPath?: pulumi.Input, name: pulumi.Input, shareName: pulumi.Input, type: pulumi.Input }>[]>; /** * A mapping of tags to assign to the resource. */ @@ -289,6 +303,7 @@ export interface AppServiceArgs { * A `auth_settings` block as defined below. */ readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; + readonly backup?: pulumi.Input<{ enabled?: pulumi.Input, name: pulumi.Input, schedule: pulumi.Input<{ frequencyInterval: pulumi.Input, frequencyUnit: pulumi.Input, keepAtLeastOneBackup?: pulumi.Input, retentionPeriodInDays?: pulumi.Input, startTime?: pulumi.Input }>, storageAccountUrl: pulumi.Input }>; /** * Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -312,7 +327,7 @@ export interface AppServiceArgs { /** * A Managed Service Identity block as defined below. */ - readonly identity?: pulumi.Input<{ principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; + readonly identity?: pulumi.Input<{ identityIds?: pulumi.Input[]>, principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -333,6 +348,10 @@ export interface AppServiceArgs { * A `site_config` block as defined below. */ readonly siteConfig?: pulumi.Input<{ alwaysOn?: pulumi.Input, appCommandLine?: pulumi.Input, cors?: pulumi.Input<{ allowedOrigins: pulumi.Input[]>, supportCredentials?: pulumi.Input }>, defaultDocuments?: pulumi.Input[]>, dotnetFrameworkVersion?: pulumi.Input, ftpsState?: pulumi.Input, http2Enabled?: pulumi.Input, ipRestrictions?: pulumi.Input, subnetMask?: pulumi.Input }>[]>, javaContainer?: pulumi.Input, javaContainerVersion?: pulumi.Input, javaVersion?: pulumi.Input, linuxFxVersion?: pulumi.Input, localMysqlEnabled?: pulumi.Input, managedPipelineMode?: pulumi.Input, minTlsVersion?: pulumi.Input, phpVersion?: pulumi.Input, pythonVersion?: pulumi.Input, remoteDebuggingEnabled?: pulumi.Input, remoteDebuggingVersion?: pulumi.Input, scmType?: pulumi.Input, use32BitWorkerProcess?: pulumi.Input, virtualNetworkName?: pulumi.Input, websocketsEnabled?: pulumi.Input, windowsFxVersion?: pulumi.Input }>; + /** + * One or more `storage_account` blocks as defined below. + */ + readonly storageAccounts?: pulumi.Input, accountName: pulumi.Input, mountPath?: pulumi.Input, name: pulumi.Input, shareName: pulumi.Input, type: pulumi.Input }>[]>; /** * A mapping of tags to assign to the resource. */ diff --git a/sdk/nodejs/appservice/functionApp.ts b/sdk/nodejs/appservice/functionApp.ts index 0279cf7ffb..d46836265a 100644 --- a/sdk/nodejs/appservice/functionApp.ts +++ b/sdk/nodejs/appservice/functionApp.ts @@ -114,6 +114,10 @@ export class FunctionApp extends pulumi.CustomResource { * A key-value pair of App Settings. */ public readonly appSettings!: pulumi.Output<{[key: string]: any} | undefined>; + /** + * A `auth_settings` block as defined below. + */ + public readonly authSettings!: pulumi.Output<{ activeDirectory?: { allowedAudiences?: string[], clientId: string, clientSecret?: string }, additionalLoginParams?: {[key: string]: any}, allowedExternalRedirectUrls?: string[], defaultProvider?: string, enabled: boolean, facebook?: { appId: string, appSecret: string, oauthScopes?: string[] }, google?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, issuer?: string, microsoft?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, runtimeVersion?: string, tokenRefreshExtensionHours?: number, tokenStoreEnabled?: boolean, twitter?: { consumerKey: string, consumerSecret: string }, unauthenticatedClientAction?: string }>; /** * Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -201,6 +205,7 @@ export class FunctionApp extends pulumi.CustomResource { const state = argsOrState as FunctionAppState | undefined; inputs["appServicePlanId"] = state ? state.appServicePlanId : undefined; inputs["appSettings"] = state ? state.appSettings : undefined; + inputs["authSettings"] = state ? state.authSettings : undefined; inputs["clientAffinityEnabled"] = state ? state.clientAffinityEnabled : undefined; inputs["connectionStrings"] = state ? state.connectionStrings : undefined; inputs["defaultHostname"] = state ? state.defaultHostname : undefined; @@ -232,6 +237,7 @@ export class FunctionApp extends pulumi.CustomResource { } inputs["appServicePlanId"] = args ? args.appServicePlanId : undefined; inputs["appSettings"] = args ? args.appSettings : undefined; + inputs["authSettings"] = args ? args.authSettings : undefined; inputs["clientAffinityEnabled"] = args ? args.clientAffinityEnabled : undefined; inputs["connectionStrings"] = args ? args.connectionStrings : undefined; inputs["enableBuiltinLogging"] = args ? args.enableBuiltinLogging : undefined; @@ -274,6 +280,10 @@ export interface FunctionAppState { * A key-value pair of App Settings. */ readonly appSettings?: pulumi.Input<{[key: string]: any}>; + /** + * A `auth_settings` block as defined below. + */ + readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; /** * Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -360,6 +370,10 @@ export interface FunctionAppArgs { * A key-value pair of App Settings. */ readonly appSettings?: pulumi.Input<{[key: string]: any}>; + /** + * A `auth_settings` block as defined below. + */ + readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; /** * Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? */ diff --git a/sdk/nodejs/appservice/slot.ts b/sdk/nodejs/appservice/slot.ts index 7495b0a505..87c2865a1c 100644 --- a/sdk/nodejs/appservice/slot.ts +++ b/sdk/nodejs/appservice/slot.ts @@ -165,6 +165,10 @@ export class Slot extends pulumi.CustomResource { * A key-value pair of App Settings. */ public readonly appSettings!: pulumi.Output<{[key: string]: any}>; + /** + * A `auth_settings` block as defined below. + */ + public readonly authSettings!: pulumi.Output<{ activeDirectory?: { allowedAudiences?: string[], clientId: string, clientSecret?: string }, additionalLoginParams?: {[key: string]: any}, allowedExternalRedirectUrls?: string[], defaultProvider?: string, enabled: boolean, facebook?: { appId: string, appSecret: string, oauthScopes?: string[] }, google?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, issuer?: string, microsoft?: { clientId: string, clientSecret: string, oauthScopes?: string[] }, runtimeVersion?: string, tokenRefreshExtensionHours?: number, tokenStoreEnabled?: boolean, twitter?: { consumerKey: string, consumerSecret: string }, unauthenticatedClientAction?: string }>; /** * Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -188,7 +192,7 @@ export class Slot extends pulumi.CustomResource { /** * A Managed Service Identity block as defined below. */ - public readonly identity!: pulumi.Output<{ principalId: string, tenantId: string, type: string } | undefined>; + public readonly identity!: pulumi.Output<{ identityIds?: string[], principalId: string, tenantId: string, type: string }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -229,6 +233,7 @@ export class Slot extends pulumi.CustomResource { inputs["appServiceName"] = state ? state.appServiceName : undefined; inputs["appServicePlanId"] = state ? state.appServicePlanId : undefined; inputs["appSettings"] = state ? state.appSettings : undefined; + inputs["authSettings"] = state ? state.authSettings : undefined; inputs["clientAffinityEnabled"] = state ? state.clientAffinityEnabled : undefined; inputs["connectionStrings"] = state ? state.connectionStrings : undefined; inputs["defaultSiteHostname"] = state ? state.defaultSiteHostname : undefined; @@ -255,6 +260,7 @@ export class Slot extends pulumi.CustomResource { inputs["appServiceName"] = args ? args.appServiceName : undefined; inputs["appServicePlanId"] = args ? args.appServicePlanId : undefined; inputs["appSettings"] = args ? args.appSettings : undefined; + inputs["authSettings"] = args ? args.authSettings : undefined; inputs["clientAffinityEnabled"] = args ? args.clientAffinityEnabled : undefined; inputs["connectionStrings"] = args ? args.connectionStrings : undefined; inputs["enabled"] = args ? args.enabled : undefined; @@ -295,6 +301,10 @@ export interface SlotState { * A key-value pair of App Settings. */ readonly appSettings?: pulumi.Input<{[key: string]: any}>; + /** + * A `auth_settings` block as defined below. + */ + readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; /** * Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -318,7 +328,7 @@ export interface SlotState { /** * A Managed Service Identity block as defined below. */ - readonly identity?: pulumi.Input<{ principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; + readonly identity?: pulumi.Input<{ identityIds?: pulumi.Input[]>, principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -361,6 +371,10 @@ export interface SlotArgs { * A key-value pair of App Settings. */ readonly appSettings?: pulumi.Input<{[key: string]: any}>; + /** + * A `auth_settings` block as defined below. + */ + readonly authSettings?: pulumi.Input<{ activeDirectory?: pulumi.Input<{ allowedAudiences?: pulumi.Input[]>, clientId: pulumi.Input, clientSecret?: pulumi.Input }>, additionalLoginParams?: pulumi.Input<{[key: string]: any}>, allowedExternalRedirectUrls?: pulumi.Input[]>, defaultProvider?: pulumi.Input, enabled: pulumi.Input, facebook?: pulumi.Input<{ appId: pulumi.Input, appSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, google?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, issuer?: pulumi.Input, microsoft?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input, oauthScopes?: pulumi.Input[]> }>, runtimeVersion?: pulumi.Input, tokenRefreshExtensionHours?: pulumi.Input, tokenStoreEnabled?: pulumi.Input, twitter?: pulumi.Input<{ consumerKey: pulumi.Input, consumerSecret: pulumi.Input }>, unauthenticatedClientAction?: pulumi.Input }>; /** * Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? */ @@ -380,7 +394,7 @@ export interface SlotArgs { /** * A Managed Service Identity block as defined below. */ - readonly identity?: pulumi.Input<{ principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; + readonly identity?: pulumi.Input<{ identityIds?: pulumi.Input[]>, principalId?: pulumi.Input, tenantId?: pulumi.Input, type: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/batch/account.ts b/sdk/nodejs/batch/account.ts index f4578d9198..60aae08531 100644 --- a/sdk/nodejs/batch/account.ts +++ b/sdk/nodejs/batch/account.ts @@ -69,6 +69,10 @@ export class Account extends pulumi.CustomResource { * The account endpoint used to interact with the Batch service. */ public /*out*/ readonly accountEndpoint!: pulumi.Output; + /** + * A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + */ + public readonly keyVaultReference!: pulumi.Output<{ id: string, url: string } | undefined>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -115,6 +119,7 @@ export class Account extends pulumi.CustomResource { if (opts && opts.id) { const state = argsOrState as AccountState | undefined; inputs["accountEndpoint"] = state ? state.accountEndpoint : undefined; + inputs["keyVaultReference"] = state ? state.keyVaultReference : undefined; inputs["location"] = state ? state.location : undefined; inputs["name"] = state ? state.name : undefined; inputs["poolAllocationMode"] = state ? state.poolAllocationMode : undefined; @@ -128,6 +133,7 @@ export class Account extends pulumi.CustomResource { if (!args || args.resourceGroupName === undefined) { throw new Error("Missing required property 'resourceGroupName'"); } + inputs["keyVaultReference"] = args ? args.keyVaultReference : undefined; inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; inputs["poolAllocationMode"] = args ? args.poolAllocationMode : undefined; @@ -157,6 +163,10 @@ export interface AccountState { * The account endpoint used to interact with the Batch service. */ readonly accountEndpoint?: pulumi.Input; + /** + * A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + */ + readonly keyVaultReference?: pulumi.Input<{ id: pulumi.Input, url: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -195,6 +205,10 @@ export interface AccountState { * The set of arguments for constructing a Account resource. */ export interface AccountArgs { + /** + * A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + */ + readonly keyVaultReference?: pulumi.Input<{ id: pulumi.Input, url: pulumi.Input }>; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/batch/application.ts b/sdk/nodejs/batch/application.ts new file mode 100644 index 0000000000..99ebed3db6 --- /dev/null +++ b/sdk/nodejs/batch/application.ts @@ -0,0 +1,197 @@ +// *** 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"; + +/** + * Manage Azure Batch Application instance. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const exampleResourceGroup = new azure.core.ResourceGroup("example", { + * location: "West US", + * name: "example-rg", + * }); + * const exampleStorageAccount = new azure.storage.Account("example", { + * accountReplicationType: "LRS", + * accountTier: "Standard", + * location: exampleResourceGroup.location, + * name: "examplesa", + * resourceGroupName: exampleResourceGroup.name, + * }); + * const exampleAccount = new azure.batch.Account("example", { + * location: exampleResourceGroup.location, + * name: "exampleba", + * poolAllocationMode: "BatchService", + * resourceGroupName: exampleResourceGroup.name, + * storageAccountId: exampleStorageAccount.id, + * }); + * const exampleApplication = new azure.batch.Application("example", { + * accountName: exampleAccount.name, + * name: "example-batch-application", + * resourceGroupName: exampleResourceGroup.name, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/batch_application.html.markdown. + */ +export class Application extends pulumi.CustomResource { + /** + * Get an existing Application 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. + */ + public static get(name: string, id: pulumi.Input, state?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application { + return new Application(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:batch/application:Application'; + + /** + * Returns true if the given object is an instance of Application. 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 Application { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Application.__pulumiType; + } + + /** + * The name of the Batch account. Changing this forces a new resource to be created. + */ + public readonly accountName!: pulumi.Output; + /** + * A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + */ + public readonly allowUpdates!: pulumi.Output; + /** + * The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + */ + public readonly defaultVersion!: pulumi.Output; + /** + * The display name for the application. + */ + public readonly displayName!: pulumi.Output; + /** + * The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + + /** + * Create a Application 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: ApplicationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ApplicationArgs | ApplicationState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as ApplicationState | undefined; + inputs["accountName"] = state ? state.accountName : undefined; + inputs["allowUpdates"] = state ? state.allowUpdates : undefined; + inputs["defaultVersion"] = state ? state.defaultVersion : undefined; + inputs["displayName"] = state ? state.displayName : undefined; + inputs["name"] = state ? state.name : undefined; + inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + } else { + const args = argsOrState as ApplicationArgs | undefined; + if (!args || args.accountName === undefined) { + throw new Error("Missing required property 'accountName'"); + } + if (!args || args.resourceGroupName === undefined) { + throw new Error("Missing required property 'resourceGroupName'"); + } + inputs["accountName"] = args ? args.accountName : undefined; + inputs["allowUpdates"] = args ? args.allowUpdates : undefined; + inputs["defaultVersion"] = args ? args.defaultVersion : undefined; + inputs["displayName"] = args ? args.displayName : undefined; + inputs["name"] = args ? args.name : undefined; + inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(Application.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Application resources. + */ +export interface ApplicationState { + /** + * The name of the Batch account. Changing this forces a new resource to be created. + */ + readonly accountName?: pulumi.Input; + /** + * A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + */ + readonly allowUpdates?: pulumi.Input; + /** + * The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + */ + readonly defaultVersion?: pulumi.Input; + /** + * The display name for the application. + */ + readonly displayName?: pulumi.Input; + /** + * The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + */ + readonly resourceGroupName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Application resource. + */ +export interface ApplicationArgs { + /** + * The name of the Batch account. Changing this forces a new resource to be created. + */ + readonly accountName: pulumi.Input; + /** + * A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + */ + readonly allowUpdates?: pulumi.Input; + /** + * The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + */ + readonly defaultVersion?: pulumi.Input; + /** + * The display name for the application. + */ + readonly displayName?: pulumi.Input; + /** + * The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + */ + readonly resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/batch/getAccount.ts b/sdk/nodejs/batch/getAccount.ts index 73c2c88fa8..538a4b85d6 100644 --- a/sdk/nodejs/batch/getAccount.ts +++ b/sdk/nodejs/batch/getAccount.ts @@ -61,6 +61,10 @@ export interface GetAccountResult { * The account endpoint used to interact with the Batch service. */ readonly accountEndpoint: string; + /** + * The `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + */ + readonly keyVaultReferences: { id: string, url: string }[]; /** * The Azure Region in which this Batch account exists. */ diff --git a/sdk/nodejs/batch/index.ts b/sdk/nodejs/batch/index.ts index c42133ae54..3142a98c0f 100644 --- a/sdk/nodejs/batch/index.ts +++ b/sdk/nodejs/batch/index.ts @@ -3,6 +3,7 @@ // Export members: export * from "./account"; +export * from "./application"; export * from "./certificate"; export * from "./getAccount"; export * from "./getCertificate"; diff --git a/sdk/nodejs/batch/pool.ts b/sdk/nodejs/batch/pool.ts index 74edffa134..93b0e4881d 100644 --- a/sdk/nodejs/batch/pool.ts +++ b/sdk/nodejs/batch/pool.ts @@ -168,7 +168,7 @@ export class Pool extends pulumi.CustomResource { /** * A `storage_image_reference` for the virtual machines that will compose the Batch pool. */ - public readonly storageImageReference!: pulumi.Output<{ id?: string, offer: string, publisher: string, sku: string, version: string }>; + public readonly storageImageReference!: pulumi.Output<{ id?: string, offer?: string, publisher?: string, sku?: string, version?: string }>; /** * Specifies the size of the VM created in the Batch pool. */ @@ -295,7 +295,7 @@ export interface PoolState { /** * A `storage_image_reference` for the virtual machines that will compose the Batch pool. */ - readonly storageImageReference?: pulumi.Input<{ id?: pulumi.Input, offer: pulumi.Input, publisher: pulumi.Input, sku: pulumi.Input, version: pulumi.Input }>; + readonly storageImageReference?: pulumi.Input<{ id?: pulumi.Input, offer?: pulumi.Input, publisher?: pulumi.Input, sku?: pulumi.Input, version?: pulumi.Input }>; /** * Specifies the size of the VM created in the Batch pool. */ @@ -354,7 +354,7 @@ export interface PoolArgs { /** * A `storage_image_reference` for the virtual machines that will compose the Batch pool. */ - readonly storageImageReference: pulumi.Input<{ id?: pulumi.Input, offer: pulumi.Input, publisher: pulumi.Input, sku: pulumi.Input, version: pulumi.Input }>; + readonly storageImageReference: pulumi.Input<{ id?: pulumi.Input, offer?: pulumi.Input, publisher?: pulumi.Input, sku?: pulumi.Input, version?: pulumi.Input }>; /** * Specifies the size of the VM created in the Batch pool. */ diff --git a/sdk/nodejs/cognitive/account.ts b/sdk/nodejs/cognitive/account.ts index 2b5fca7f46..05ac19f3df 100644 --- a/sdk/nodejs/cognitive/account.ts +++ b/sdk/nodejs/cognitive/account.ts @@ -66,7 +66,7 @@ export class Account extends pulumi.CustomResource { */ public /*out*/ readonly endpoint!: pulumi.Output; /** - * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. */ public readonly kind!: pulumi.Output; /** @@ -160,7 +160,7 @@ export interface AccountState { */ readonly endpoint?: pulumi.Input; /** - * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. */ readonly kind?: pulumi.Input; /** @@ -198,7 +198,7 @@ export interface AccountState { */ export interface AccountArgs { /** - * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + * Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. */ readonly kind: pulumi.Input; /** diff --git a/sdk/nodejs/containerservice/getKubernetesCluster.ts b/sdk/nodejs/containerservice/getKubernetesCluster.ts index ceb6765a7a..98bc5bb3d1 100644 --- a/sdk/nodejs/containerservice/getKubernetesCluster.ts +++ b/sdk/nodejs/containerservice/getKubernetesCluster.ts @@ -65,7 +65,7 @@ export interface GetKubernetesClusterResult { /** * An `agent_pool_profile` block as documented below. */ - readonly agentPoolProfiles: { count: number, dnsPrefix: string, maxPods: number, name: string, osDiskSizeGb: number, osType: string, type: string, vmSize: string, vnetSubnetId: string }[]; + readonly agentPoolProfiles: { availabilityZones: string[], count: number, dnsPrefix: string, enableAutoScaling: boolean, maxCount: number, maxPods: number, minCount: number, name: string, nodeTaints?: string[], osDiskSizeGb: number, osType: string, type: string, vmSize: string, vnetSubnetId: string }[]; /** * The DNS Prefix of the managed Kubernetes cluster. */ @@ -109,7 +109,7 @@ export interface GetKubernetesClusterResult { /** * A `network_profile` block as documented below. */ - readonly networkProfiles: { dnsServiceIp: string, dockerBridgeCidr: string, networkPlugin: string, networkPolicy: string, podCidr: string, serviceCidr: string }[]; + readonly networkProfiles: { dnsServiceIp: string, dockerBridgeCidr: string, loadBalancerSku: string, networkPlugin: string, networkPolicy: string, podCidr: string, serviceCidr: string }[]; /** * Auto-generated Resource Group containing AKS Cluster resources. */ @@ -127,6 +127,10 @@ export interface GetKubernetesClusterResult { * A mapping of tags assigned to this resource. */ readonly tags: {[key: string]: any}; + /** + * A `windows_profile` block as documented below. + */ + readonly windowsProfiles: { adminUsername: string }[]; /** * id is the provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/containerservice/kubernetesCluster.ts b/sdk/nodejs/containerservice/kubernetesCluster.ts index e55d3ac624..d37f84bbb8 100644 --- a/sdk/nodejs/containerservice/kubernetesCluster.ts +++ b/sdk/nodejs/containerservice/kubernetesCluster.ts @@ -34,17 +34,11 @@ export class KubernetesCluster extends pulumi.CustomResource { return obj['__pulumiType'] === KubernetesCluster.__pulumiType; } - /** - * A `addon_profile` block. - */ public readonly addonProfile!: pulumi.Output<{ aciConnectorLinux?: { enabled: boolean, subnetName: string }, httpApplicationRouting?: { enabled: boolean, httpApplicationRoutingZoneName: string }, omsAgent?: { enabled: boolean, logAnalyticsWorkspaceId: string } }>; /** * One or more `agent_pool_profile` blocks as defined below. */ - public readonly agentPoolProfiles!: pulumi.Output<{ count?: number, dnsPrefix: string, fqdn: string, maxPods: number, name: string, osDiskSizeGb: number, osType?: string, type?: string, vmSize: string, vnetSubnetId?: string }[]>; - /** - * The IP ranges to whitelist for incoming traffic to the masters. - */ + public readonly agentPoolProfiles!: pulumi.Output<{ availabilityZones?: string[], count?: number, dnsPrefix: string, enableAutoScaling?: boolean, fqdn: string, maxCount?: number, maxPods: number, minCount?: number, name: string, nodeTaints?: string[], osDiskSizeGb: number, osType?: string, type?: string, vmSize: string, vnetSubnetId?: string }[]>; public readonly apiServerAuthorizedIpRanges!: pulumi.Output; /** * DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. @@ -70,13 +64,7 @@ export class KubernetesCluster extends pulumi.CustomResource { * Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools */ public /*out*/ readonly kubeConfigRaw!: pulumi.Output; - /** - * Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). - */ public readonly kubernetesVersion!: pulumi.Output; - /** - * A `linux_profile` block. - */ public readonly linuxProfile!: pulumi.Output<{ adminUsername: string, sshKey: { keyData: string } } | undefined>; /** * The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. @@ -86,30 +74,22 @@ export class KubernetesCluster extends pulumi.CustomResource { * The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. */ public readonly name!: pulumi.Output; - /** - * A `network_profile` block. - */ - public readonly networkProfile!: pulumi.Output<{ dnsServiceIp: string, dockerBridgeCidr: string, networkPlugin: string, networkPolicy: string, podCidr: string, serviceCidr: string }>; + public readonly networkProfile!: pulumi.Output<{ dnsServiceIp: string, dockerBridgeCidr: string, loadBalancerSku?: string, networkPlugin: string, networkPolicy: string, podCidr: string, serviceCidr: string }>; /** * The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. */ - public /*out*/ readonly nodeResourceGroup!: pulumi.Output; + public readonly nodeResourceGroup!: pulumi.Output; /** * Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. */ public readonly resourceGroupName!: pulumi.Output; - /** - * A `role_based_access_control` block. Changing this forces a new resource to be created. - */ public readonly roleBasedAccessControl!: pulumi.Output<{ azureActiveDirectory?: { clientAppId: string, serverAppId: string, serverAppSecret: string, tenantId: string }, enabled: boolean }>; /** * A `service_principal` block as documented below. */ public readonly servicePrincipal!: pulumi.Output<{ clientId: string, clientSecret: string }>; - /** - * A mapping of tags to assign to the resource. - */ public readonly tags!: pulumi.Output<{[key: string]: any}>; + public readonly windowsProfile!: pulumi.Output<{ adminPassword?: string, adminUsername: string } | undefined>; /** * Create a KubernetesCluster resource with the given unique name, arguments, and options. @@ -142,6 +122,7 @@ export class KubernetesCluster extends pulumi.CustomResource { inputs["roleBasedAccessControl"] = state ? state.roleBasedAccessControl : undefined; inputs["servicePrincipal"] = state ? state.servicePrincipal : undefined; inputs["tags"] = state ? state.tags : undefined; + inputs["windowsProfile"] = state ? state.windowsProfile : undefined; } else { const args = argsOrState as KubernetesClusterArgs | undefined; if (!args || args.agentPoolProfiles === undefined) { @@ -165,16 +146,17 @@ export class KubernetesCluster extends pulumi.CustomResource { inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; inputs["networkProfile"] = args ? args.networkProfile : undefined; + inputs["nodeResourceGroup"] = args ? args.nodeResourceGroup : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["roleBasedAccessControl"] = args ? args.roleBasedAccessControl : undefined; inputs["servicePrincipal"] = args ? args.servicePrincipal : undefined; inputs["tags"] = args ? args.tags : undefined; + inputs["windowsProfile"] = args ? args.windowsProfile : undefined; inputs["fqdn"] = undefined /*out*/; inputs["kubeAdminConfig"] = undefined /*out*/; inputs["kubeAdminConfigRaw"] = undefined /*out*/; inputs["kubeConfig"] = undefined /*out*/; inputs["kubeConfigRaw"] = undefined /*out*/; - inputs["nodeResourceGroup"] = undefined /*out*/; } if (!opts) { opts = {} @@ -191,17 +173,11 @@ export class KubernetesCluster extends pulumi.CustomResource { * Input properties used for looking up and filtering KubernetesCluster resources. */ export interface KubernetesClusterState { - /** - * A `addon_profile` block. - */ readonly addonProfile?: pulumi.Input<{ aciConnectorLinux?: pulumi.Input<{ enabled: pulumi.Input, subnetName: pulumi.Input }>, httpApplicationRouting?: pulumi.Input<{ enabled: pulumi.Input, httpApplicationRoutingZoneName?: pulumi.Input }>, omsAgent?: pulumi.Input<{ enabled: pulumi.Input, logAnalyticsWorkspaceId: pulumi.Input }> }>; /** * One or more `agent_pool_profile` blocks as defined below. */ - readonly agentPoolProfiles?: pulumi.Input, dnsPrefix?: pulumi.Input, fqdn?: pulumi.Input, maxPods?: pulumi.Input, name: pulumi.Input, osDiskSizeGb?: pulumi.Input, osType?: pulumi.Input, type?: pulumi.Input, vmSize: pulumi.Input, vnetSubnetId?: pulumi.Input }>[]>; - /** - * The IP ranges to whitelist for incoming traffic to the masters. - */ + readonly agentPoolProfiles?: pulumi.Input[]>, count?: pulumi.Input, dnsPrefix?: pulumi.Input, enableAutoScaling?: pulumi.Input, fqdn?: pulumi.Input, maxCount?: pulumi.Input, maxPods?: pulumi.Input, minCount?: pulumi.Input, name: pulumi.Input, nodeTaints?: pulumi.Input[]>, osDiskSizeGb?: pulumi.Input, osType?: pulumi.Input, type?: pulumi.Input, vmSize: pulumi.Input, vnetSubnetId?: pulumi.Input }>[]>; readonly apiServerAuthorizedIpRanges?: pulumi.Input[]>; /** * DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. @@ -227,13 +203,7 @@ export interface KubernetesClusterState { * Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools */ readonly kubeConfigRaw?: pulumi.Input; - /** - * Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). - */ readonly kubernetesVersion?: pulumi.Input; - /** - * A `linux_profile` block. - */ readonly linuxProfile?: pulumi.Input<{ adminUsername: pulumi.Input, sshKey: pulumi.Input<{ keyData: pulumi.Input }> }>; /** * The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. @@ -243,10 +213,7 @@ export interface KubernetesClusterState { * The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. */ readonly name?: pulumi.Input; - /** - * A `network_profile` block. - */ - readonly networkProfile?: pulumi.Input<{ dnsServiceIp?: pulumi.Input, dockerBridgeCidr?: pulumi.Input, networkPlugin: pulumi.Input, networkPolicy?: pulumi.Input, podCidr?: pulumi.Input, serviceCidr?: pulumi.Input }>; + readonly networkProfile?: pulumi.Input<{ dnsServiceIp?: pulumi.Input, dockerBridgeCidr?: pulumi.Input, loadBalancerSku?: pulumi.Input, networkPlugin: pulumi.Input, networkPolicy?: pulumi.Input, podCidr?: pulumi.Input, serviceCidr?: pulumi.Input }>; /** * The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. */ @@ -255,47 +222,30 @@ export interface KubernetesClusterState { * Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. */ readonly resourceGroupName?: pulumi.Input; - /** - * A `role_based_access_control` block. Changing this forces a new resource to be created. - */ readonly roleBasedAccessControl?: pulumi.Input<{ azureActiveDirectory?: pulumi.Input<{ clientAppId: pulumi.Input, serverAppId: pulumi.Input, serverAppSecret: pulumi.Input, tenantId?: pulumi.Input }>, enabled: pulumi.Input }>; /** * A `service_principal` block as documented below. */ readonly servicePrincipal?: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input }>; - /** - * A mapping of tags to assign to the resource. - */ readonly tags?: pulumi.Input<{[key: string]: any}>; + readonly windowsProfile?: pulumi.Input<{ adminPassword?: pulumi.Input, adminUsername: pulumi.Input }>; } /** * The set of arguments for constructing a KubernetesCluster resource. */ export interface KubernetesClusterArgs { - /** - * A `addon_profile` block. - */ readonly addonProfile?: pulumi.Input<{ aciConnectorLinux?: pulumi.Input<{ enabled: pulumi.Input, subnetName: pulumi.Input }>, httpApplicationRouting?: pulumi.Input<{ enabled: pulumi.Input, httpApplicationRoutingZoneName?: pulumi.Input }>, omsAgent?: pulumi.Input<{ enabled: pulumi.Input, logAnalyticsWorkspaceId: pulumi.Input }> }>; /** * One or more `agent_pool_profile` blocks as defined below. */ - readonly agentPoolProfiles: pulumi.Input, dnsPrefix?: pulumi.Input, fqdn?: pulumi.Input, maxPods?: pulumi.Input, name: pulumi.Input, osDiskSizeGb?: pulumi.Input, osType?: pulumi.Input, type?: pulumi.Input, vmSize: pulumi.Input, vnetSubnetId?: pulumi.Input }>[]>; - /** - * The IP ranges to whitelist for incoming traffic to the masters. - */ + readonly agentPoolProfiles: pulumi.Input[]>, count?: pulumi.Input, dnsPrefix?: pulumi.Input, enableAutoScaling?: pulumi.Input, fqdn?: pulumi.Input, maxCount?: pulumi.Input, maxPods?: pulumi.Input, minCount?: pulumi.Input, name: pulumi.Input, nodeTaints?: pulumi.Input[]>, osDiskSizeGb?: pulumi.Input, osType?: pulumi.Input, type?: pulumi.Input, vmSize: pulumi.Input, vnetSubnetId?: pulumi.Input }>[]>; readonly apiServerAuthorizedIpRanges?: pulumi.Input[]>; /** * DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. */ readonly dnsPrefix: pulumi.Input; - /** - * Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). - */ readonly kubernetesVersion?: pulumi.Input; - /** - * A `linux_profile` block. - */ readonly linuxProfile?: pulumi.Input<{ adminUsername: pulumi.Input, sshKey: pulumi.Input<{ keyData: pulumi.Input }> }>; /** * The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. @@ -305,24 +255,20 @@ export interface KubernetesClusterArgs { * The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. */ readonly name?: pulumi.Input; + readonly networkProfile?: pulumi.Input<{ dnsServiceIp?: pulumi.Input, dockerBridgeCidr?: pulumi.Input, loadBalancerSku?: pulumi.Input, networkPlugin: pulumi.Input, networkPolicy?: pulumi.Input, podCidr?: pulumi.Input, serviceCidr?: pulumi.Input }>; /** - * A `network_profile` block. + * The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. */ - readonly networkProfile?: pulumi.Input<{ dnsServiceIp?: pulumi.Input, dockerBridgeCidr?: pulumi.Input, networkPlugin: pulumi.Input, networkPolicy?: pulumi.Input, podCidr?: pulumi.Input, serviceCidr?: pulumi.Input }>; + readonly nodeResourceGroup?: pulumi.Input; /** * Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Input; - /** - * A `role_based_access_control` block. Changing this forces a new resource to be created. - */ readonly roleBasedAccessControl?: pulumi.Input<{ azureActiveDirectory?: pulumi.Input<{ clientAppId: pulumi.Input, serverAppId: pulumi.Input, serverAppSecret: pulumi.Input, tenantId?: pulumi.Input }>, enabled: pulumi.Input }>; /** * A `service_principal` block as documented below. */ readonly servicePrincipal: pulumi.Input<{ clientId: pulumi.Input, clientSecret: pulumi.Input }>; - /** - * A mapping of tags to assign to the resource. - */ readonly tags?: pulumi.Input<{[key: string]: any}>; + readonly windowsProfile?: pulumi.Input<{ adminPassword?: pulumi.Input, adminUsername: pulumi.Input }>; } diff --git a/sdk/nodejs/containerservice/registry.ts b/sdk/nodejs/containerservice/registry.ts index 78bb326345..87295ae33a 100644 --- a/sdk/nodejs/containerservice/registry.ts +++ b/sdk/nodejs/containerservice/registry.ts @@ -90,6 +90,10 @@ export class Registry extends pulumi.CustomResource { * Specifies the name of the Container Registry. Changing this forces a new resource to be created. */ public readonly name!: pulumi.Output; + /** + * A `network_rule_set` block as documented below. + */ + public readonly networkRuleSet!: pulumi.Output<{ defaultAction?: string, ipRules?: { action: string, ipRange: string }[] }>; /** * The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. */ @@ -127,6 +131,7 @@ export class Registry extends pulumi.CustomResource { inputs["location"] = state ? state.location : undefined; inputs["loginServer"] = state ? state.loginServer : undefined; inputs["name"] = state ? state.name : undefined; + inputs["networkRuleSet"] = state ? state.networkRuleSet : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; inputs["sku"] = state ? state.sku : undefined; inputs["storageAccount"] = state ? state.storageAccount : undefined; @@ -141,6 +146,7 @@ export class Registry extends pulumi.CustomResource { inputs["georeplicationLocations"] = args ? args.georeplicationLocations : undefined; inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; + inputs["networkRuleSet"] = args ? args.networkRuleSet : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["sku"] = args ? args.sku : undefined; inputs["storageAccount"] = args ? args.storageAccount : undefined; @@ -193,6 +199,10 @@ export interface RegistryState { * Specifies the name of the Container Registry. Changing this forces a new resource to be created. */ readonly name?: pulumi.Input; + /** + * A `network_rule_set` block as documented below. + */ + readonly networkRuleSet?: pulumi.Input<{ defaultAction?: pulumi.Input, ipRules?: pulumi.Input, ipRange: pulumi.Input }>[]> }>; /** * The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. */ @@ -232,6 +242,10 @@ export interface RegistryArgs { * Specifies the name of the Container Registry. Changing this forces a new resource to be created. */ readonly name?: pulumi.Input; + /** + * A `network_rule_set` block as documented below. + */ + readonly networkRuleSet?: pulumi.Input<{ defaultAction?: pulumi.Input, ipRules?: pulumi.Input, ipRange: pulumi.Input }>[]> }>; /** * The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/core/getSubscription.ts b/sdk/nodejs/core/getSubscription.ts index 16a18407c1..2e06136d75 100644 --- a/sdk/nodejs/core/getSubscription.ts +++ b/sdk/nodejs/core/getSubscription.ts @@ -74,6 +74,10 @@ export interface GetSubscriptionResult { * The subscription GUID. */ readonly subscriptionId: string; + /** + * The subscription tenant ID. + */ + readonly tenantId: string; /** * id is the provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/core/getSubscriptions.ts b/sdk/nodejs/core/getSubscriptions.ts index 79f35d1f1f..b756217e9b 100644 --- a/sdk/nodejs/core/getSubscriptions.ts +++ b/sdk/nodejs/core/getSubscriptions.ts @@ -61,7 +61,7 @@ export interface GetSubscriptionsResult { /** * One or more `subscription` blocks as defined below. */ - readonly subscriptions: { displayName: string, locationPlacementId: string, quotaId: string, spendingLimit: string, state: string, subscriptionId: string }[]; + readonly subscriptions: { displayName: string, locationPlacementId: string, quotaId: string, spendingLimit: string, state: string, subscriptionId: string, tenantId: string }[]; /** * id is the provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/cosmosdb/mongoCollection.ts b/sdk/nodejs/cosmosdb/mongoCollection.ts index 3cb21a6546..136875a7e8 100644 --- a/sdk/nodejs/cosmosdb/mongoCollection.ts +++ b/sdk/nodejs/cosmosdb/mongoCollection.ts @@ -17,9 +17,14 @@ import * as utilities from "../utilities"; * name: "tfex-cosmosdb-account", * resourceGroupName: "tfex-cosmosdb-account-rg", * })); + * const exampleMongoDatabase = new azure.cosmosdb.MongoDatabase("example", { + * accountName: exampleAccount.name, + * name: "tfex-cosmos-mongo-db", + * resourceGroupName: exampleAccount.resourceGroupName, + * }); * const exampleMongoCollection = new azure.cosmosdb.MongoCollection("example", { * accountName: exampleAccount.name, - * databaseName: exampleAccount.name, + * databaseName: exampleMongoDatabase.name, * defaultTtlSeconds: 777, * indexes: [ * { @@ -35,11 +40,6 @@ import * as utilities from "../utilities"; * resourceGroupName: exampleAccount.resourceGroupName, * shardKey: "uniqueKey", * }); - * const exampleMongoDatabase = new azure.cosmosdb.MongoDatabase("example", { - * accountName: exampleAccount.name, - * name: "tfex-cosmos-mongo-db", - * resourceGroupName: exampleAccount.resourceGroupName, - * }); * ``` * * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/cosmosdb_mongo_collection.html.markdown. diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index ebe6adacbb..875bedafc4 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -8,6 +8,7 @@ export * from "./util"; // Export sub-modules: import * as ad from "./ad/index"; +import * as analysisservices from "./analysisservices/index"; import * as apimanagement from "./apimanagement/index"; import * as appinsights from "./appinsights/index"; import * as appservice from "./appservice/index"; @@ -37,6 +38,7 @@ import * as loganalytics from "./loganalytics/index"; import * as logicapps from "./logicapps/index"; import * as managementgroups from "./managementgroups/index"; import * as managementresource from "./managementresource/index"; +import * as maps from "./maps/index"; import * as mariadb from "./mariadb/index"; import * as mediaservices from "./mediaservices/index"; import * as monitoring from "./monitoring/index"; @@ -62,4 +64,4 @@ import * as sql from "./sql/index"; import * as storage from "./storage/index"; import * as streamanalytics from "./streamanalytics/index"; import * as trafficmanager from "./trafficmanager/index"; -export {ad, apimanagement, appinsights, appservice, automation, autoscale, batch, cdn, cognitive, compute, config, containerservice, core, cosmosdb, databricks, datafactory, datalake, ddosprotection, devspace, devtest, dns, eventhub, hdinsight, iot, keyvault, lb, loganalytics, logicapps, managementgroups, managementresource, mariadb, mediaservices, monitoring, msi, mssql, mysql, network, notificationhub, operationalinsights, policy, postgresql, privatedns, recoveryservices, redis, relay, role, scheduler, search, securitycenter, servicefabric, signalr, sql, storage, streamanalytics, trafficmanager}; +export {ad, analysisservices, apimanagement, appinsights, appservice, automation, autoscale, batch, cdn, cognitive, compute, config, containerservice, core, cosmosdb, databricks, datafactory, datalake, ddosprotection, devspace, devtest, dns, eventhub, hdinsight, iot, keyvault, lb, loganalytics, logicapps, managementgroups, managementresource, maps, mariadb, mediaservices, monitoring, msi, mssql, mysql, network, notificationhub, operationalinsights, policy, postgresql, privatedns, recoveryservices, redis, relay, role, scheduler, search, securitycenter, servicefabric, signalr, sql, storage, streamanalytics, trafficmanager}; diff --git a/sdk/nodejs/iot/ioTHub.ts b/sdk/nodejs/iot/ioTHub.ts index c608599299..7a372e941f 100644 --- a/sdk/nodejs/iot/ioTHub.ts +++ b/sdk/nodejs/iot/ioTHub.ts @@ -24,6 +24,12 @@ import * as utilities from "../utilities"; * name: "teststa", * resourceGroupName: testResourceGroup.name, * }); + * const testContainer = new azure.storage.Container("test", { + * containerAccessType: "private", + * name: "test", + * resourceGroupName: testResourceGroup.name, + * storageAccountName: testAccount.name, + * }); * const testIoTHub = new azure.iot.IoTHub("test", { * endpoints: [{ * batchFrequencyInSeconds: 60, @@ -38,6 +44,15 @@ import * as utilities from "../utilities"; * fallbackRoute: { * enabled: true, * }, + * fileUpload: { + * connectionString: testAccount.primaryBlobConnectionString, + * containerName: testContainer.name, + * defaultTtl: "PT1H", + * lockDuration: "PT1M", + * maxDeliveryCount: 10, + * notifications: true, + * sasTtl: "PT1H", + * }, * location: testResourceGroup.location, * name: "test", * resourceGroupName: testResourceGroup.name, @@ -57,12 +72,6 @@ import * as utilities from "../utilities"; * purpose: "testing", * }, * }); - * const testContainer = new azure.storage.Container("test", { - * containerAccessType: "private", - * name: "test", - * resourceGroupName: testResourceGroup.name, - * storageAccountName: testAccount.name, - * }); * ``` * * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/iothub.html.markdown. @@ -118,6 +127,10 @@ export class IoTHub extends pulumi.CustomResource { * A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. */ public readonly fallbackRoute!: pulumi.Output<{ condition?: string, enabled: boolean, endpointNames: string[], source?: string }>; + /** + * A `file_upload` block as defined below. + */ + public readonly fileUpload!: pulumi.Output<{ connectionString: string, containerName: string, defaultTtl: string, lockDuration: string, maxDeliveryCount?: number, notifications?: boolean, sasTtl: string } | undefined>; /** * The hostname of the IotHub Resource. */ @@ -174,6 +187,7 @@ export class IoTHub extends pulumi.CustomResource { inputs["eventHubOperationsEndpoint"] = state ? state.eventHubOperationsEndpoint : undefined; inputs["eventHubOperationsPath"] = state ? state.eventHubOperationsPath : undefined; inputs["fallbackRoute"] = state ? state.fallbackRoute : undefined; + inputs["fileUpload"] = state ? state.fileUpload : undefined; inputs["hostname"] = state ? state.hostname : undefined; inputs["ipFilterRules"] = state ? state.ipFilterRules : undefined; inputs["location"] = state ? state.location : undefined; @@ -194,6 +208,7 @@ export class IoTHub extends pulumi.CustomResource { } inputs["endpoints"] = args ? args.endpoints : undefined; inputs["fallbackRoute"] = args ? args.fallbackRoute : undefined; + inputs["fileUpload"] = args ? args.fileUpload : undefined; inputs["ipFilterRules"] = args ? args.ipFilterRules : undefined; inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; @@ -248,6 +263,10 @@ export interface IoTHubState { * A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. */ readonly fallbackRoute?: pulumi.Input<{ condition?: pulumi.Input, enabled?: pulumi.Input, endpointNames?: pulumi.Input[]>, source?: pulumi.Input }>; + /** + * A `file_upload` block as defined below. + */ + readonly fileUpload?: pulumi.Input<{ connectionString: pulumi.Input, containerName: pulumi.Input, defaultTtl?: pulumi.Input, lockDuration?: pulumi.Input, maxDeliveryCount?: pulumi.Input, notifications?: pulumi.Input, sasTtl?: pulumi.Input }>; /** * The hostname of the IotHub Resource. */ @@ -299,6 +318,10 @@ export interface IoTHubArgs { * A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. */ readonly fallbackRoute?: pulumi.Input<{ condition?: pulumi.Input, enabled?: pulumi.Input, endpointNames?: pulumi.Input[]>, source?: pulumi.Input }>; + /** + * A `file_upload` block as defined below. + */ + readonly fileUpload?: pulumi.Input<{ connectionString: pulumi.Input, containerName: pulumi.Input, defaultTtl?: pulumi.Input, lockDuration?: pulumi.Input, maxDeliveryCount?: pulumi.Input, notifications?: pulumi.Input, sasTtl?: pulumi.Input }>; /** * One or more `ip_filter_rule` blocks as defined below. */ diff --git a/sdk/nodejs/maps/README.md b/sdk/nodejs/maps/README.md new file mode 100644 index 0000000000..94a5c24325 --- /dev/null +++ b/sdk/nodejs/maps/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). diff --git a/sdk/nodejs/maps/account.ts b/sdk/nodejs/maps/account.ts new file mode 100644 index 0000000000..28f0cf0cf1 --- /dev/null +++ b/sdk/nodejs/maps/account.ts @@ -0,0 +1,188 @@ +// *** 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 Azure Maps Account. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const testResourceGroup = new azure.core.ResourceGroup("test", { + * location: "West Europe", + * name: "example-resources", + * }); + * const testAccount = new azure.maps.Account("test", { + * name: "example-maps-account", + * resourceGroupName: testResourceGroup.name, + * skuName: "s1", + * tags: { + * environment: "Test", + * }, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/maps_account.html.markdown. + */ +export class Account extends pulumi.CustomResource { + /** + * Get an existing Account 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. + */ + public static get(name: string, id: pulumi.Input, state?: AccountState, opts?: pulumi.CustomResourceOptions): Account { + return new Account(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:maps/account:Account'; + + /** + * Returns true if the given object is an instance of Account. 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 Account { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Account.__pulumiType; + } + + /** + * The name of the Azure Maps Account. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The primary key used to authenticate and authorize access to the Maps REST APIs. + */ + public /*out*/ readonly primaryAccessKey!: pulumi.Output; + /** + * The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * The secondary key used to authenticate and authorize access to the Maps REST APIs. + */ + public /*out*/ readonly secondaryAccessKey!: pulumi.Output; + /** + * The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + */ + public readonly skuName!: pulumi.Output; + /** + * A mapping of tags to assign to the Azure Maps Account. + */ + public readonly tags!: pulumi.Output<{[key: string]: any}>; + /** + * A unique identifier for the Maps Account. + */ + public /*out*/ readonly xMsClientId!: pulumi.Output; + + /** + * Create a Account 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: AccountArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AccountArgs | AccountState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as AccountState | undefined; + inputs["name"] = state ? state.name : undefined; + inputs["primaryAccessKey"] = state ? state.primaryAccessKey : undefined; + inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + inputs["secondaryAccessKey"] = state ? state.secondaryAccessKey : undefined; + inputs["skuName"] = state ? state.skuName : undefined; + inputs["tags"] = state ? state.tags : undefined; + inputs["xMsClientId"] = state ? state.xMsClientId : undefined; + } else { + const args = argsOrState as AccountArgs | undefined; + if (!args || args.resourceGroupName === undefined) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if (!args || args.skuName === undefined) { + throw new Error("Missing required property 'skuName'"); + } + inputs["name"] = args ? args.name : undefined; + inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + inputs["skuName"] = args ? args.skuName : undefined; + inputs["tags"] = args ? args.tags : undefined; + inputs["primaryAccessKey"] = undefined /*out*/; + inputs["secondaryAccessKey"] = undefined /*out*/; + inputs["xMsClientId"] = undefined /*out*/; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(Account.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Account resources. + */ +export interface AccountState { + /** + * The name of the Azure Maps Account. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The primary key used to authenticate and authorize access to the Maps REST APIs. + */ + readonly primaryAccessKey?: pulumi.Input; + /** + * The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + */ + readonly resourceGroupName?: pulumi.Input; + /** + * The secondary key used to authenticate and authorize access to the Maps REST APIs. + */ + readonly secondaryAccessKey?: pulumi.Input; + /** + * The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + */ + readonly skuName?: pulumi.Input; + /** + * A mapping of tags to assign to the Azure Maps Account. + */ + readonly tags?: pulumi.Input<{[key: string]: any}>; + /** + * A unique identifier for the Maps Account. + */ + readonly xMsClientId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Account resource. + */ +export interface AccountArgs { + /** + * The name of the Azure Maps Account. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + */ + readonly resourceGroupName: pulumi.Input; + /** + * The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + */ + readonly skuName: pulumi.Input; + /** + * A mapping of tags to assign to the Azure Maps Account. + */ + readonly tags?: pulumi.Input<{[key: string]: any}>; +} diff --git a/sdk/nodejs/maps/getAccount.ts b/sdk/nodejs/maps/getAccount.ts new file mode 100644 index 0000000000..3ebb12f42b --- /dev/null +++ b/sdk/nodejs/maps/getAccount.ts @@ -0,0 +1,85 @@ +// *** 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"; + +/** + * Use this data source to access information about an existing Azure Maps Account. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const test = pulumi.output(azure.maps.getAccount({ + * name: "production", + * resourceGroupName: "maps", + * })); + * + * export const mapsAccountId = test.id; + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/maps_account.html.markdown. + */ +export function getAccount(args: GetAccountArgs, opts?: pulumi.InvokeOptions): Promise & GetAccountResult { + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + const promise: Promise = pulumi.runtime.invoke("azure:maps/getAccount:getAccount", { + "name": args.name, + "resourceGroupName": args.resourceGroupName, + "tags": args.tags, + }, opts); + + return pulumi.utils.liftProperties(promise, opts); +} + +/** + * A collection of arguments for invoking getAccount. + */ +export interface GetAccountArgs { + /** + * Specifies the name of the Maps Account. + */ + readonly name: string; + /** + * Specifies the name of the Resource Group in which the Maps Account is located. + */ + readonly resourceGroupName: string; + readonly tags?: {[key: string]: any}; +} + +/** + * A collection of values returned by getAccount. + */ +export interface GetAccountResult { + readonly name: string; + /** + * The primary key used to authenticate and authorize access to the Maps REST APIs. + */ + readonly primaryAccessKey: string; + readonly resourceGroupName: string; + /** + * The primary key used to authenticate and authorize access to the Maps REST APIs. The second key is given to provide seemless key regeneration. + */ + readonly secondaryAccessKey: string; + /** + * The sku of the Azure Maps Account. + */ + readonly skuName: string; + readonly tags: {[key: string]: any}; + /** + * A unique identifier for the Maps Account. + */ + readonly xMsClientId: string; + /** + * id is the provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} diff --git a/sdk/nodejs/maps/index.ts b/sdk/nodejs/maps/index.ts new file mode 100644 index 0000000000..6709ca4e47 --- /dev/null +++ b/sdk/nodejs/maps/index.ts @@ -0,0 +1,6 @@ +// *** 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! *** + +// Export members: +export * from "./account"; +export * from "./getAccount"; diff --git a/sdk/nodejs/mssql/getElasticpool.ts b/sdk/nodejs/mssql/getElasticpool.ts new file mode 100644 index 0000000000..6bcc6cc106 --- /dev/null +++ b/sdk/nodejs/mssql/getElasticpool.ts @@ -0,0 +1,101 @@ +// *** 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"; + +/** + * Use this data source to access information about an existing SQL elastic pool. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = pulumi.output(azure.mssql.getElasticpool({ + * name: "mssqlelasticpoolname", + * resourceGroupName: "example-resources", + * serverName: "example-sql-server", + * })); + * + * export const elasticpoolId = example.id; + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/mssql_elasticpool.html.markdown. + */ +export function getElasticpool(args: GetElasticpoolArgs, opts?: pulumi.InvokeOptions): Promise & GetElasticpoolResult { + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + const promise: Promise = pulumi.runtime.invoke("azure:mssql/getElasticpool:getElasticpool", { + "name": args.name, + "resourceGroupName": args.resourceGroupName, + "serverName": args.serverName, + }, opts); + + return pulumi.utils.liftProperties(promise, opts); +} + +/** + * A collection of arguments for invoking getElasticpool. + */ +export interface GetElasticpoolArgs { + /** + * The name of the elastic pool. + */ + readonly name: string; + /** + * The name of the resource group which contains the elastic pool. + */ + readonly resourceGroupName: string; + /** + * The name of the SQL Server which contains the elastic pool. + */ + readonly serverName: string; +} + +/** + * A collection of values returned by getElasticpool. + */ +export interface GetElasticpoolResult { + /** + * Specifies the supported Azure location where the resource exists. + */ + readonly location: string; + /** + * The max data size of the elastic pool in bytes. + */ + readonly maxSizeBytes: number; + /** + * The max data size of the elastic pool in gigabytes. + */ + readonly maxSizeGb: number; + readonly name: string; + /** + * The maximum capacity any one database can consume. + */ + readonly perDbMaxCapacity: number; + /** + * The minimum capacity all databases are guaranteed. + */ + readonly perDbMinCapacity: number; + readonly resourceGroupName: string; + readonly serverName: string; + /** + * A mapping of tags to assign to the resource. + */ + readonly tags: {[key: string]: any}; + /** + * Whether or not this elastic pool is zone redundant. + */ + readonly zoneRedundant: boolean; + /** + * id is the provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} diff --git a/sdk/nodejs/mssql/index.ts b/sdk/nodejs/mssql/index.ts index d0497b8604..0727435a49 100644 --- a/sdk/nodejs/mssql/index.ts +++ b/sdk/nodejs/mssql/index.ts @@ -3,3 +3,4 @@ // Export members: export * from "./elasticPool"; +export * from "./getElasticpool"; diff --git a/sdk/nodejs/mysql/database.ts b/sdk/nodejs/mysql/database.ts index c06b9abe6c..d8e28a9485 100644 --- a/sdk/nodejs/mysql/database.ts +++ b/sdk/nodejs/mysql/database.ts @@ -25,7 +25,7 @@ import * as utilities from "../utilities"; * resourceGroupName: testResourceGroup.name, * sku: { * capacity: 2, - * family: "Gen4", + * family: "Gen5", * name: "B_Gen5_2", * tier: "Basic", * }, diff --git a/sdk/nodejs/network/applicationGateway.ts b/sdk/nodejs/network/applicationGateway.ts index 15bd51651b..33532046e4 100644 --- a/sdk/nodejs/network/applicationGateway.ts +++ b/sdk/nodejs/network/applicationGateway.ts @@ -170,6 +170,10 @@ export class ApplicationGateway extends pulumi.CustomResource { * One or more `http_listener` blocks as defined below. */ public readonly httpListeners!: pulumi.Output<{ customErrorConfigurations?: { customErrorPageUrl: string, id: string, statusCode: string }[], frontendIpConfigurationId: string, frontendIpConfigurationName: string, frontendPortId: string, frontendPortName: string, hostName?: string, id: string, name: string, protocol: string, requireSni?: boolean, sslCertificateId: string, sslCertificateName?: string }[]>; + /** + * A `identity` block. + */ + public readonly identity!: pulumi.Output<{ identityIds: string, type?: string }>; /** * The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. */ @@ -250,6 +254,7 @@ export class ApplicationGateway extends pulumi.CustomResource { inputs["frontendPorts"] = state ? state.frontendPorts : undefined; inputs["gatewayIpConfigurations"] = state ? state.gatewayIpConfigurations : undefined; inputs["httpListeners"] = state ? state.httpListeners : undefined; + inputs["identity"] = state ? state.identity : undefined; inputs["location"] = state ? state.location : undefined; inputs["name"] = state ? state.name : undefined; inputs["probes"] = state ? state.probes : undefined; @@ -304,6 +309,7 @@ export class ApplicationGateway extends pulumi.CustomResource { inputs["frontendPorts"] = args ? args.frontendPorts : undefined; inputs["gatewayIpConfigurations"] = args ? args.gatewayIpConfigurations : undefined; inputs["httpListeners"] = args ? args.httpListeners : undefined; + inputs["identity"] = args ? args.identity : undefined; inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; inputs["probes"] = args ? args.probes : undefined; @@ -379,6 +385,10 @@ export interface ApplicationGatewayState { * One or more `http_listener` blocks as defined below. */ readonly httpListeners?: pulumi.Input, id?: pulumi.Input, statusCode: pulumi.Input }>[]>, frontendIpConfigurationId?: pulumi.Input, frontendIpConfigurationName: pulumi.Input, frontendPortId?: pulumi.Input, frontendPortName: pulumi.Input, hostName?: pulumi.Input, id?: pulumi.Input, name: pulumi.Input, protocol: pulumi.Input, requireSni?: pulumi.Input, sslCertificateId?: pulumi.Input, sslCertificateName?: pulumi.Input }>[]>; + /** + * A `identity` block. + */ + readonly identity?: pulumi.Input<{ identityIds: pulumi.Input, type?: pulumi.Input }>; /** * The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. */ @@ -486,6 +496,10 @@ export interface ApplicationGatewayArgs { * One or more `http_listener` blocks as defined below. */ readonly httpListeners: pulumi.Input, id?: pulumi.Input, statusCode: pulumi.Input }>[]>, frontendIpConfigurationId?: pulumi.Input, frontendIpConfigurationName: pulumi.Input, frontendPortId?: pulumi.Input, frontendPortName: pulumi.Input, hostName?: pulumi.Input, id?: pulumi.Input, name: pulumi.Input, protocol: pulumi.Input, requireSni?: pulumi.Input, sslCertificateId?: pulumi.Input, sslCertificateName?: pulumi.Input }>[]>; + /** + * A `identity` block. + */ + readonly identity?: pulumi.Input<{ identityIds: pulumi.Input, type?: pulumi.Input }>; /** * The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation.ts b/sdk/nodejs/network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation.ts index 783cb57d1c..1335424c8b 100644 --- a/sdk/nodejs/network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation.ts +++ b/sdk/nodejs/network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation.ts @@ -97,7 +97,7 @@ import * as utilities from "../utilities"; * resourceGroupName: testResourceGroup.name, * }); * const testNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation("test", { - * backendAddressPoolId: azurerm_application_gateway_test.backendAddressPool.0.id, + * backendAddressPoolId: network.backendAddressPools[0].id, * ipConfigurationName: "testconfiguration1", * networkInterfaceId: testNetworkInterface.id, * }); diff --git a/sdk/nodejs/policy/definition.ts b/sdk/nodejs/policy/definition.ts index db0e087377..cdc68496c7 100644 --- a/sdk/nodejs/policy/definition.ts +++ b/sdk/nodejs/policy/definition.ts @@ -17,6 +17,10 @@ import * as utilities from "../utilities"; * * const policy = new azure.policy.Definition("policy", { * displayName: "acceptance test policy definition", + * metadata: ` { + * "category": "General" + * } + * `, * mode: "Indexed", * name: "accTestPolicy", * parameters: ` { diff --git a/sdk/nodejs/privatedns/aRecord.ts b/sdk/nodejs/privatedns/aRecord.ts new file mode 100644 index 0000000000..5d65e8d8d1 --- /dev/null +++ b/sdk/nodejs/privatedns/aRecord.ts @@ -0,0 +1,186 @@ +// *** 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"; + +/** + * Enables you to manage DNS A Records within Azure Private DNS. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const testResourceGroup = new azure.core.ResourceGroup("test", { + * location: "West US", + * name: "acceptanceTestResourceGroup1", + * }); + * const testARecord = new azure.privatedns.ARecord("test", { + * name: "test", + * records: ["10.0.180.17"], + * resourceGroupName: testResourceGroup.name, + * ttl: 300, + * zoneName: azurerm_dns_zone_test.name, + * }); + * const testZone = new azure.privatedns.Zone("test", { + * name: "mydomain.com", + * resourceGroupName: testResourceGroup.name, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/private_dns_a_record.html.markdown. + */ +export class ARecord extends pulumi.CustomResource { + /** + * Get an existing ARecord 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. + */ + public static get(name: string, id: pulumi.Input, state?: ARecordState, opts?: pulumi.CustomResourceOptions): ARecord { + return new ARecord(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:privatedns/aRecord:ARecord'; + + /** + * Returns true if the given object is an instance of ARecord. 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 ARecord { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ARecord.__pulumiType; + } + + /** + * The name of the DNS A Record. + */ + public readonly name!: pulumi.Output; + /** + * List of IPv4 Addresses. + */ + public readonly records!: pulumi.Output; + /** + * Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * A mapping of tags to assign to the resource. + */ + public readonly tags!: pulumi.Output<{[key: string]: any}>; + public readonly ttl!: pulumi.Output; + /** + * Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + */ + public readonly zoneName!: pulumi.Output; + + /** + * Create a ARecord 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: ARecordArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ARecordArgs | ARecordState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as ARecordState | undefined; + inputs["name"] = state ? state.name : undefined; + inputs["records"] = state ? state.records : undefined; + inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + inputs["tags"] = state ? state.tags : undefined; + inputs["ttl"] = state ? state.ttl : undefined; + inputs["zoneName"] = state ? state.zoneName : undefined; + } else { + const args = argsOrState as ARecordArgs | undefined; + if (!args || args.records === undefined) { + throw new Error("Missing required property 'records'"); + } + if (!args || args.resourceGroupName === undefined) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if (!args || args.ttl === undefined) { + throw new Error("Missing required property 'ttl'"); + } + if (!args || args.zoneName === undefined) { + throw new Error("Missing required property 'zoneName'"); + } + inputs["name"] = args ? args.name : undefined; + inputs["records"] = args ? args.records : undefined; + inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + inputs["tags"] = args ? args.tags : undefined; + inputs["ttl"] = args ? args.ttl : undefined; + inputs["zoneName"] = args ? args.zoneName : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(ARecord.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ARecord resources. + */ +export interface ARecordState { + /** + * The name of the DNS A Record. + */ + readonly name?: pulumi.Input; + /** + * List of IPv4 Addresses. + */ + readonly records?: pulumi.Input[]>; + /** + * Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + */ + readonly resourceGroupName?: pulumi.Input; + /** + * A mapping of tags to assign to the resource. + */ + readonly tags?: pulumi.Input<{[key: string]: any}>; + readonly ttl?: pulumi.Input; + /** + * Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + */ + readonly zoneName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ARecord resource. + */ +export interface ARecordArgs { + /** + * The name of the DNS A Record. + */ + readonly name?: pulumi.Input; + /** + * List of IPv4 Addresses. + */ + readonly records: pulumi.Input[]>; + /** + * Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + */ + readonly resourceGroupName: pulumi.Input; + /** + * A mapping of tags to assign to the resource. + */ + readonly tags?: pulumi.Input<{[key: string]: any}>; + readonly ttl: pulumi.Input; + /** + * Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + */ + readonly zoneName: pulumi.Input; +} diff --git a/sdk/nodejs/privatedns/index.ts b/sdk/nodejs/privatedns/index.ts index 4c933b2f2d..5b873c4ac5 100644 --- a/sdk/nodejs/privatedns/index.ts +++ b/sdk/nodejs/privatedns/index.ts @@ -2,4 +2,5 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** // Export members: +export * from "./aRecord"; export * from "./zone"; diff --git a/sdk/nodejs/recoveryservices/protectedVM.ts b/sdk/nodejs/recoveryservices/protectedVM.ts index 4baa14aa59..4fef0d2780 100644 --- a/sdk/nodejs/recoveryservices/protectedVM.ts +++ b/sdk/nodejs/recoveryservices/protectedVM.ts @@ -70,7 +70,7 @@ export class ProtectedVM extends pulumi.CustomResource { } /** - * Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + * Specifies the id of the backup policy to use. */ public readonly backupPolicyId!: pulumi.Output; /** @@ -143,7 +143,7 @@ export class ProtectedVM extends pulumi.CustomResource { */ export interface ProtectedVMState { /** - * Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + * Specifies the id of the backup policy to use. */ readonly backupPolicyId?: pulumi.Input; /** @@ -169,7 +169,7 @@ export interface ProtectedVMState { */ export interface ProtectedVMArgs { /** - * Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + * Specifies the id of the backup policy to use. */ readonly backupPolicyId: pulumi.Input; /** diff --git a/sdk/nodejs/redis/cache.ts b/sdk/nodejs/redis/cache.ts index 8b07cbd639..d8d72e3f57 100644 --- a/sdk/nodejs/redis/cache.ts +++ b/sdk/nodejs/redis/cache.ts @@ -39,7 +39,7 @@ export class Cache extends pulumi.CustomResource { */ public readonly capacity!: pulumi.Output; /** - * Enable the non-SSL port (6789) - disabled by default. + * Enable the non-SSL port (6379) - disabled by default. */ public readonly enableNonSslPort!: pulumi.Output; /** @@ -204,7 +204,7 @@ export interface CacheState { */ readonly capacity?: pulumi.Input; /** - * Enable the non-SSL port (6789) - disabled by default. + * Enable the non-SSL port (6379) - disabled by default. */ readonly enableNonSslPort?: pulumi.Input; /** @@ -292,7 +292,7 @@ export interface CacheArgs { */ readonly capacity: pulumi.Input; /** - * Enable the non-SSL port (6789) - disabled by default. + * Enable the non-SSL port (6379) - disabled by default. */ readonly enableNonSslPort?: pulumi.Input; /** diff --git a/sdk/nodejs/securitycenter/contact.ts b/sdk/nodejs/securitycenter/contact.ts index 198c6c0f30..0df4408bcc 100644 --- a/sdk/nodejs/securitycenter/contact.ts +++ b/sdk/nodejs/securitycenter/contact.ts @@ -67,7 +67,7 @@ export class Contact extends pulumi.CustomResource { /** * The phone number of the Security Center Contact. */ - public readonly phone!: pulumi.Output; + public readonly phone!: pulumi.Output; /** * Create a Contact resource with the given unique name, arguments, and options. @@ -96,9 +96,6 @@ export class Contact extends pulumi.CustomResource { if (!args || args.email === undefined) { throw new Error("Missing required property 'email'"); } - if (!args || args.phone === undefined) { - throw new Error("Missing required property 'phone'"); - } inputs["alertNotifications"] = args ? args.alertNotifications : undefined; inputs["alertsToAdmins"] = args ? args.alertsToAdmins : undefined; inputs["email"] = args ? args.email : undefined; @@ -156,5 +153,5 @@ export interface ContactArgs { /** * The phone number of the Security Center Contact. */ - readonly phone: pulumi.Input; + readonly phone?: pulumi.Input; } diff --git a/sdk/nodejs/storage/account.ts b/sdk/nodejs/storage/account.ts index 06a5b623cf..a2b784b09b 100644 --- a/sdk/nodejs/storage/account.ts +++ b/sdk/nodejs/storage/account.ts @@ -102,7 +102,7 @@ export class Account extends pulumi.CustomResource { } /** - * Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + * Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. */ public readonly accessTier!: pulumi.Output; /** @@ -110,9 +110,7 @@ export class Account extends pulumi.CustomResource { */ public readonly accountEncryptionSource!: pulumi.Output; /** - * Defines the Kind of account. Valid options are `Storage`, - * `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - * Defaults to `Storage`. + * Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. */ public readonly accountKind!: pulumi.Output; /** @@ -120,7 +118,7 @@ export class Account extends pulumi.CustomResource { */ public readonly accountReplicationType!: pulumi.Output; /** - * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. */ public readonly accountTier!: pulumi.Output; public readonly accountType!: pulumi.Output; @@ -128,6 +126,10 @@ export class Account extends pulumi.CustomResource { * A `custom_domain` block as documented below. */ public readonly customDomain!: pulumi.Output<{ name: string, useSubdomain?: boolean } | undefined>; + /** + * Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + */ + public readonly enableAdvancedThreatProtection!: pulumi.Output; /** * Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. */ @@ -150,8 +152,7 @@ export class Account extends pulumi.CustomResource { */ public readonly isHnsEnabled!: pulumi.Output; /** - * Specifies the supported Azure location where the - * resource exists. Changing this forces a new resource to be created. + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ public readonly location!: pulumi.Output; /** @@ -227,8 +228,11 @@ export class Account extends pulumi.CustomResource { */ public /*out*/ readonly primaryWebHost!: pulumi.Output; /** - * The name of the resource group in which to - * create the storage account. Changing this forces a new resource to be created. + * A Queue Property block as defined below. + */ + public readonly queueProperties!: pulumi.Output<{ corsRules?: { allowedHeaders: string[], allowedMethods: string[], allowedOrigins: string[], exposedHeaders: string[], maxAgeInSeconds: number }[], hourMetrics?: { enabled: boolean, includeApis?: boolean, retentionPolicyDays?: number, version: string }, logging?: { delete: boolean, read: boolean, retentionPolicyDays?: number, version: string, write: boolean }, minuteMetrics?: { enabled: boolean, includeApis?: boolean, retentionPolicyDays?: number, version: string } }>; + /** + * The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. */ public readonly resourceGroupName!: pulumi.Output; /** @@ -319,6 +323,7 @@ export class Account extends pulumi.CustomResource { inputs["accountTier"] = state ? state.accountTier : undefined; inputs["accountType"] = state ? state.accountType : undefined; inputs["customDomain"] = state ? state.customDomain : undefined; + inputs["enableAdvancedThreatProtection"] = state ? state.enableAdvancedThreatProtection : undefined; inputs["enableBlobEncryption"] = state ? state.enableBlobEncryption : undefined; inputs["enableFileEncryption"] = state ? state.enableFileEncryption : undefined; inputs["enableHttpsTrafficOnly"] = state ? state.enableHttpsTrafficOnly : undefined; @@ -343,6 +348,7 @@ export class Account extends pulumi.CustomResource { inputs["primaryTableHost"] = state ? state.primaryTableHost : undefined; inputs["primaryWebEndpoint"] = state ? state.primaryWebEndpoint : undefined; inputs["primaryWebHost"] = state ? state.primaryWebHost : undefined; + inputs["queueProperties"] = state ? state.queueProperties : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; inputs["secondaryAccessKey"] = state ? state.secondaryAccessKey : undefined; inputs["secondaryBlobConnectionString"] = state ? state.secondaryBlobConnectionString : undefined; @@ -379,6 +385,7 @@ export class Account extends pulumi.CustomResource { inputs["accountTier"] = args ? args.accountTier : undefined; inputs["accountType"] = args ? args.accountType : undefined; inputs["customDomain"] = args ? args.customDomain : undefined; + inputs["enableAdvancedThreatProtection"] = args ? args.enableAdvancedThreatProtection : undefined; inputs["enableBlobEncryption"] = args ? args.enableBlobEncryption : undefined; inputs["enableFileEncryption"] = args ? args.enableFileEncryption : undefined; inputs["enableHttpsTrafficOnly"] = args ? args.enableHttpsTrafficOnly : undefined; @@ -387,6 +394,7 @@ export class Account extends pulumi.CustomResource { inputs["location"] = args ? args.location : undefined; inputs["name"] = args ? args.name : undefined; inputs["networkRules"] = args ? args.networkRules : undefined; + inputs["queueProperties"] = args ? args.queueProperties : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["tags"] = args ? args.tags : undefined; inputs["primaryAccessKey"] = undefined /*out*/; @@ -438,7 +446,7 @@ export class Account extends pulumi.CustomResource { */ export interface AccountState { /** - * Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + * Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. */ readonly accessTier?: pulumi.Input; /** @@ -446,9 +454,7 @@ export interface AccountState { */ readonly accountEncryptionSource?: pulumi.Input; /** - * Defines the Kind of account. Valid options are `Storage`, - * `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - * Defaults to `Storage`. + * Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. */ readonly accountKind?: pulumi.Input; /** @@ -456,7 +462,7 @@ export interface AccountState { */ readonly accountReplicationType?: pulumi.Input; /** - * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. */ readonly accountTier?: pulumi.Input; readonly accountType?: pulumi.Input; @@ -464,6 +470,10 @@ export interface AccountState { * A `custom_domain` block as documented below. */ readonly customDomain?: pulumi.Input<{ name: pulumi.Input, useSubdomain?: pulumi.Input }>; + /** + * Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + */ + readonly enableAdvancedThreatProtection?: pulumi.Input; /** * Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. */ @@ -486,8 +496,7 @@ export interface AccountState { */ readonly isHnsEnabled?: pulumi.Input; /** - * Specifies the supported Azure location where the - * resource exists. Changing this forces a new resource to be created. + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ readonly location?: pulumi.Input; /** @@ -563,8 +572,11 @@ export interface AccountState { */ readonly primaryWebHost?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage account. Changing this forces a new resource to be created. + * A Queue Property block as defined below. + */ + readonly queueProperties?: pulumi.Input<{ corsRules?: pulumi.Input[]>, allowedMethods: pulumi.Input[]>, allowedOrigins: pulumi.Input[]>, exposedHeaders: pulumi.Input[]>, maxAgeInSeconds: pulumi.Input }>[]>, hourMetrics?: pulumi.Input<{ enabled: pulumi.Input, includeApis?: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input }>, logging?: pulumi.Input<{ delete: pulumi.Input, read: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input, write: pulumi.Input }>, minuteMetrics?: pulumi.Input<{ enabled: pulumi.Input, includeApis?: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input }> }>; + /** + * The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. */ readonly resourceGroupName?: pulumi.Input; /** @@ -642,7 +654,7 @@ export interface AccountState { */ export interface AccountArgs { /** - * Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + * Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. */ readonly accessTier?: pulumi.Input; /** @@ -650,9 +662,7 @@ export interface AccountArgs { */ readonly accountEncryptionSource?: pulumi.Input; /** - * Defines the Kind of account. Valid options are `Storage`, - * `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - * Defaults to `Storage`. + * Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. */ readonly accountKind?: pulumi.Input; /** @@ -660,7 +670,7 @@ export interface AccountArgs { */ readonly accountReplicationType: pulumi.Input; /** - * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + * Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. */ readonly accountTier: pulumi.Input; readonly accountType?: pulumi.Input; @@ -668,6 +678,10 @@ export interface AccountArgs { * A `custom_domain` block as documented below. */ readonly customDomain?: pulumi.Input<{ name: pulumi.Input, useSubdomain?: pulumi.Input }>; + /** + * Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + */ + readonly enableAdvancedThreatProtection?: pulumi.Input; /** * Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. */ @@ -690,8 +704,7 @@ export interface AccountArgs { */ readonly isHnsEnabled?: pulumi.Input; /** - * Specifies the supported Azure location where the - * resource exists. Changing this forces a new resource to be created. + * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ readonly location?: pulumi.Input; /** @@ -703,8 +716,11 @@ export interface AccountArgs { */ readonly networkRules?: pulumi.Input<{ bypasses?: pulumi.Input[]>, defaultAction?: pulumi.Input, ipRules?: pulumi.Input[]>, virtualNetworkSubnetIds?: pulumi.Input[]> }>; /** - * The name of the resource group in which to - * create the storage account. Changing this forces a new resource to be created. + * A Queue Property block as defined below. + */ + readonly queueProperties?: pulumi.Input<{ corsRules?: pulumi.Input[]>, allowedMethods: pulumi.Input[]>, allowedOrigins: pulumi.Input[]>, exposedHeaders: pulumi.Input[]>, maxAgeInSeconds: pulumi.Input }>[]>, hourMetrics?: pulumi.Input<{ enabled: pulumi.Input, includeApis?: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input }>, logging?: pulumi.Input<{ delete: pulumi.Input, read: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input, write: pulumi.Input }>, minuteMetrics?: pulumi.Input<{ enabled: pulumi.Input, includeApis?: pulumi.Input, retentionPolicyDays?: pulumi.Input, version: pulumi.Input }> }>; + /** + * The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Input; /** diff --git a/sdk/nodejs/storage/blob.ts b/sdk/nodejs/storage/blob.ts index eebe6b4539..a958ca6501 100644 --- a/sdk/nodejs/storage/blob.ts +++ b/sdk/nodejs/storage/blob.ts @@ -80,7 +80,7 @@ export class Blob extends pulumi.CustomResource { /** * A map of custom blob metadata. */ - public readonly metadata!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly metadata!: pulumi.Output<{[key: string]: string}>; /** * The name of the storage blob. Must be unique within the storage container the blob is located. */ diff --git a/sdk/nodejs/storage/container.ts b/sdk/nodejs/storage/container.ts index c413e03480..98c35592c4 100644 --- a/sdk/nodejs/storage/container.ts +++ b/sdk/nodejs/storage/container.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Manage an Azure Storage Container. + * Manage a Container within an Azure Storage Account. * * ## Example Usage * @@ -14,14 +14,14 @@ import * as utilities from "../utilities"; * import * as azure from "@pulumi/azure"; * * const testResourceGroup = new azure.core.ResourceGroup("test", { - * location: "westus", - * name: "acctestRG", + * location: "West Europe", + * name: "example-resources", * }); * const testAccount = new azure.storage.Account("test", { * accountReplicationType: "LRS", * accountTier: "Standard", - * location: "westus", - * name: "accteststorageaccount", + * location: testResourceGroup.location, + * name: "examplestoraccount", * resourceGroupName: testResourceGroup.name, * tags: { * environment: "staging", @@ -65,25 +65,35 @@ export class Container extends pulumi.CustomResource { } /** - * The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + * The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. */ public readonly containerAccessType!: pulumi.Output; /** - * The name of the storage container. Must be unique within the storage service the container is located. + * Is there an Immutability Policy configured on this Storage Container? + */ + public /*out*/ readonly hasImmutabilityPolicy!: pulumi.Output; + /** + * Is there a Legal Hold configured on this Storage Container? + */ + public /*out*/ readonly hasLegalHold!: pulumi.Output; + /** + * A mapping of MetaData for this Container. + */ + public readonly metadata!: pulumi.Output<{[key: string]: any}>; + /** + * The name of the Container which should be created within the Storage Account. */ public readonly name!: pulumi.Output; /** - * Key-value definition of additional properties associated to the storage container + * (**Deprecated**) Key-value definition of additional properties associated to the Storage Container */ public /*out*/ readonly properties!: pulumi.Output<{[key: string]: any}>; /** - * The name of the resource group in which to - * create the storage container. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. */ public readonly resourceGroupName!: pulumi.Output; /** - * Specifies the storage account in which to create the storage container. - * Changing this forces a new resource to be created. + * The name of the Storage Account where the Container should be created. */ public readonly storageAccountName!: pulumi.Output; @@ -100,22 +110,25 @@ export class Container extends pulumi.CustomResource { if (opts && opts.id) { const state = argsOrState as ContainerState | undefined; inputs["containerAccessType"] = state ? state.containerAccessType : undefined; + inputs["hasImmutabilityPolicy"] = state ? state.hasImmutabilityPolicy : undefined; + inputs["hasLegalHold"] = state ? state.hasLegalHold : undefined; + inputs["metadata"] = state ? state.metadata : undefined; inputs["name"] = state ? state.name : undefined; inputs["properties"] = state ? state.properties : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; inputs["storageAccountName"] = state ? state.storageAccountName : undefined; } else { const args = argsOrState as ContainerArgs | undefined; - if (!args || args.resourceGroupName === undefined) { - throw new Error("Missing required property 'resourceGroupName'"); - } if (!args || args.storageAccountName === undefined) { throw new Error("Missing required property 'storageAccountName'"); } inputs["containerAccessType"] = args ? args.containerAccessType : undefined; + inputs["metadata"] = args ? args.metadata : undefined; inputs["name"] = args ? args.name : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["storageAccountName"] = args ? args.storageAccountName : undefined; + inputs["hasImmutabilityPolicy"] = undefined /*out*/; + inputs["hasLegalHold"] = undefined /*out*/; inputs["properties"] = undefined /*out*/; } if (!opts) { @@ -134,25 +147,35 @@ export class Container extends pulumi.CustomResource { */ export interface ContainerState { /** - * The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + * The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. */ readonly containerAccessType?: pulumi.Input; /** - * The name of the storage container. Must be unique within the storage service the container is located. + * Is there an Immutability Policy configured on this Storage Container? + */ + readonly hasImmutabilityPolicy?: pulumi.Input; + /** + * Is there a Legal Hold configured on this Storage Container? + */ + readonly hasLegalHold?: pulumi.Input; + /** + * A mapping of MetaData for this Container. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name of the Container which should be created within the Storage Account. */ readonly name?: pulumi.Input; /** - * Key-value definition of additional properties associated to the storage container + * (**Deprecated**) Key-value definition of additional properties associated to the Storage Container */ readonly properties?: pulumi.Input<{[key: string]: any}>; /** - * The name of the resource group in which to - * create the storage container. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. */ readonly resourceGroupName?: pulumi.Input; /** - * Specifies the storage account in which to create the storage container. - * Changing this forces a new resource to be created. + * The name of the Storage Account where the Container should be created. */ readonly storageAccountName?: pulumi.Input; } @@ -162,21 +185,23 @@ export interface ContainerState { */ export interface ContainerArgs { /** - * The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + * The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. */ readonly containerAccessType?: pulumi.Input; /** - * The name of the storage container. Must be unique within the storage service the container is located. + * A mapping of MetaData for this Container. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name of the Container which should be created within the Storage Account. */ readonly name?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage container. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. */ - readonly resourceGroupName: pulumi.Input; + readonly resourceGroupName?: pulumi.Input; /** - * Specifies the storage account in which to create the storage container. - * Changing this forces a new resource to be created. + * The name of the Storage Account where the Container should be created. */ readonly storageAccountName: pulumi.Input; } diff --git a/sdk/nodejs/storage/index.ts b/sdk/nodejs/storage/index.ts index 575b9870c5..760de41df0 100644 --- a/sdk/nodejs/storage/index.ts +++ b/sdk/nodejs/storage/index.ts @@ -9,6 +9,8 @@ export * from "./getAccount"; export * from "./getAccountSAS"; export * from "./queue"; export * from "./share"; +export * from "./shareDirectory"; export * from "./table"; +export * from "./tableEntity"; export * from "./zMixins"; export * from "./zipBlob"; diff --git a/sdk/nodejs/storage/queue.ts b/sdk/nodejs/storage/queue.ts index de8e14c190..1cfccf1c90 100644 --- a/sdk/nodejs/storage/queue.ts +++ b/sdk/nodejs/storage/queue.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Manage an Azure Storage Queue. + * Manages a Queue within an Azure Storage Account. * * ## Example Usage * @@ -14,7 +14,7 @@ import * as utilities from "../utilities"; * import * as azure from "@pulumi/azure"; * * const testResourceGroup = new azure.core.ResourceGroup("test", { - * location: "westus", + * location: "West Europe", * name: "example-resources", * }); * const testAccount = new azure.storage.Account("test", { @@ -61,17 +61,19 @@ export class Queue extends pulumi.CustomResource { } /** - * The name of the storage queue. Must be unique within the storage account the queue is located. + * A mapping of MetaData which should be assigned to this Storage Queue. + */ + public readonly metadata!: pulumi.Output<{[key: string]: any} | undefined>; + /** + * The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. */ public readonly name!: pulumi.Output; /** - * The name of the resource group in which to - * create the storage queue. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage queue. */ public readonly resourceGroupName!: pulumi.Output; /** - * Specifies the storage account in which to create the storage queue. - * Changing this forces a new resource to be created. + * Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. */ public readonly storageAccountName!: pulumi.Output; @@ -87,17 +89,16 @@ export class Queue extends pulumi.CustomResource { let inputs: pulumi.Inputs = {}; if (opts && opts.id) { const state = argsOrState as QueueState | undefined; + inputs["metadata"] = state ? state.metadata : undefined; inputs["name"] = state ? state.name : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; inputs["storageAccountName"] = state ? state.storageAccountName : undefined; } else { const args = argsOrState as QueueArgs | undefined; - if (!args || args.resourceGroupName === undefined) { - throw new Error("Missing required property 'resourceGroupName'"); - } if (!args || args.storageAccountName === undefined) { throw new Error("Missing required property 'storageAccountName'"); } + inputs["metadata"] = args ? args.metadata : undefined; inputs["name"] = args ? args.name : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["storageAccountName"] = args ? args.storageAccountName : undefined; @@ -118,17 +119,19 @@ export class Queue extends pulumi.CustomResource { */ export interface QueueState { /** - * The name of the storage queue. Must be unique within the storage account the queue is located. + * A mapping of MetaData which should be assigned to this Storage Queue. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. */ readonly name?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage queue. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage queue. */ readonly resourceGroupName?: pulumi.Input; /** - * Specifies the storage account in which to create the storage queue. - * Changing this forces a new resource to be created. + * Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. */ readonly storageAccountName?: pulumi.Input; } @@ -138,17 +141,19 @@ export interface QueueState { */ export interface QueueArgs { /** - * The name of the storage queue. Must be unique within the storage account the queue is located. + * A mapping of MetaData which should be assigned to this Storage Queue. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. */ readonly name?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage queue. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage queue. */ - readonly resourceGroupName: pulumi.Input; + readonly resourceGroupName?: pulumi.Input; /** - * Specifies the storage account in which to create the storage queue. - * Changing this forces a new resource to be created. + * Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. */ readonly storageAccountName: pulumi.Input; } diff --git a/sdk/nodejs/storage/share.ts b/sdk/nodejs/storage/share.ts index 7be2499175..06916e9491 100644 --- a/sdk/nodejs/storage/share.ts +++ b/sdk/nodejs/storage/share.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Manage an Azure Storage File Share. + * Manages a File Share within Azure Storage. * * ## Example Usage * @@ -14,20 +14,19 @@ import * as utilities from "../utilities"; * import * as azure from "@pulumi/azure"; * * const testResourceGroup = new azure.core.ResourceGroup("test", { - * location: "westus", + * location: "West Europe", * name: "azuretest", * }); * const testAccount = new azure.storage.Account("test", { * accountReplicationType: "LRS", * accountTier: "Standard", - * location: "westus", + * location: testResourceGroup.location, * name: "azureteststorage", * resourceGroupName: testResourceGroup.name, * }); * const testshare = new azure.storage.Share("testshare", { * name: "sharename", * quota: 50, - * resourceGroupName: testResourceGroup.name, * storageAccountName: testAccount.name, * }); * ``` @@ -61,6 +60,14 @@ export class Share extends pulumi.CustomResource { return obj['__pulumiType'] === Share.__pulumiType; } + /** + * One or more `acl` blocks as defined below. + */ + public readonly acls!: pulumi.Output<{ accessPolicies?: { expiry: string, permissions: string, start: string }[], id: string }[] | undefined>; + /** + * A mapping of MetaData for this File Share. + */ + public readonly metadata!: pulumi.Output<{[key: string]: any} | undefined>; /** * The name of the share. Must be unique within the storage account where the share is located. */ @@ -80,7 +87,7 @@ export class Share extends pulumi.CustomResource { */ public readonly storageAccountName!: pulumi.Output; /** - * The URL of the share + * The URL of the File Share */ public /*out*/ readonly url!: pulumi.Output; @@ -96,6 +103,8 @@ export class Share extends pulumi.CustomResource { let inputs: pulumi.Inputs = {}; if (opts && opts.id) { const state = argsOrState as ShareState | undefined; + inputs["acls"] = state ? state.acls : undefined; + inputs["metadata"] = state ? state.metadata : undefined; inputs["name"] = state ? state.name : undefined; inputs["quota"] = state ? state.quota : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; @@ -103,12 +112,11 @@ export class Share extends pulumi.CustomResource { inputs["url"] = state ? state.url : undefined; } else { const args = argsOrState as ShareArgs | undefined; - if (!args || args.resourceGroupName === undefined) { - throw new Error("Missing required property 'resourceGroupName'"); - } if (!args || args.storageAccountName === undefined) { throw new Error("Missing required property 'storageAccountName'"); } + inputs["acls"] = args ? args.acls : undefined; + inputs["metadata"] = args ? args.metadata : undefined; inputs["name"] = args ? args.name : undefined; inputs["quota"] = args ? args.quota : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; @@ -130,6 +138,14 @@ export class Share extends pulumi.CustomResource { * Input properties used for looking up and filtering Share resources. */ export interface ShareState { + /** + * One or more `acl` blocks as defined below. + */ + readonly acls?: pulumi.Input, permissions: pulumi.Input, start: pulumi.Input }>[]>, id: pulumi.Input }>[]>; + /** + * A mapping of MetaData for this File Share. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; /** * The name of the share. Must be unique within the storage account where the share is located. */ @@ -149,7 +165,7 @@ export interface ShareState { */ readonly storageAccountName?: pulumi.Input; /** - * The URL of the share + * The URL of the File Share */ readonly url?: pulumi.Input; } @@ -158,6 +174,14 @@ export interface ShareState { * The set of arguments for constructing a Share resource. */ export interface ShareArgs { + /** + * One or more `acl` blocks as defined below. + */ + readonly acls?: pulumi.Input, permissions: pulumi.Input, start: pulumi.Input }>[]>, id: pulumi.Input }>[]>; + /** + * A mapping of MetaData for this File Share. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; /** * The name of the share. Must be unique within the storage account where the share is located. */ @@ -170,7 +194,7 @@ export interface ShareArgs { * The name of the resource group in which to * create the share. Changing this forces a new resource to be created. */ - readonly resourceGroupName: pulumi.Input; + readonly resourceGroupName?: pulumi.Input; /** * Specifies the storage account in which to create the share. * Changing this forces a new resource to be created. diff --git a/sdk/nodejs/storage/shareDirectory.ts b/sdk/nodejs/storage/shareDirectory.ts new file mode 100644 index 0000000000..accd861218 --- /dev/null +++ b/sdk/nodejs/storage/shareDirectory.ts @@ -0,0 +1,167 @@ +// *** 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"; + +/** + * Manage a Directory within an Azure Storage File Share. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const testResourceGroup = new azure.core.ResourceGroup("test", { + * location: "West Europe", + * name: "azuretest", + * }); + * const testAccount = new azure.storage.Account("test", { + * accountReplicationType: "LRS", + * accountTier: "Standard", + * location: testResourceGroup.location, + * name: "azureteststorage", + * resourceGroupName: testResourceGroup.name, + * }); + * const testShare = new azure.storage.Share("test", { + * name: "sharename", + * quota: 50, + * storageAccountName: testAccount.name, + * }); + * const testShareDirectory = new azure.storage.ShareDirectory("test", { + * name: "example", + * shareName: testShare.name, + * storageAccountName: testAccount.name, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_share_directory.html.markdown. + */ +export class ShareDirectory extends pulumi.CustomResource { + /** + * Get an existing ShareDirectory 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. + */ + public static get(name: string, id: pulumi.Input, state?: ShareDirectoryState, opts?: pulumi.CustomResourceOptions): ShareDirectory { + return new ShareDirectory(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:storage/shareDirectory:ShareDirectory'; + + /** + * Returns true if the given object is an instance of ShareDirectory. 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 ShareDirectory { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ShareDirectory.__pulumiType; + } + + /** + * A mapping of metadata to assign to this Directory. + */ + public readonly metadata!: pulumi.Output<{[key: string]: any} | undefined>; + /** + * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + */ + public readonly shareName!: pulumi.Output; + /** + * The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + */ + public readonly storageAccountName!: pulumi.Output; + + /** + * Create a ShareDirectory 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: ShareDirectoryArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ShareDirectoryArgs | ShareDirectoryState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as ShareDirectoryState | undefined; + inputs["metadata"] = state ? state.metadata : undefined; + inputs["name"] = state ? state.name : undefined; + inputs["shareName"] = state ? state.shareName : undefined; + inputs["storageAccountName"] = state ? state.storageAccountName : undefined; + } else { + const args = argsOrState as ShareDirectoryArgs | undefined; + if (!args || args.shareName === undefined) { + throw new Error("Missing required property 'shareName'"); + } + if (!args || args.storageAccountName === undefined) { + throw new Error("Missing required property 'storageAccountName'"); + } + inputs["metadata"] = args ? args.metadata : undefined; + inputs["name"] = args ? args.name : undefined; + inputs["shareName"] = args ? args.shareName : undefined; + inputs["storageAccountName"] = args ? args.storageAccountName : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(ShareDirectory.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ShareDirectory resources. + */ +export interface ShareDirectoryState { + /** + * A mapping of metadata to assign to this Directory. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + */ + readonly shareName?: pulumi.Input; + /** + * The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + */ + readonly storageAccountName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ShareDirectory resource. + */ +export interface ShareDirectoryArgs { + /** + * A mapping of metadata to assign to this Directory. + */ + readonly metadata?: pulumi.Input<{[key: string]: any}>; + /** + * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + */ + readonly name?: pulumi.Input; + /** + * The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + */ + readonly shareName: pulumi.Input; + /** + * The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + */ + readonly storageAccountName: pulumi.Input; +} diff --git a/sdk/nodejs/storage/table.ts b/sdk/nodejs/storage/table.ts index 329faac811..c92e72189e 100644 --- a/sdk/nodejs/storage/table.ts +++ b/sdk/nodejs/storage/table.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Manage an Azure Storage Table. + * Manage a Table within an Azure Storage Account. * * ## Example Usage * @@ -14,13 +14,13 @@ import * as utilities from "../utilities"; * import * as azure from "@pulumi/azure"; * * const testResourceGroup = new azure.core.ResourceGroup("test", { - * location: "westus", + * location: "West Europe", * name: "azuretest", * }); * const testAccount = new azure.storage.Account("test", { * accountReplicationType: "LRS", * accountTier: "Standard", - * location: "westus", + * location: testResourceGroup.location, * name: "azureteststorage1", * resourceGroupName: testResourceGroup.name, * }); @@ -60,13 +60,16 @@ export class Table extends pulumi.CustomResource { return obj['__pulumiType'] === Table.__pulumiType; } + /** + * One or more `acl` blocks as defined below. + */ + public readonly acls!: pulumi.Output<{ accessPolicies?: { expiry: string, permissions: string, start: string }[], id: string }[] | undefined>; /** * The name of the storage table. Must be unique within the storage account the table is located. */ public readonly name!: pulumi.Output; /** - * The name of the resource group in which to - * create the storage table. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage table. */ public readonly resourceGroupName!: pulumi.Output; /** @@ -87,17 +90,16 @@ export class Table extends pulumi.CustomResource { let inputs: pulumi.Inputs = {}; if (opts && opts.id) { const state = argsOrState as TableState | undefined; + inputs["acls"] = state ? state.acls : undefined; inputs["name"] = state ? state.name : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; inputs["storageAccountName"] = state ? state.storageAccountName : undefined; } else { const args = argsOrState as TableArgs | undefined; - if (!args || args.resourceGroupName === undefined) { - throw new Error("Missing required property 'resourceGroupName'"); - } if (!args || args.storageAccountName === undefined) { throw new Error("Missing required property 'storageAccountName'"); } + inputs["acls"] = args ? args.acls : undefined; inputs["name"] = args ? args.name : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; inputs["storageAccountName"] = args ? args.storageAccountName : undefined; @@ -117,13 +119,16 @@ export class Table extends pulumi.CustomResource { * Input properties used for looking up and filtering Table resources. */ export interface TableState { + /** + * One or more `acl` blocks as defined below. + */ + readonly acls?: pulumi.Input, permissions: pulumi.Input, start: pulumi.Input }>[]>, id: pulumi.Input }>[]>; /** * The name of the storage table. Must be unique within the storage account the table is located. */ readonly name?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage table. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage table. */ readonly resourceGroupName?: pulumi.Input; /** @@ -137,15 +142,18 @@ export interface TableState { * The set of arguments for constructing a Table resource. */ export interface TableArgs { + /** + * One or more `acl` blocks as defined below. + */ + readonly acls?: pulumi.Input, permissions: pulumi.Input, start: pulumi.Input }>[]>, id: pulumi.Input }>[]>; /** * The name of the storage table. Must be unique within the storage account the table is located. */ readonly name?: pulumi.Input; /** - * The name of the resource group in which to - * create the storage table. Changing this forces a new resource to be created. + * The name of the resource group in which to create the storage table. */ - readonly resourceGroupName: pulumi.Input; + readonly resourceGroupName?: pulumi.Input; /** * Specifies the storage account in which to create the storage table. * Changing this forces a new resource to be created. diff --git a/sdk/nodejs/storage/tableEntity.ts b/sdk/nodejs/storage/tableEntity.ts new file mode 100644 index 0000000000..4ce319b4e4 --- /dev/null +++ b/sdk/nodejs/storage/tableEntity.ts @@ -0,0 +1,200 @@ +// *** 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 Entity within a Table in an Azure Storage Account. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const exampleResourceGroup = new azure.core.ResourceGroup("example", { + * location: "westus", + * name: "azureexample", + * }); + * const exampleAccount = new azure.storage.Account("example", { + * accountReplicationType: "LRS", + * accountTier: "Standard", + * location: exampleResourceGroup.location, + * name: "azureexamplestorage1", + * resourceGroupName: exampleResourceGroup.name, + * }); + * const exampleTable = new azure.storage.Table("example", { + * name: "myexampletable", + * resourceGroupName: exampleResourceGroup.name, + * storageAccountName: exampleAccount.name, + * }); + * const exampleTableEntity = new azure.storage.TableEntity("example", { + * entity: { + * example: "sample", + * }, + * partitionKey: "examplepartition", + * rowKey: "exmamplerow", + * storageAccountName: exampleAccount.name, + * tableName: exampleTable.name, + * }); + * ``` + * + * > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_table_entity.html.markdown. + */ +export class TableEntity extends pulumi.CustomResource { + /** + * Get an existing TableEntity 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. + */ + public static get(name: string, id: pulumi.Input, state?: TableEntityState, opts?: pulumi.CustomResourceOptions): TableEntity { + return new TableEntity(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:storage/tableEntity:TableEntity'; + + /** + * Returns true if the given object is an instance of TableEntity. 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 TableEntity { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TableEntity.__pulumiType; + } + + /** + * A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + */ + public readonly entity!: pulumi.Output<{[key: string]: string}>; + /** + * The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + */ + public readonly partitionKey!: pulumi.Output; + /** + * The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + */ + public readonly rowKey!: pulumi.Output; + /** + * Specifies the storage account in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + public readonly storageAccountName!: pulumi.Output; + /** + * The name of the storage table in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + public readonly tableName!: pulumi.Output; + + /** + * Create a TableEntity 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: TableEntityArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TableEntityArgs | TableEntityState, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + if (opts && opts.id) { + const state = argsOrState as TableEntityState | undefined; + inputs["entity"] = state ? state.entity : undefined; + inputs["partitionKey"] = state ? state.partitionKey : undefined; + inputs["rowKey"] = state ? state.rowKey : undefined; + inputs["storageAccountName"] = state ? state.storageAccountName : undefined; + inputs["tableName"] = state ? state.tableName : undefined; + } else { + const args = argsOrState as TableEntityArgs | undefined; + if (!args || args.entity === undefined) { + throw new Error("Missing required property 'entity'"); + } + if (!args || args.partitionKey === undefined) { + throw new Error("Missing required property 'partitionKey'"); + } + if (!args || args.rowKey === undefined) { + throw new Error("Missing required property 'rowKey'"); + } + if (!args || args.storageAccountName === undefined) { + throw new Error("Missing required property 'storageAccountName'"); + } + if (!args || args.tableName === undefined) { + throw new Error("Missing required property 'tableName'"); + } + inputs["entity"] = args ? args.entity : undefined; + inputs["partitionKey"] = args ? args.partitionKey : undefined; + inputs["rowKey"] = args ? args.rowKey : undefined; + inputs["storageAccountName"] = args ? args.storageAccountName : undefined; + inputs["tableName"] = args ? args.tableName : undefined; + } + if (!opts) { + opts = {} + } + + if (!opts.version) { + opts.version = utilities.getVersion(); + } + super(TableEntity.__pulumiType, name, inputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TableEntity resources. + */ +export interface TableEntityState { + /** + * A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + */ + readonly entity?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + */ + readonly partitionKey?: pulumi.Input; + /** + * The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + */ + readonly rowKey?: pulumi.Input; + /** + * Specifies the storage account in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + readonly storageAccountName?: pulumi.Input; + /** + * The name of the storage table in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + readonly tableName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TableEntity resource. + */ +export interface TableEntityArgs { + /** + * A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + */ + readonly entity: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + */ + readonly partitionKey: pulumi.Input; + /** + * The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + */ + readonly rowKey: pulumi.Input; + /** + * Specifies the storage account in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + readonly storageAccountName: pulumi.Input; + /** + * The name of the storage table in which to create the storage table entity. + * Changing this forces a new resource to be created. + */ + readonly tableName: pulumi.Input; +} diff --git a/sdk/nodejs/storage/zipBlob.ts b/sdk/nodejs/storage/zipBlob.ts index 10d6ef45bb..5082b9d494 100644 --- a/sdk/nodejs/storage/zipBlob.ts +++ b/sdk/nodejs/storage/zipBlob.ts @@ -33,7 +33,7 @@ export class ZipBlob extends pulumi.CustomResource { public readonly attempts!: pulumi.Output; public readonly contentType!: pulumi.Output; - public readonly metadata!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly metadata!: pulumi.Output<{[key: string]: string}>; public readonly name!: pulumi.Output; public readonly parallelism!: pulumi.Output; public readonly resourceGroupName!: pulumi.Output; diff --git a/sdk/nodejs/trafficmanager/endpoint.ts b/sdk/nodejs/trafficmanager/endpoint.ts index a5690db3ef..a2eca99a51 100644 --- a/sdk/nodejs/trafficmanager/endpoint.ts +++ b/sdk/nodejs/trafficmanager/endpoint.ts @@ -34,6 +34,10 @@ export class Endpoint extends pulumi.CustomResource { return obj['__pulumiType'] === Endpoint.__pulumiType; } + /** + * One or more `custom_header` blocks as defined below + */ + public readonly customHeaders!: pulumi.Output<{ name: string, value: string }[] | undefined>; /** * Specifies the Azure location of the Endpoint, * this must be specified for Profiles using the `Performance` routing method @@ -82,6 +86,10 @@ export class Endpoint extends pulumi.CustomResource { * create the Traffic Manager endpoint. */ public readonly resourceGroupName!: pulumi.Output; + /** + * One or more `subnet` blocks as defined below + */ + public readonly subnets!: pulumi.Output<{ first: string, last?: string, scope?: number }[] | undefined>; /** * The FQDN DNS name of the target. This argument must be * provided for an endpoint of type `externalEndpoints`, for other types it @@ -120,6 +128,7 @@ export class Endpoint extends pulumi.CustomResource { let inputs: pulumi.Inputs = {}; if (opts && opts.id) { const state = argsOrState as EndpointState | undefined; + inputs["customHeaders"] = state ? state.customHeaders : undefined; inputs["endpointLocation"] = state ? state.endpointLocation : undefined; inputs["endpointMonitorStatus"] = state ? state.endpointMonitorStatus : undefined; inputs["endpointStatus"] = state ? state.endpointStatus : undefined; @@ -129,6 +138,7 @@ export class Endpoint extends pulumi.CustomResource { inputs["priority"] = state ? state.priority : undefined; inputs["profileName"] = state ? state.profileName : undefined; inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + inputs["subnets"] = state ? state.subnets : undefined; inputs["target"] = state ? state.target : undefined; inputs["targetResourceId"] = state ? state.targetResourceId : undefined; inputs["type"] = state ? state.type : undefined; @@ -144,6 +154,7 @@ export class Endpoint extends pulumi.CustomResource { if (!args || args.type === undefined) { throw new Error("Missing required property 'type'"); } + inputs["customHeaders"] = args ? args.customHeaders : undefined; inputs["endpointLocation"] = args ? args.endpointLocation : undefined; inputs["endpointStatus"] = args ? args.endpointStatus : undefined; inputs["geoMappings"] = args ? args.geoMappings : undefined; @@ -152,6 +163,7 @@ export class Endpoint extends pulumi.CustomResource { inputs["priority"] = args ? args.priority : undefined; inputs["profileName"] = args ? args.profileName : undefined; inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + inputs["subnets"] = args ? args.subnets : undefined; inputs["target"] = args ? args.target : undefined; inputs["targetResourceId"] = args ? args.targetResourceId : undefined; inputs["type"] = args ? args.type : undefined; @@ -173,6 +185,10 @@ export class Endpoint extends pulumi.CustomResource { * Input properties used for looking up and filtering Endpoint resources. */ export interface EndpointState { + /** + * One or more `custom_header` blocks as defined below + */ + readonly customHeaders?: pulumi.Input, value: pulumi.Input }>[]>; /** * Specifies the Azure location of the Endpoint, * this must be specified for Profiles using the `Performance` routing method @@ -221,6 +237,10 @@ export interface EndpointState { * create the Traffic Manager endpoint. */ readonly resourceGroupName?: pulumi.Input; + /** + * One or more `subnet` blocks as defined below + */ + readonly subnets?: pulumi.Input, last?: pulumi.Input, scope?: pulumi.Input }>[]>; /** * The FQDN DNS name of the target. This argument must be * provided for an endpoint of type `externalEndpoints`, for other types it @@ -252,6 +272,10 @@ export interface EndpointState { * The set of arguments for constructing a Endpoint resource. */ export interface EndpointArgs { + /** + * One or more `custom_header` blocks as defined below + */ + readonly customHeaders?: pulumi.Input, value: pulumi.Input }>[]>; /** * Specifies the Azure location of the Endpoint, * this must be specified for Profiles using the `Performance` routing method @@ -299,6 +323,10 @@ export interface EndpointArgs { * create the Traffic Manager endpoint. */ readonly resourceGroupName: pulumi.Input; + /** + * One or more `subnet` blocks as defined below + */ + readonly subnets?: pulumi.Input, last?: pulumi.Input, scope?: pulumi.Input }>[]>; /** * The FQDN DNS name of the target. This argument must be * provided for an endpoint of type `externalEndpoints`, for other types it diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7257372112..2e150cac03 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -19,6 +19,8 @@ "ad/index.ts", "ad/servicePrincipal.ts", "ad/servicePrincipalPassword.ts", + "analysisservices/index.ts", + "analysisservices/server.ts", "apimanagement/api.ts", "apimanagement/apiOperation.ts", "apimanagement/apiOperationPolicy.ts", @@ -26,6 +28,7 @@ "apimanagement/apiSchema.ts", "apimanagement/apiVersionSet.ts", "apimanagement/authorizationServer.ts", + "apimanagement/backend.ts", "apimanagement/certificate.ts", "apimanagement/getApi.ts", "apimanagement/getGroup.ts", @@ -82,6 +85,7 @@ "autoscale/index.ts", "autoscale/setting.ts", "batch/account.ts", + "batch/application.ts", "batch/certificate.ts", "batch/getAccount.ts", "batch/getCertificate.ts", @@ -259,6 +263,9 @@ "managementgroups/managementGroup.ts", "managementresource/index.ts", "managementresource/manangementLock.ts", + "maps/account.ts", + "maps/getAccount.ts", + "maps/index.ts", "mariadb/database.ts", "mariadb/firewallRule.ts", "mariadb/index.ts", @@ -280,6 +287,7 @@ "msi/index.ts", "msi/userAssignedIdentity.ts", "mssql/elasticPool.ts", + "mssql/getElasticpool.ts", "mssql/index.ts", "mysql/configuration.ts", "mysql/database.ts", @@ -358,6 +366,7 @@ "postgresql/index.ts", "postgresql/server.ts", "postgresql/virtualNetworkRule.ts", + "privatedns/aRecord.ts", "privatedns/index.ts", "privatedns/zone.ts", "provider.ts", @@ -408,7 +417,9 @@ "storage/index.ts", "storage/queue.ts", "storage/share.ts", + "storage/shareDirectory.ts", "storage/table.ts", + "storage/tableEntity.ts", "storage/zMixins.ts", "storage/zipBlob.ts", "streamanalytics/functionJavaScriptUDF.ts", diff --git a/sdk/python/pulumi_azure/__init__.py b/sdk/python/pulumi_azure/__init__.py index 614ebf82c3..97ced7565c 100644 --- a/sdk/python/pulumi_azure/__init__.py +++ b/sdk/python/pulumi_azure/__init__.py @@ -4,7 +4,7 @@ import importlib # Make subpackages available: -__all__ = ['ad', 'apimanagement', 'appinsights', 'appservice', 'automation', 'autoscale', 'batch', 'cdn', 'cognitive', 'compute', 'config', 'containerservice', 'core', 'cosmosdb', 'databricks', 'datafactory', 'datalake', 'ddosprotection', 'devspace', 'devtest', 'dns', 'eventhub', 'hdinsight', 'iot', 'keyvault', 'lb', 'loganalytics', 'logicapps', 'managementgroups', 'managementresource', 'mariadb', 'mediaservices', 'monitoring', 'msi', 'mssql', 'mysql', 'network', 'notificationhub', 'operationalinsights', 'policy', 'postgresql', 'privatedns', 'recoveryservices', 'redis', 'relay', 'role', 'scheduler', 'search', 'securitycenter', 'servicefabric', 'signalr', 'sql', 'storage', 'streamanalytics', 'trafficmanager'] +__all__ = ['ad', 'analysisservices', 'apimanagement', 'appinsights', 'appservice', 'automation', 'autoscale', 'batch', 'cdn', 'cognitive', 'compute', 'config', 'containerservice', 'core', 'cosmosdb', 'databricks', 'datafactory', 'datalake', 'ddosprotection', 'devspace', 'devtest', 'dns', 'eventhub', 'hdinsight', 'iot', 'keyvault', 'lb', 'loganalytics', 'logicapps', 'managementgroups', 'managementresource', 'maps', 'mariadb', 'mediaservices', 'monitoring', 'msi', 'mssql', 'mysql', 'network', 'notificationhub', 'operationalinsights', 'policy', 'postgresql', 'privatedns', 'recoveryservices', 'redis', 'relay', 'role', 'scheduler', 'search', 'securitycenter', 'servicefabric', 'signalr', 'sql', 'storage', 'streamanalytics', 'trafficmanager'] for pkg in __all__: if pkg != 'config': importlib.import_module(f'{__name__}.{pkg}') diff --git a/sdk/python/pulumi_azure/analysisservices/README.md b/sdk/python/pulumi_azure/analysisservices/README.md new file mode 100644 index 0000000000..94a5c24325 --- /dev/null +++ b/sdk/python/pulumi_azure/analysisservices/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). diff --git a/sdk/python/pulumi_azure/analysisservices/__init__.py b/sdk/python/pulumi_azure/analysisservices/__init__.py new file mode 100644 index 0000000000..da441569cd --- /dev/null +++ b/sdk/python/pulumi_azure/analysisservices/__init__.py @@ -0,0 +1,6 @@ +# 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! *** + +# Export this package's modules as members: +from .server import * diff --git a/sdk/python/pulumi_azure/analysisservices/server.py b/sdk/python/pulumi_azure/analysisservices/server.py new file mode 100644 index 0000000000..f394d98959 --- /dev/null +++ b/sdk/python/pulumi_azure/analysisservices/server.py @@ -0,0 +1,111 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class Server(pulumi.CustomResource): + admin_users: pulumi.Output[list] + """ + List of email addresses of admin users. + """ + enable_power_bi_service: pulumi.Output[bool] + """ + Indicates if the Power BI service is allowed to access or not. + """ + ipv4_firewall_rules: pulumi.Output[list] + """ + One or more `ipv4_firewall_rule` block(s) as defined below. + """ + location: pulumi.Output[str] + """ + The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + """ + name: pulumi.Output[str] + """ + Specifies the name of the firewall rule. + """ + querypool_connection_mode: pulumi.Output[str] + """ + Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + """ + resource_group_name: pulumi.Output[str] + """ + The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + """ + sku: pulumi.Output[str] + """ + SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + """ + tags: pulumi.Output[dict] + def __init__(__self__, resource_name, opts=None, admin_users=None, enable_power_bi_service=None, ipv4_firewall_rules=None, location=None, name=None, querypool_connection_mode=None, resource_group_name=None, sku=None, tags=None, __name__=None, __opts__=None): + """ + Manages an Analysis Services Server. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[list] admin_users: List of email addresses of admin users. + :param pulumi.Input[bool] enable_power_bi_service: Indicates if the Power BI service is allowed to access or not. + :param pulumi.Input[list] ipv4_firewall_rules: One or more `ipv4_firewall_rule` block(s) as defined below. + :param pulumi.Input[str] location: The Azure location where the Analysis Services Server exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the firewall rule. + :param pulumi.Input[str] querypool_connection_mode: Controls how the read-write server is used in the query pool. If this values is set to `All` then read-write servers are also used for queries. Otherwise with `ReadOnly` theses servers do not participate in query operations. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group in which the Analysis Services Server should be exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] sku: SKU for the Analysis Services Server. Possible values are: `D1`, `B1`, `B2`, `S0`, `S1`, `S2`, `S4`, `S8` and `S9` + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/analysis_services_server.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['admin_users'] = admin_users + + __props__['enable_power_bi_service'] = enable_power_bi_service + + __props__['ipv4_firewall_rules'] = ipv4_firewall_rules + + __props__['location'] = location + + __props__['name'] = name + + __props__['querypool_connection_mode'] = querypool_connection_mode + + if resource_group_name is None: + raise TypeError("Missing required property 'resource_group_name'") + __props__['resource_group_name'] = resource_group_name + + if sku is None: + raise TypeError("Missing required property 'sku'") + __props__['sku'] = sku + + __props__['tags'] = tags + + super(Server, __self__).__init__( + 'azure:analysisservices/server:Server', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/apimanagement/__init__.py b/sdk/python/pulumi_azure/apimanagement/__init__.py index 9a661a4de3..65ea9b4353 100644 --- a/sdk/python/pulumi_azure/apimanagement/__init__.py +++ b/sdk/python/pulumi_azure/apimanagement/__init__.py @@ -11,6 +11,7 @@ from .api_schema import * from .api_version_set import * from .authorization_server import * +from .backend import * from .certificate import * from .group import * from .group_user import * diff --git a/sdk/python/pulumi_azure/apimanagement/backend.py b/sdk/python/pulumi_azure/apimanagement/backend.py new file mode 100644 index 0000000000..3f6d531c6d --- /dev/null +++ b/sdk/python/pulumi_azure/apimanagement/backend.py @@ -0,0 +1,140 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class Backend(pulumi.CustomResource): + api_management_name: pulumi.Output[str] + """ + The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + """ + credentials: pulumi.Output[dict] + """ + A `credentials` block as documented below. + """ + description: pulumi.Output[str] + """ + The description of the backend. + """ + name: pulumi.Output[str] + """ + The name of the API Management backend. Changing this forces a new resource to be created. + """ + protocol: pulumi.Output[str] + """ + The protocol used by the backend host. Possible values are `http` or `soap`. + """ + proxy: pulumi.Output[dict] + """ + A `proxy` block as documented below. + """ + resource_group_name: pulumi.Output[str] + """ + The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + """ + resource_id: pulumi.Output[str] + """ + The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + """ + service_fabric_cluster: pulumi.Output[dict] + """ + A `service_fabric_cluster` block as documented below. + """ + title: pulumi.Output[str] + """ + The title of the backend. + """ + tls: pulumi.Output[dict] + """ + A `tls` block as documented below. + """ + url: pulumi.Output[str] + """ + The URL of the backend host. + """ + def __init__(__self__, resource_name, opts=None, api_management_name=None, credentials=None, description=None, name=None, protocol=None, proxy=None, resource_group_name=None, resource_id=None, service_fabric_cluster=None, title=None, tls=None, url=None, __name__=None, __opts__=None): + """ + Manages a backend within an API Management Service. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_management_name: The Name of the API Management Service where this backend should be created. Changing this forces a new resource to be created. + :param pulumi.Input[dict] credentials: A `credentials` block as documented below. + :param pulumi.Input[str] description: The description of the backend. + :param pulumi.Input[str] name: The name of the API Management backend. Changing this forces a new resource to be created. + :param pulumi.Input[str] protocol: The protocol used by the backend host. Possible values are `http` or `soap`. + :param pulumi.Input[dict] proxy: A `proxy` block as documented below. + :param pulumi.Input[str] resource_group_name: The Name of the Resource Group where the API Management Service exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_id: The management URI of the backend host in an external system. This URI can be the ARM Resource ID of Logic Apps, Function Apps or API Apps, or the management endpoint of a Service Fabric cluster. + :param pulumi.Input[dict] service_fabric_cluster: A `service_fabric_cluster` block as documented below. + :param pulumi.Input[str] title: The title of the backend. + :param pulumi.Input[dict] tls: A `tls` block as documented below. + :param pulumi.Input[str] url: The URL of the backend host. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/api_management_backend.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + if api_management_name is None: + raise TypeError("Missing required property 'api_management_name'") + __props__['api_management_name'] = api_management_name + + __props__['credentials'] = credentials + + __props__['description'] = description + + __props__['name'] = name + + if protocol is None: + raise TypeError("Missing required property 'protocol'") + __props__['protocol'] = protocol + + __props__['proxy'] = proxy + + if resource_group_name is None: + raise TypeError("Missing required property 'resource_group_name'") + __props__['resource_group_name'] = resource_group_name + + __props__['resource_id'] = resource_id + + __props__['service_fabric_cluster'] = service_fabric_cluster + + __props__['title'] = title + + __props__['tls'] = tls + + if url is None: + raise TypeError("Missing required property 'url'") + __props__['url'] = url + + super(Backend, __self__).__init__( + 'azure:apimanagement/backend:Backend', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/appservice/app_service.py b/sdk/python/pulumi_azure/appservice/app_service.py index ca6568ced8..fbcab77ea0 100644 --- a/sdk/python/pulumi_azure/appservice/app_service.py +++ b/sdk/python/pulumi_azure/appservice/app_service.py @@ -21,6 +21,7 @@ class AppService(pulumi.CustomResource): """ A `auth_settings` block as defined below. """ + backup: pulumi.Output[dict] client_affinity_enabled: pulumi.Output[bool] """ Should the App Service send session affinity cookies, which route client requests in the same session to the same instance? @@ -85,11 +86,15 @@ class AppService(pulumi.CustomResource): """ A `source_control` block as defined below, which contains the Source Control information when `scm_type` is set to `LocalGit`. """ + storage_accounts: pulumi.Output[list] + """ + One or more `storage_account` blocks as defined below. + """ tags: pulumi.Output[dict] """ A mapping of tags to assign to the resource. """ - def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_settings=None, auth_settings=None, client_affinity_enabled=None, client_cert_enabled=None, connection_strings=None, enabled=None, https_only=None, identity=None, location=None, logs=None, name=None, resource_group_name=None, site_config=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_settings=None, auth_settings=None, backup=None, client_affinity_enabled=None, client_cert_enabled=None, connection_strings=None, enabled=None, https_only=None, identity=None, location=None, logs=None, name=None, resource_group_name=None, site_config=None, storage_accounts=None, tags=None, __name__=None, __opts__=None): """ Manages an App Service (within an App Service Plan). @@ -111,6 +116,7 @@ def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_s :param pulumi.Input[str] name: Specifies the name of the App Service. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the App Service. :param pulumi.Input[dict] site_config: A `site_config` block as defined below. + :param pulumi.Input[list] storage_accounts: One or more `storage_account` blocks as defined below. :param pulumi.Input[dict] tags: A mapping of tags to assign to the resource. > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service.html.markdown. @@ -138,6 +144,8 @@ def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_s __props__['auth_settings'] = auth_settings + __props__['backup'] = backup + __props__['client_affinity_enabled'] = client_affinity_enabled __props__['client_cert_enabled'] = client_cert_enabled @@ -162,6 +170,8 @@ def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_s __props__['site_config'] = site_config + __props__['storage_accounts'] = storage_accounts + __props__['tags'] = tags __props__['default_site_hostname'] = None diff --git a/sdk/python/pulumi_azure/appservice/function_app.py b/sdk/python/pulumi_azure/appservice/function_app.py index 08ed8dade5..3468b142cf 100644 --- a/sdk/python/pulumi_azure/appservice/function_app.py +++ b/sdk/python/pulumi_azure/appservice/function_app.py @@ -17,6 +17,10 @@ class FunctionApp(pulumi.CustomResource): """ A key-value pair of App Settings. """ + auth_settings: pulumi.Output[dict] + """ + A `auth_settings` block as defined below. + """ client_affinity_enabled: pulumi.Output[bool] """ Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? @@ -89,7 +93,7 @@ class FunctionApp(pulumi.CustomResource): """ The runtime version associated with the Function App. Defaults to `~1`. """ - def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_settings=None, client_affinity_enabled=None, connection_strings=None, enable_builtin_logging=None, enabled=None, https_only=None, identity=None, location=None, name=None, resource_group_name=None, site_config=None, storage_connection_string=None, tags=None, version=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_settings=None, auth_settings=None, client_affinity_enabled=None, connection_strings=None, enable_builtin_logging=None, enabled=None, https_only=None, identity=None, location=None, name=None, resource_group_name=None, site_config=None, storage_connection_string=None, tags=None, version=None, __name__=None, __opts__=None): """ Manages a Function App. @@ -97,6 +101,7 @@ def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_s :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_service_plan_id: The ID of the App Service Plan within which to create this Function App. Changing this forces a new resource to be created. :param pulumi.Input[dict] app_settings: A key-value pair of App Settings. + :param pulumi.Input[dict] auth_settings: A `auth_settings` block as defined below. :param pulumi.Input[bool] client_affinity_enabled: Should the Function App send session affinity cookies, which route client requests in the same session to the same instance? :param pulumi.Input[list] connection_strings: An `connection_string` block as defined below. :param pulumi.Input[bool] enable_builtin_logging: Should the built-in logging of this Function App be enabled? Defaults to `true`. @@ -134,6 +139,8 @@ def __init__(__self__, resource_name, opts=None, app_service_plan_id=None, app_s __props__['app_settings'] = app_settings + __props__['auth_settings'] = auth_settings + __props__['client_affinity_enabled'] = client_affinity_enabled __props__['connection_strings'] = connection_strings diff --git a/sdk/python/pulumi_azure/appservice/slot.py b/sdk/python/pulumi_azure/appservice/slot.py index ecb188d986..42a5549f39 100644 --- a/sdk/python/pulumi_azure/appservice/slot.py +++ b/sdk/python/pulumi_azure/appservice/slot.py @@ -21,6 +21,10 @@ class Slot(pulumi.CustomResource): """ A key-value pair of App Settings. """ + auth_settings: pulumi.Output[dict] + """ + A `auth_settings` block as defined below. + """ client_affinity_enabled: pulumi.Output[bool] """ Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? @@ -69,7 +73,7 @@ class Slot(pulumi.CustomResource): """ A mapping of tags to assign to the resource. """ - def __init__(__self__, resource_name, opts=None, app_service_name=None, app_service_plan_id=None, app_settings=None, client_affinity_enabled=None, connection_strings=None, enabled=None, https_only=None, identity=None, location=None, name=None, resource_group_name=None, site_config=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, app_service_name=None, app_service_plan_id=None, app_settings=None, auth_settings=None, client_affinity_enabled=None, connection_strings=None, enabled=None, https_only=None, identity=None, location=None, name=None, resource_group_name=None, site_config=None, tags=None, __name__=None, __opts__=None): """ Manages an App Service Slot (within an App Service). @@ -80,6 +84,7 @@ def __init__(__self__, resource_name, opts=None, app_service_name=None, app_serv :param pulumi.Input[str] app_service_name: The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created. :param pulumi.Input[str] app_service_plan_id: The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created. :param pulumi.Input[dict] app_settings: A key-value pair of App Settings. + :param pulumi.Input[dict] auth_settings: A `auth_settings` block as defined below. :param pulumi.Input[bool] client_affinity_enabled: Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance? :param pulumi.Input[list] connection_strings: An `connection_string` block as defined below. :param pulumi.Input[bool] enabled: Is the App Service Slot Enabled? @@ -118,6 +123,8 @@ def __init__(__self__, resource_name, opts=None, app_service_name=None, app_serv __props__['app_settings'] = app_settings + __props__['auth_settings'] = auth_settings + __props__['client_affinity_enabled'] = client_affinity_enabled __props__['connection_strings'] = connection_strings diff --git a/sdk/python/pulumi_azure/batch/__init__.py b/sdk/python/pulumi_azure/batch/__init__.py index 0adcc5d084..050bd7e47e 100644 --- a/sdk/python/pulumi_azure/batch/__init__.py +++ b/sdk/python/pulumi_azure/batch/__init__.py @@ -4,6 +4,7 @@ # Export this package's modules as members: from .account import * +from .application import * from .certificate import * from .pool import * from .get_account import * diff --git a/sdk/python/pulumi_azure/batch/account.py b/sdk/python/pulumi_azure/batch/account.py index 997a5767c1..fd66c2405d 100644 --- a/sdk/python/pulumi_azure/batch/account.py +++ b/sdk/python/pulumi_azure/batch/account.py @@ -13,6 +13,10 @@ class Account(pulumi.CustomResource): """ The account endpoint used to interact with the Batch service. """ + key_vault_reference: pulumi.Output[dict] + """ + A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + """ location: pulumi.Output[str] """ Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. @@ -45,12 +49,13 @@ class Account(pulumi.CustomResource): """ A mapping of tags to assign to the resource. """ - def __init__(__self__, resource_name, opts=None, location=None, name=None, pool_allocation_mode=None, resource_group_name=None, storage_account_id=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, key_vault_reference=None, location=None, name=None, pool_allocation_mode=None, resource_group_name=None, storage_account_id=None, tags=None, __name__=None, __opts__=None): """ Manages an Azure Batch account. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[dict] key_vault_reference: A `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Batch account. Changing this forces a new resource to be created. :param pulumi.Input[str] pool_allocation_mode: Specifies the mode to use for pool allocation. Possible values are `BatchService` or `UserSubscription`. Defaults to `BatchService`. @@ -75,6 +80,8 @@ def __init__(__self__, resource_name, opts=None, location=None, name=None, pool_ __props__ = dict() + __props__['key_vault_reference'] = key_vault_reference + __props__['location'] = location __props__['name'] = name diff --git a/sdk/python/pulumi_azure/batch/application.py b/sdk/python/pulumi_azure/batch/application.py new file mode 100644 index 0000000000..36478cb963 --- /dev/null +++ b/sdk/python/pulumi_azure/batch/application.py @@ -0,0 +1,94 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class Application(pulumi.CustomResource): + account_name: pulumi.Output[str] + """ + The name of the Batch account. Changing this forces a new resource to be created. + """ + allow_updates: pulumi.Output[bool] + """ + A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + """ + default_version: pulumi.Output[str] + """ + The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + """ + display_name: pulumi.Output[str] + """ + The display name for the application. + """ + name: pulumi.Output[str] + """ + The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + """ + resource_group_name: pulumi.Output[str] + """ + The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + """ + def __init__(__self__, resource_name, opts=None, account_name=None, allow_updates=None, default_version=None, display_name=None, name=None, resource_group_name=None, __name__=None, __opts__=None): + """ + Manage Azure Batch Application instance. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_name: The name of the Batch account. Changing this forces a new resource to be created. + :param pulumi.Input[bool] allow_updates: A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`. + :param pulumi.Input[str] default_version: The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package. + :param pulumi.Input[str] display_name: The display name for the application. + :param pulumi.Input[str] name: The name of the application. This must be unique within the account. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group that contains the Batch account. Changing this forces a new resource to be created. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/batch_application.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + if account_name is None: + raise TypeError("Missing required property 'account_name'") + __props__['account_name'] = account_name + + __props__['allow_updates'] = allow_updates + + __props__['default_version'] = default_version + + __props__['display_name'] = display_name + + __props__['name'] = name + + if resource_group_name is None: + raise TypeError("Missing required property 'resource_group_name'") + __props__['resource_group_name'] = resource_group_name + + super(Application, __self__).__init__( + 'azure:batch/application:Application', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/batch/get_account.py b/sdk/python/pulumi_azure/batch/get_account.py index 7369467f68..98abe35eb4 100644 --- a/sdk/python/pulumi_azure/batch/get_account.py +++ b/sdk/python/pulumi_azure/batch/get_account.py @@ -12,13 +12,19 @@ class GetAccountResult: """ A collection of values returned by getAccount. """ - def __init__(__self__, account_endpoint=None, location=None, name=None, pool_allocation_mode=None, primary_access_key=None, resource_group_name=None, secondary_access_key=None, storage_account_id=None, tags=None, id=None): + def __init__(__self__, account_endpoint=None, key_vault_references=None, location=None, name=None, pool_allocation_mode=None, primary_access_key=None, resource_group_name=None, secondary_access_key=None, storage_account_id=None, tags=None, id=None): if account_endpoint and not isinstance(account_endpoint, str): raise TypeError("Expected argument 'account_endpoint' to be a str") __self__.account_endpoint = account_endpoint """ The account endpoint used to interact with the Batch service. """ + if key_vault_references and not isinstance(key_vault_references, list): + raise TypeError("Expected argument 'key_vault_references' to be a list") + __self__.key_vault_references = key_vault_references + """ + The `key_vault_reference` block that describes the Azure KeyVault reference to use when deploying the Azure Batch account using the `UserSubscription` pool allocation mode. + """ if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") __self__.location = location @@ -85,6 +91,7 @@ async def get_account(name=None,resource_group_name=None,opts=None): return GetAccountResult( account_endpoint=__ret__.get('accountEndpoint'), + key_vault_references=__ret__.get('keyVaultReferences'), location=__ret__.get('location'), name=__ret__.get('name'), pool_allocation_mode=__ret__.get('poolAllocationMode'), diff --git a/sdk/python/pulumi_azure/cognitive/account.py b/sdk/python/pulumi_azure/cognitive/account.py index b50446448c..e2564cf06b 100644 --- a/sdk/python/pulumi_azure/cognitive/account.py +++ b/sdk/python/pulumi_azure/cognitive/account.py @@ -15,7 +15,7 @@ class Account(pulumi.CustomResource): """ kind: pulumi.Output[str] """ - Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. """ location: pulumi.Output[str] """ @@ -51,7 +51,7 @@ def __init__(__self__, resource_name, opts=None, kind=None, location=None, name= :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] kind: Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. + :param pulumi.Input[str] kind: Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`, `LUIS`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Cognitive Service Account. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which the Cognitive Service Account is created. Changing this forces a new resource to be created. diff --git a/sdk/python/pulumi_azure/containerservice/get_kubernetes_cluster.py b/sdk/python/pulumi_azure/containerservice/get_kubernetes_cluster.py index aad39a3269..86894b09c7 100644 --- a/sdk/python/pulumi_azure/containerservice/get_kubernetes_cluster.py +++ b/sdk/python/pulumi_azure/containerservice/get_kubernetes_cluster.py @@ -12,7 +12,7 @@ class GetKubernetesClusterResult: """ A collection of values returned by getKubernetesCluster. """ - def __init__(__self__, addon_profiles=None, agent_pool_profiles=None, dns_prefix=None, fqdn=None, kube_admin_configs=None, kube_admin_config_raw=None, kube_configs=None, kube_config_raw=None, kubernetes_version=None, linux_profiles=None, location=None, name=None, network_profiles=None, node_resource_group=None, resource_group_name=None, role_based_access_controls=None, service_principals=None, tags=None, id=None): + def __init__(__self__, addon_profiles=None, agent_pool_profiles=None, dns_prefix=None, fqdn=None, kube_admin_configs=None, kube_admin_config_raw=None, kube_configs=None, kube_config_raw=None, kubernetes_version=None, linux_profiles=None, location=None, name=None, network_profiles=None, node_resource_group=None, resource_group_name=None, role_based_access_controls=None, service_principals=None, tags=None, windows_profiles=None, id=None): if addon_profiles and not isinstance(addon_profiles, list): raise TypeError("Expected argument 'addon_profiles' to be a list") __self__.addon_profiles = addon_profiles @@ -118,6 +118,12 @@ def __init__(__self__, addon_profiles=None, agent_pool_profiles=None, dns_prefix """ A mapping of tags assigned to this resource. """ + if windows_profiles and not isinstance(windows_profiles, list): + raise TypeError("Expected argument 'windows_profiles' to be a list") + __self__.windows_profiles = windows_profiles + """ + A `windows_profile` block as documented below. + """ if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") __self__.id = id @@ -159,4 +165,5 @@ async def get_kubernetes_cluster(name=None,resource_group_name=None,opts=None): role_based_access_controls=__ret__.get('roleBasedAccessControls'), service_principals=__ret__.get('servicePrincipals'), tags=__ret__.get('tags'), + windows_profiles=__ret__.get('windowsProfiles'), id=__ret__.get('id')) diff --git a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py index cae40a562f..961dcb324f 100644 --- a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py +++ b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py @@ -10,17 +10,11 @@ class KubernetesCluster(pulumi.CustomResource): addon_profile: pulumi.Output[dict] - """ - A `addon_profile` block. - """ agent_pool_profiles: pulumi.Output[list] """ One or more `agent_pool_profile` blocks as defined below. """ api_server_authorized_ip_ranges: pulumi.Output[list] - """ - The IP ranges to whitelist for incoming traffic to the masters. - """ dns_prefix: pulumi.Output[str] """ DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. @@ -46,13 +40,7 @@ class KubernetesCluster(pulumi.CustomResource): Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools """ kubernetes_version: pulumi.Output[str] - """ - Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). - """ linux_profile: pulumi.Output[dict] - """ - A `linux_profile` block. - """ location: pulumi.Output[str] """ The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. @@ -62,9 +50,6 @@ class KubernetesCluster(pulumi.CustomResource): The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. """ network_profile: pulumi.Output[dict] - """ - A `network_profile` block. - """ node_resource_group: pulumi.Output[str] """ The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. @@ -74,18 +59,13 @@ class KubernetesCluster(pulumi.CustomResource): Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. """ role_based_access_control: pulumi.Output[dict] - """ - A `role_based_access_control` block. Changing this forces a new resource to be created. - """ service_principal: pulumi.Output[dict] """ A `service_principal` block as documented below. """ tags: pulumi.Output[dict] - """ - A mapping of tags to assign to the resource. - """ - def __init__(__self__, resource_name, opts=None, addon_profile=None, agent_pool_profiles=None, api_server_authorized_ip_ranges=None, dns_prefix=None, kubernetes_version=None, linux_profile=None, location=None, name=None, network_profile=None, resource_group_name=None, role_based_access_control=None, service_principal=None, tags=None, __name__=None, __opts__=None): + windows_profile: pulumi.Output[dict] + def __init__(__self__, resource_name, opts=None, addon_profile=None, agent_pool_profiles=None, api_server_authorized_ip_ranges=None, dns_prefix=None, kubernetes_version=None, linux_profile=None, location=None, name=None, network_profile=None, node_resource_group=None, resource_group_name=None, role_based_access_control=None, service_principal=None, tags=None, windows_profile=None, __name__=None, __opts__=None): """ Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service) @@ -93,19 +73,13 @@ def __init__(__self__, resource_name, opts=None, addon_profile=None, agent_pool_ :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[dict] addon_profile: A `addon_profile` block. :param pulumi.Input[list] agent_pool_profiles: One or more `agent_pool_profile` blocks as defined below. - :param pulumi.Input[list] api_server_authorized_ip_ranges: The IP ranges to whitelist for incoming traffic to the masters. :param pulumi.Input[str] dns_prefix: DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created. - :param pulumi.Input[str] kubernetes_version: Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). - :param pulumi.Input[dict] linux_profile: A `linux_profile` block. :param pulumi.Input[str] location: The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created. - :param pulumi.Input[dict] network_profile: A `network_profile` block. + :param pulumi.Input[str] node_resource_group: The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster. :param pulumi.Input[str] resource_group_name: Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created. - :param pulumi.Input[dict] role_based_access_control: A `role_based_access_control` block. Changing this forces a new resource to be created. :param pulumi.Input[dict] service_principal: A `service_principal` block as documented below. - :param pulumi.Input[dict] tags: A mapping of tags to assign to the resource. > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/kubernetes_cluster.html.markdown. """ @@ -146,6 +120,8 @@ def __init__(__self__, resource_name, opts=None, addon_profile=None, agent_pool_ __props__['network_profile'] = network_profile + __props__['node_resource_group'] = node_resource_group + if resource_group_name is None: raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name @@ -158,12 +134,13 @@ def __init__(__self__, resource_name, opts=None, addon_profile=None, agent_pool_ __props__['tags'] = tags + __props__['windows_profile'] = windows_profile + __props__['fqdn'] = None __props__['kube_admin_config'] = None __props__['kube_admin_config_raw'] = None __props__['kube_config'] = None __props__['kube_config_raw'] = None - __props__['node_resource_group'] = None super(KubernetesCluster, __self__).__init__( 'azure:containerservice/kubernetesCluster:KubernetesCluster', diff --git a/sdk/python/pulumi_azure/containerservice/registry.py b/sdk/python/pulumi_azure/containerservice/registry.py index 4651707ee7..3068f4a62b 100644 --- a/sdk/python/pulumi_azure/containerservice/registry.py +++ b/sdk/python/pulumi_azure/containerservice/registry.py @@ -37,6 +37,10 @@ class Registry(pulumi.CustomResource): """ Specifies the name of the Container Registry. Changing this forces a new resource to be created. """ + network_rule_set: pulumi.Output[dict] + """ + A `network_rule_set` block as documented below. + """ resource_group_name: pulumi.Output[str] """ The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. @@ -54,7 +58,7 @@ class Registry(pulumi.CustomResource): """ A mapping of tags to assign to the resource. """ - def __init__(__self__, resource_name, opts=None, admin_enabled=None, georeplication_locations=None, location=None, name=None, resource_group_name=None, sku=None, storage_account=None, storage_account_id=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, admin_enabled=None, georeplication_locations=None, location=None, name=None, network_rule_set=None, resource_group_name=None, sku=None, storage_account=None, storage_account_id=None, tags=None, __name__=None, __opts__=None): """ Manages an Azure Container Registry. @@ -67,6 +71,7 @@ def __init__(__self__, resource_name, opts=None, admin_enabled=None, georeplicat :param pulumi.Input[list] georeplication_locations: A list of Azure locations where the container registry should be geo-replicated. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Container Registry. Changing this forces a new resource to be created. + :param pulumi.Input[dict] network_rule_set: A `network_rule_set` block as documented below. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created. :param pulumi.Input[str] sku: The SKU name of the the container registry. Possible values are `Classic` (which was previously `Basic`), `Basic`, `Standard` and `Premium`. :param pulumi.Input[str] storage_account_id: The ID of a Storage Account which must be located in the same Azure Region as the Container Registry. @@ -97,6 +102,8 @@ def __init__(__self__, resource_name, opts=None, admin_enabled=None, georeplicat __props__['name'] = name + __props__['network_rule_set'] = network_rule_set + if resource_group_name is None: raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name diff --git a/sdk/python/pulumi_azure/core/get_subscription.py b/sdk/python/pulumi_azure/core/get_subscription.py index 6c39121a85..fc0493295e 100644 --- a/sdk/python/pulumi_azure/core/get_subscription.py +++ b/sdk/python/pulumi_azure/core/get_subscription.py @@ -12,7 +12,7 @@ class GetSubscriptionResult: """ A collection of values returned by getSubscription. """ - def __init__(__self__, display_name=None, location_placement_id=None, quota_id=None, spending_limit=None, state=None, subscription_id=None, id=None): + def __init__(__self__, display_name=None, location_placement_id=None, quota_id=None, spending_limit=None, state=None, subscription_id=None, tenant_id=None, id=None): if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") __self__.display_name = display_name @@ -49,6 +49,12 @@ def __init__(__self__, display_name=None, location_placement_id=None, quota_id=N """ The subscription GUID. """ + if tenant_id and not isinstance(tenant_id, str): + raise TypeError("Expected argument 'tenant_id' to be a str") + __self__.tenant_id = tenant_id + """ + The subscription tenant ID. + """ if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") __self__.id = id @@ -74,4 +80,5 @@ async def get_subscription(subscription_id=None,opts=None): spending_limit=__ret__.get('spendingLimit'), state=__ret__.get('state'), subscription_id=__ret__.get('subscriptionId'), + tenant_id=__ret__.get('tenantId'), id=__ret__.get('id')) diff --git a/sdk/python/pulumi_azure/iot/io_t_hub.py b/sdk/python/pulumi_azure/iot/io_t_hub.py index 546de0c3e7..ec0b3d5cc6 100644 --- a/sdk/python/pulumi_azure/iot/io_t_hub.py +++ b/sdk/python/pulumi_azure/iot/io_t_hub.py @@ -33,6 +33,10 @@ class IoTHub(pulumi.CustomResource): """ A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. """ + file_upload: pulumi.Output[dict] + """ + A `file_upload` block as defined below. + """ hostname: pulumi.Output[str] """ The hostname of the IotHub Resource. @@ -70,7 +74,7 @@ class IoTHub(pulumi.CustomResource): A mapping of tags to assign to the resource. """ type: pulumi.Output[str] - def __init__(__self__, resource_name, opts=None, endpoints=None, fallback_route=None, ip_filter_rules=None, location=None, name=None, resource_group_name=None, routes=None, sku=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, endpoints=None, fallback_route=None, file_upload=None, ip_filter_rules=None, location=None, name=None, resource_group_name=None, routes=None, sku=None, tags=None, __name__=None, __opts__=None): """ Manages an IotHub @@ -78,6 +82,7 @@ def __init__(__self__, resource_name, opts=None, endpoints=None, fallback_route= :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[list] endpoints: An `endpoint` block as defined below. :param pulumi.Input[dict] fallback_route: A `fallback_route` block as defined below. If the fallback route is enabled, messages that don't match any of the supplied routes are automatically sent to this route. Defaults to messages/events. + :param pulumi.Input[dict] file_upload: A `file_upload` block as defined below. :param pulumi.Input[list] ip_filter_rules: One or more `ip_filter_rule` blocks as defined below. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource has to be createc. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the IotHub resource. Changing this forces a new resource to be created. @@ -107,6 +112,8 @@ def __init__(__self__, resource_name, opts=None, endpoints=None, fallback_route= __props__['fallback_route'] = fallback_route + __props__['file_upload'] = file_upload + __props__['ip_filter_rules'] = ip_filter_rules __props__['location'] = location diff --git a/sdk/python/pulumi_azure/maps/README.md b/sdk/python/pulumi_azure/maps/README.md new file mode 100644 index 0000000000..94a5c24325 --- /dev/null +++ b/sdk/python/pulumi_azure/maps/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-azurerm) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi/pulumi-azure` repo](https://github.com/pulumi/pulumi-azure/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues). diff --git a/sdk/python/pulumi_azure/maps/__init__.py b/sdk/python/pulumi_azure/maps/__init__.py new file mode 100644 index 0000000000..15680279e3 --- /dev/null +++ b/sdk/python/pulumi_azure/maps/__init__.py @@ -0,0 +1,7 @@ +# 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! *** + +# Export this package's modules as members: +from .account import * +from .get_account import * diff --git a/sdk/python/pulumi_azure/maps/account.py b/sdk/python/pulumi_azure/maps/account.py new file mode 100644 index 0000000000..97ae02b775 --- /dev/null +++ b/sdk/python/pulumi_azure/maps/account.py @@ -0,0 +1,96 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class Account(pulumi.CustomResource): + name: pulumi.Output[str] + """ + The name of the Azure Maps Account. Changing this forces a new resource to be created. + """ + primary_access_key: pulumi.Output[str] + """ + The primary key used to authenticate and authorize access to the Maps REST APIs. + """ + resource_group_name: pulumi.Output[str] + """ + The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + """ + secondary_access_key: pulumi.Output[str] + """ + The secondary key used to authenticate and authorize access to the Maps REST APIs. + """ + sku_name: pulumi.Output[str] + """ + The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + """ + tags: pulumi.Output[dict] + """ + A mapping of tags to assign to the Azure Maps Account. + """ + x_ms_client_id: pulumi.Output[str] + """ + A unique identifier for the Maps Account. + """ + def __init__(__self__, resource_name, opts=None, name=None, resource_group_name=None, sku_name=None, tags=None, __name__=None, __opts__=None): + """ + Manages an Azure Maps Account. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the Azure Maps Account. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group in which the Azure Maps Account should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] sku_name: The sku of the Azure Maps Account. Possible values are `s0` and `s1`. + :param pulumi.Input[dict] tags: A mapping of tags to assign to the Azure Maps Account. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/maps_account.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['name'] = name + + if resource_group_name is None: + raise TypeError("Missing required property 'resource_group_name'") + __props__['resource_group_name'] = resource_group_name + + if sku_name is None: + raise TypeError("Missing required property 'sku_name'") + __props__['sku_name'] = sku_name + + __props__['tags'] = tags + + __props__['primary_access_key'] = None + __props__['secondary_access_key'] = None + __props__['x_ms_client_id'] = None + + super(Account, __self__).__init__( + 'azure:maps/account:Account', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/maps/get_account.py b/sdk/python/pulumi_azure/maps/get_account.py new file mode 100644 index 0000000000..f04ba190ef --- /dev/null +++ b/sdk/python/pulumi_azure/maps/get_account.py @@ -0,0 +1,77 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class GetAccountResult: + """ + A collection of values returned by getAccount. + """ + def __init__(__self__, name=None, primary_access_key=None, resource_group_name=None, secondary_access_key=None, sku_name=None, tags=None, x_ms_client_id=None, id=None): + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + __self__.name = name + if primary_access_key and not isinstance(primary_access_key, str): + raise TypeError("Expected argument 'primary_access_key' to be a str") + __self__.primary_access_key = primary_access_key + """ + The primary key used to authenticate and authorize access to the Maps REST APIs. + """ + if resource_group_name and not isinstance(resource_group_name, str): + raise TypeError("Expected argument 'resource_group_name' to be a str") + __self__.resource_group_name = resource_group_name + if secondary_access_key and not isinstance(secondary_access_key, str): + raise TypeError("Expected argument 'secondary_access_key' to be a str") + __self__.secondary_access_key = secondary_access_key + """ + The primary key used to authenticate and authorize access to the Maps REST APIs. The second key is given to provide seemless key regeneration. + """ + if sku_name and not isinstance(sku_name, str): + raise TypeError("Expected argument 'sku_name' to be a str") + __self__.sku_name = sku_name + """ + The sku of the Azure Maps Account. + """ + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + __self__.tags = tags + if x_ms_client_id and not isinstance(x_ms_client_id, str): + raise TypeError("Expected argument 'x_ms_client_id' to be a str") + __self__.x_ms_client_id = x_ms_client_id + """ + A unique identifier for the Maps Account. + """ + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + __self__.id = id + """ + id is the provider-assigned unique ID for this managed resource. + """ + +async def get_account(name=None,resource_group_name=None,tags=None,opts=None): + """ + Use this data source to access information about an existing Azure Maps Account. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/maps_account.html.markdown. + """ + __args__ = dict() + + __args__['name'] = name + __args__['resourceGroupName'] = resource_group_name + __args__['tags'] = tags + __ret__ = await pulumi.runtime.invoke('azure:maps/getAccount:getAccount', __args__, opts=opts) + + return GetAccountResult( + name=__ret__.get('name'), + primary_access_key=__ret__.get('primaryAccessKey'), + resource_group_name=__ret__.get('resourceGroupName'), + secondary_access_key=__ret__.get('secondaryAccessKey'), + sku_name=__ret__.get('skuName'), + tags=__ret__.get('tags'), + x_ms_client_id=__ret__.get('xMsClientId'), + id=__ret__.get('id')) diff --git a/sdk/python/pulumi_azure/mssql/__init__.py b/sdk/python/pulumi_azure/mssql/__init__.py index 4067273bc5..7555d06165 100644 --- a/sdk/python/pulumi_azure/mssql/__init__.py +++ b/sdk/python/pulumi_azure/mssql/__init__.py @@ -4,3 +4,4 @@ # Export this package's modules as members: from .elastic_pool import * +from .get_elasticpool import * diff --git a/sdk/python/pulumi_azure/mssql/get_elasticpool.py b/sdk/python/pulumi_azure/mssql/get_elasticpool.py new file mode 100644 index 0000000000..af6f6099be --- /dev/null +++ b/sdk/python/pulumi_azure/mssql/get_elasticpool.py @@ -0,0 +1,98 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class GetElasticpoolResult: + """ + A collection of values returned by getElasticpool. + """ + def __init__(__self__, location=None, max_size_bytes=None, max_size_gb=None, name=None, per_db_max_capacity=None, per_db_min_capacity=None, resource_group_name=None, server_name=None, tags=None, zone_redundant=None, id=None): + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + __self__.location = location + """ + Specifies the supported Azure location where the resource exists. + """ + if max_size_bytes and not isinstance(max_size_bytes, float): + raise TypeError("Expected argument 'max_size_bytes' to be a float") + __self__.max_size_bytes = max_size_bytes + """ + The max data size of the elastic pool in bytes. + """ + if max_size_gb and not isinstance(max_size_gb, float): + raise TypeError("Expected argument 'max_size_gb' to be a float") + __self__.max_size_gb = max_size_gb + """ + The max data size of the elastic pool in gigabytes. + """ + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + __self__.name = name + if per_db_max_capacity and not isinstance(per_db_max_capacity, float): + raise TypeError("Expected argument 'per_db_max_capacity' to be a float") + __self__.per_db_max_capacity = per_db_max_capacity + """ + The maximum capacity any one database can consume. + """ + if per_db_min_capacity and not isinstance(per_db_min_capacity, float): + raise TypeError("Expected argument 'per_db_min_capacity' to be a float") + __self__.per_db_min_capacity = per_db_min_capacity + """ + The minimum capacity all databases are guaranteed. + """ + if resource_group_name and not isinstance(resource_group_name, str): + raise TypeError("Expected argument 'resource_group_name' to be a str") + __self__.resource_group_name = resource_group_name + if server_name and not isinstance(server_name, str): + raise TypeError("Expected argument 'server_name' to be a str") + __self__.server_name = server_name + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + __self__.tags = tags + """ + A mapping of tags to assign to the resource. + """ + if zone_redundant and not isinstance(zone_redundant, bool): + raise TypeError("Expected argument 'zone_redundant' to be a bool") + __self__.zone_redundant = zone_redundant + """ + Whether or not this elastic pool is zone redundant. + """ + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + __self__.id = id + """ + id is the provider-assigned unique ID for this managed resource. + """ + +async def get_elasticpool(name=None,resource_group_name=None,server_name=None,opts=None): + """ + Use this data source to access information about an existing SQL elastic pool. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/mssql_elasticpool.html.markdown. + """ + __args__ = dict() + + __args__['name'] = name + __args__['resourceGroupName'] = resource_group_name + __args__['serverName'] = server_name + __ret__ = await pulumi.runtime.invoke('azure:mssql/getElasticpool:getElasticpool', __args__, opts=opts) + + return GetElasticpoolResult( + location=__ret__.get('location'), + max_size_bytes=__ret__.get('maxSizeBytes'), + max_size_gb=__ret__.get('maxSizeGb'), + name=__ret__.get('name'), + per_db_max_capacity=__ret__.get('perDbMaxCapacity'), + per_db_min_capacity=__ret__.get('perDbMinCapacity'), + resource_group_name=__ret__.get('resourceGroupName'), + server_name=__ret__.get('serverName'), + tags=__ret__.get('tags'), + zone_redundant=__ret__.get('zoneRedundant'), + id=__ret__.get('id')) diff --git a/sdk/python/pulumi_azure/network/application_gateway.py b/sdk/python/pulumi_azure/network/application_gateway.py index 79076cb56c..5dc452126f 100644 --- a/sdk/python/pulumi_azure/network/application_gateway.py +++ b/sdk/python/pulumi_azure/network/application_gateway.py @@ -54,6 +54,10 @@ class ApplicationGateway(pulumi.CustomResource): """ One or more `http_listener` blocks as defined below. """ + identity: pulumi.Output[dict] + """ + A `identity` block. + """ location: pulumi.Output[str] """ The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. @@ -110,7 +114,7 @@ class ApplicationGateway(pulumi.CustomResource): """ A collection of availability zones to spread the Application Gateway over. """ - def __init__(__self__, resource_name, opts=None, authentication_certificates=None, autoscale_configuration=None, backend_address_pools=None, backend_http_settings=None, custom_error_configurations=None, disabled_ssl_protocols=None, enable_http2=None, frontend_ip_configurations=None, frontend_ports=None, gateway_ip_configurations=None, http_listeners=None, location=None, name=None, probes=None, redirect_configurations=None, request_routing_rules=None, resource_group_name=None, rewrite_rule_sets=None, sku=None, ssl_certificates=None, ssl_policies=None, tags=None, url_path_maps=None, waf_configuration=None, zones=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, authentication_certificates=None, autoscale_configuration=None, backend_address_pools=None, backend_http_settings=None, custom_error_configurations=None, disabled_ssl_protocols=None, enable_http2=None, frontend_ip_configurations=None, frontend_ports=None, gateway_ip_configurations=None, http_listeners=None, identity=None, location=None, name=None, probes=None, redirect_configurations=None, request_routing_rules=None, resource_group_name=None, rewrite_rule_sets=None, sku=None, ssl_certificates=None, ssl_policies=None, tags=None, url_path_maps=None, waf_configuration=None, zones=None, __name__=None, __opts__=None): """ Manages an Application Gateway. @@ -128,6 +132,7 @@ def __init__(__self__, resource_name, opts=None, authentication_certificates=Non :param pulumi.Input[list] frontend_ports: One or more `frontend_port` blocks as defined below. :param pulumi.Input[list] gateway_ip_configurations: One or more `gateway_ip_configuration` blocks as defined below. :param pulumi.Input[list] http_listeners: One or more `http_listener` blocks as defined below. + :param pulumi.Input[dict] identity: A `identity` block. :param pulumi.Input[str] location: The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the Application Gateway. Changing this forces a new resource to be created. :param pulumi.Input[list] probes: One or more `probe` blocks as defined below. @@ -194,6 +199,8 @@ def __init__(__self__, resource_name, opts=None, authentication_certificates=Non raise TypeError("Missing required property 'http_listeners'") __props__['http_listeners'] = http_listeners + __props__['identity'] = identity + __props__['location'] = location __props__['name'] = name diff --git a/sdk/python/pulumi_azure/privatedns/__init__.py b/sdk/python/pulumi_azure/privatedns/__init__.py index 8089aab591..54bd158717 100644 --- a/sdk/python/pulumi_azure/privatedns/__init__.py +++ b/sdk/python/pulumi_azure/privatedns/__init__.py @@ -3,4 +3,5 @@ # *** Do not edit by hand unless you're certain you know what you are doing! *** # Export this package's modules as members: +from .a_record import * from .zone import * diff --git a/sdk/python/pulumi_azure/privatedns/a_record.py b/sdk/python/pulumi_azure/privatedns/a_record.py new file mode 100644 index 0000000000..c7afebfbb9 --- /dev/null +++ b/sdk/python/pulumi_azure/privatedns/a_record.py @@ -0,0 +1,94 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class ARecord(pulumi.CustomResource): + name: pulumi.Output[str] + """ + The name of the DNS A Record. + """ + records: pulumi.Output[list] + """ + List of IPv4 Addresses. + """ + resource_group_name: pulumi.Output[str] + """ + Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + """ + tags: pulumi.Output[dict] + """ + A mapping of tags to assign to the resource. + """ + ttl: pulumi.Output[float] + zone_name: pulumi.Output[str] + """ + Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + """ + def __init__(__self__, resource_name, opts=None, name=None, records=None, resource_group_name=None, tags=None, ttl=None, zone_name=None, __name__=None, __opts__=None): + """ + Enables you to manage DNS A Records within Azure Private DNS. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the DNS A Record. + :param pulumi.Input[list] records: List of IPv4 Addresses. + :param pulumi.Input[str] resource_group_name: Specifies the resource group where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[dict] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[str] zone_name: Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/private_dns_a_record.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['name'] = name + + if records is None: + raise TypeError("Missing required property 'records'") + __props__['records'] = records + + if resource_group_name is None: + raise TypeError("Missing required property 'resource_group_name'") + __props__['resource_group_name'] = resource_group_name + + __props__['tags'] = tags + + if ttl is None: + raise TypeError("Missing required property 'ttl'") + __props__['ttl'] = ttl + + if zone_name is None: + raise TypeError("Missing required property 'zone_name'") + __props__['zone_name'] = zone_name + + super(ARecord, __self__).__init__( + 'azure:privatedns/aRecord:ARecord', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/recoveryservices/protected_vm.py b/sdk/python/pulumi_azure/recoveryservices/protected_vm.py index dddc882e6f..e4259cde70 100644 --- a/sdk/python/pulumi_azure/recoveryservices/protected_vm.py +++ b/sdk/python/pulumi_azure/recoveryservices/protected_vm.py @@ -11,7 +11,7 @@ class ProtectedVM(pulumi.CustomResource): backup_policy_id: pulumi.Output[str] """ - Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + Specifies the id of the backup policy to use. """ recovery_vault_name: pulumi.Output[str] """ @@ -35,7 +35,7 @@ def __init__(__self__, resource_name, opts=None, backup_policy_id=None, recovery :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] backup_policy_id: Specifies the id of the backup policy to use. Changing this forces a new resource to be created. + :param pulumi.Input[str] backup_policy_id: Specifies the id of the backup policy to use. :param pulumi.Input[str] recovery_vault_name: Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Recovery Services Protected VM. Changing this forces a new resource to be created. :param pulumi.Input[str] source_vm_id: Specifies the ID of the VM to backup. Changing this forces a new resource to be created. diff --git a/sdk/python/pulumi_azure/redis/cache.py b/sdk/python/pulumi_azure/redis/cache.py index 2939ab8b49..737603e804 100644 --- a/sdk/python/pulumi_azure/redis/cache.py +++ b/sdk/python/pulumi_azure/redis/cache.py @@ -15,7 +15,7 @@ class Cache(pulumi.CustomResource): """ enable_non_ssl_port: pulumi.Output[bool] """ - Enable the non-SSL port (6789) - disabled by default. + Enable the non-SSL port (6379) - disabled by default. """ family: pulumi.Output[str] """ @@ -125,7 +125,7 @@ def __init__(__self__, resource_name, opts=None, capacity=None, enable_non_ssl_p :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[float] capacity: The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`. - :param pulumi.Input[bool] enable_non_ssl_port: Enable the non-SSL port (6789) - disabled by default. + :param pulumi.Input[bool] enable_non_ssl_port: Enable the non-SSL port (6379) - disabled by default. :param pulumi.Input[str] family: The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`) :param pulumi.Input[str] location: The location of the resource group. :param pulumi.Input[str] minimum_tls_version: The minimum TLS version. Defaults to `1.0`. diff --git a/sdk/python/pulumi_azure/securitycenter/contact.py b/sdk/python/pulumi_azure/securitycenter/contact.py index aaf31cec7a..1717b46a38 100644 --- a/sdk/python/pulumi_azure/securitycenter/contact.py +++ b/sdk/python/pulumi_azure/securitycenter/contact.py @@ -67,8 +67,6 @@ def __init__(__self__, resource_name, opts=None, alert_notifications=None, alert raise TypeError("Missing required property 'email'") __props__['email'] = email - if phone is None: - raise TypeError("Missing required property 'phone'") __props__['phone'] = phone super(Contact, __self__).__init__( diff --git a/sdk/python/pulumi_azure/storage/__init__.py b/sdk/python/pulumi_azure/storage/__init__.py index 11037bb93f..57770986d6 100644 --- a/sdk/python/pulumi_azure/storage/__init__.py +++ b/sdk/python/pulumi_azure/storage/__init__.py @@ -8,7 +8,9 @@ from .container import * from .queue import * from .share import * +from .share_directory import * from .table import * +from .table_entity import * from .zip_blob import * from .get_account import * from .get_account_sas import * diff --git a/sdk/python/pulumi_azure/storage/account.py b/sdk/python/pulumi_azure/storage/account.py index 0e77d7c635..a049ce4782 100644 --- a/sdk/python/pulumi_azure/storage/account.py +++ b/sdk/python/pulumi_azure/storage/account.py @@ -11,7 +11,7 @@ class Account(pulumi.CustomResource): access_tier: pulumi.Output[str] """ - Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. """ account_encryption_source: pulumi.Output[str] """ @@ -19,9 +19,7 @@ class Account(pulumi.CustomResource): """ account_kind: pulumi.Output[str] """ - Defines the Kind of account. Valid options are `Storage`, - `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - Defaults to `Storage`. + Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. """ account_replication_type: pulumi.Output[str] """ @@ -29,13 +27,17 @@ class Account(pulumi.CustomResource): """ account_tier: pulumi.Output[str] """ - Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. """ account_type: pulumi.Output[str] custom_domain: pulumi.Output[dict] """ A `custom_domain` block as documented below. """ + enable_advanced_threat_protection: pulumi.Output[bool] + """ + Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. + """ enable_blob_encryption: pulumi.Output[bool] """ Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. @@ -59,8 +61,7 @@ class Account(pulumi.CustomResource): """ location: pulumi.Output[str] """ - Specifies the supported Azure location where the - resource exists. Changing this forces a new resource to be created. + Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. """ name: pulumi.Output[str] """ @@ -134,10 +135,13 @@ class Account(pulumi.CustomResource): """ The hostname with port if applicable for web storage in the primary location. """ + queue_properties: pulumi.Output[dict] + """ + A Queue Property block as defined below. + """ resource_group_name: pulumi.Output[str] """ - The name of the resource group in which to - create the storage account. Changing this forces a new resource to be created. + The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. """ secondary_access_key: pulumi.Output[str] """ @@ -207,32 +211,30 @@ class Account(pulumi.CustomResource): """ A mapping of tags to assign to the resource. """ - def __init__(__self__, resource_name, opts=None, access_tier=None, account_encryption_source=None, account_kind=None, account_replication_type=None, account_tier=None, account_type=None, custom_domain=None, enable_blob_encryption=None, enable_file_encryption=None, enable_https_traffic_only=None, identity=None, is_hns_enabled=None, location=None, name=None, network_rules=None, resource_group_name=None, tags=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, access_tier=None, account_encryption_source=None, account_kind=None, account_replication_type=None, account_tier=None, account_type=None, custom_domain=None, enable_advanced_threat_protection=None, enable_blob_encryption=None, enable_file_encryption=None, enable_https_traffic_only=None, identity=None, is_hns_enabled=None, location=None, name=None, network_rules=None, queue_properties=None, resource_group_name=None, tags=None, __name__=None, __opts__=None): """ Manage an Azure Storage Account. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_tier: Defines the access tier for `BlobStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. + :param pulumi.Input[str] access_tier: Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`. :param pulumi.Input[str] account_encryption_source: The Encryption Source for this Storage Account. Possible values are `Microsoft.Keyvault` and `Microsoft.Storage`. Defaults to `Microsoft.Storage`. - :param pulumi.Input[str] account_kind: Defines the Kind of account. Valid options are `Storage`, - `StorageV2` and `BlobStorage`. Changing this forces a new resource to be created. - Defaults to `Storage`. + :param pulumi.Input[str] account_kind: Defines the Kind of account. Valid options are `Storage`, `StorageV2`, `BlobStorage`, and `FileStorage`. Changing this forces a new resource to be created. Defaults to `Storage`. :param pulumi.Input[str] account_replication_type: Defines the type of replication to use for this storage account. Valid options are `LRS`, `GRS`, `RAGRS` and `ZRS`. - :param pulumi.Input[str] account_tier: Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. Changing this forces a new resource to be created + :param pulumi.Input[str] account_tier: Defines the Tier to use for this storage account. Valid options are `Standard` and `Premium`. For `FileStorage` accounts only `Premium` is valid. Changing this forces a new resource to be created. :param pulumi.Input[dict] custom_domain: A `custom_domain` block as documented below. + :param pulumi.Input[bool] enable_advanced_threat_protection: Boolean flag which controls if advanced threat protection is enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/common/storage-advanced-threat-protection) for more information. Defaults to `false`. :param pulumi.Input[bool] enable_blob_encryption: Boolean flag which controls if Encryption Services are enabled for Blob storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. :param pulumi.Input[bool] enable_file_encryption: Boolean flag which controls if Encryption Services are enabled for File storage, see [here](https://azure.microsoft.com/en-us/documentation/articles/storage-service-encryption/) for more information. Defaults to `true`. :param pulumi.Input[bool] enable_https_traffic_only: Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/storage-require-secure-transfer/) for more information. :param pulumi.Input[dict] identity: A Managed Service Identity block as defined below. :param pulumi.Input[bool] is_hns_enabled: Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 ([see here for more information](https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). Changing this forces a new resource to be created. - :param pulumi.Input[str] location: Specifies the supported Azure location where the - resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The Custom Domain Name to use for the Storage Account, which will be validated by Azure. :param pulumi.Input[dict] network_rules: A `network_rules` block as documented below. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to - create the storage account. Changing this forces a new resource to be created. + :param pulumi.Input[dict] queue_properties: A Queue Property block as defined below. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the storage account. Changing this forces a new resource to be created. :param pulumi.Input[dict] tags: A mapping of tags to assign to the resource. > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_account.html.markdown. @@ -270,6 +272,8 @@ def __init__(__self__, resource_name, opts=None, access_tier=None, account_encry __props__['custom_domain'] = custom_domain + __props__['enable_advanced_threat_protection'] = enable_advanced_threat_protection + __props__['enable_blob_encryption'] = enable_blob_encryption __props__['enable_file_encryption'] = enable_file_encryption @@ -286,6 +290,8 @@ def __init__(__self__, resource_name, opts=None, access_tier=None, account_encry __props__['network_rules'] = network_rules + __props__['queue_properties'] = queue_properties + if resource_group_name is None: raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name diff --git a/sdk/python/pulumi_azure/storage/container.py b/sdk/python/pulumi_azure/storage/container.py index 8e40066720..a9b61c621b 100644 --- a/sdk/python/pulumi_azure/storage/container.py +++ b/sdk/python/pulumi_azure/storage/container.py @@ -11,38 +11,47 @@ class Container(pulumi.CustomResource): container_access_type: pulumi.Output[str] """ - The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. + The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. + """ + has_immutability_policy: pulumi.Output[bool] + """ + Is there an Immutability Policy configured on this Storage Container? + """ + has_legal_hold: pulumi.Output[bool] + """ + Is there a Legal Hold configured on this Storage Container? + """ + metadata: pulumi.Output[dict] + """ + A mapping of MetaData for this Container. """ name: pulumi.Output[str] """ - The name of the storage container. Must be unique within the storage service the container is located. + The name of the Container which should be created within the Storage Account. """ properties: pulumi.Output[dict] """ - Key-value definition of additional properties associated to the storage container + (**Deprecated**) Key-value definition of additional properties associated to the Storage Container """ resource_group_name: pulumi.Output[str] """ - The name of the resource group in which to - create the storage container. Changing this forces a new resource to be created. + The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. """ storage_account_name: pulumi.Output[str] """ - Specifies the storage account in which to create the storage container. - Changing this forces a new resource to be created. + The name of the Storage Account where the Container should be created. """ - def __init__(__self__, resource_name, opts=None, container_access_type=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, container_access_type=None, metadata=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): """ - Manage an Azure Storage Container. + Manage a Container within an Azure Storage Account. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] container_access_type: The 'interface' for access the container provides. Can be either `blob`, `container` or `private`. Defaults to `private`. - :param pulumi.Input[str] name: The name of the storage container. Must be unique within the storage service the container is located. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to - create the storage container. Changing this forces a new resource to be created. - :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage container. - Changing this forces a new resource to be created. + :param pulumi.Input[str] container_access_type: The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`. + :param pulumi.Input[dict] metadata: A mapping of MetaData for this Container. + :param pulumi.Input[str] name: The name of the Container which should be created within the Storage Account. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the storage container. This field is no longer used and will be removed in 2.0. + :param pulumi.Input[str] storage_account_name: The name of the Storage Account where the Container should be created. > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_container.html.markdown. """ @@ -63,16 +72,18 @@ def __init__(__self__, resource_name, opts=None, container_access_type=None, nam __props__['container_access_type'] = container_access_type + __props__['metadata'] = metadata + __props__['name'] = name - if resource_group_name is None: - raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name if storage_account_name is None: raise TypeError("Missing required property 'storage_account_name'") __props__['storage_account_name'] = storage_account_name + __props__['has_immutability_policy'] = None + __props__['has_legal_hold'] = None __props__['properties'] = None super(Container, __self__).__init__( diff --git a/sdk/python/pulumi_azure/storage/queue.py b/sdk/python/pulumi_azure/storage/queue.py index 145c9a243f..07f16f130b 100644 --- a/sdk/python/pulumi_azure/storage/queue.py +++ b/sdk/python/pulumi_azure/storage/queue.py @@ -9,31 +9,32 @@ from .. import utilities, tables class Queue(pulumi.CustomResource): + metadata: pulumi.Output[dict] + """ + A mapping of MetaData which should be assigned to this Storage Queue. + """ name: pulumi.Output[str] """ - The name of the storage queue. Must be unique within the storage account the queue is located. + The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. """ resource_group_name: pulumi.Output[str] """ - The name of the resource group in which to - create the storage queue. Changing this forces a new resource to be created. + The name of the resource group in which to create the storage queue. """ storage_account_name: pulumi.Output[str] """ - Specifies the storage account in which to create the storage queue. - Changing this forces a new resource to be created. + Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. """ - def __init__(__self__, resource_name, opts=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, metadata=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): """ - Manage an Azure Storage Queue. + Manages a Queue within an Azure Storage Account. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] name: The name of the storage queue. Must be unique within the storage account the queue is located. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to - create the storage queue. Changing this forces a new resource to be created. - :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage queue. - Changing this forces a new resource to be created. + :param pulumi.Input[dict] metadata: A mapping of MetaData which should be assigned to this Storage Queue. + :param pulumi.Input[str] name: The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the storage queue. + :param pulumi.Input[str] storage_account_name: Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created. > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_queue.html.markdown. """ @@ -52,10 +53,10 @@ def __init__(__self__, resource_name, opts=None, name=None, resource_group_name= __props__ = dict() + __props__['metadata'] = metadata + __props__['name'] = name - if resource_group_name is None: - raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name if storage_account_name is None: diff --git a/sdk/python/pulumi_azure/storage/share.py b/sdk/python/pulumi_azure/storage/share.py index c25ffcb9d4..109000a9fd 100644 --- a/sdk/python/pulumi_azure/storage/share.py +++ b/sdk/python/pulumi_azure/storage/share.py @@ -9,6 +9,14 @@ from .. import utilities, tables class Share(pulumi.CustomResource): + acls: pulumi.Output[list] + """ + One or more `acl` blocks as defined below. + """ + metadata: pulumi.Output[dict] + """ + A mapping of MetaData for this File Share. + """ name: pulumi.Output[str] """ The name of the share. Must be unique within the storage account where the share is located. @@ -29,14 +37,16 @@ class Share(pulumi.CustomResource): """ url: pulumi.Output[str] """ - The URL of the share + The URL of the File Share """ - def __init__(__self__, resource_name, opts=None, name=None, quota=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, acls=None, metadata=None, name=None, quota=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): """ - Manage an Azure Storage File Share. + Manages a File Share within Azure Storage. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[list] acls: One or more `acl` blocks as defined below. + :param pulumi.Input[dict] metadata: A mapping of MetaData for this File Share. :param pulumi.Input[str] name: The name of the share. Must be unique within the storage account where the share is located. :param pulumi.Input[float] quota: The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5 TB (5120 GB). Default is 5120. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to @@ -61,12 +71,14 @@ def __init__(__self__, resource_name, opts=None, name=None, quota=None, resource __props__ = dict() + __props__['acls'] = acls + + __props__['metadata'] = metadata + __props__['name'] = name __props__['quota'] = quota - if resource_group_name is None: - raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name if storage_account_name is None: diff --git a/sdk/python/pulumi_azure/storage/share_directory.py b/sdk/python/pulumi_azure/storage/share_directory.py new file mode 100644 index 0000000000..df3804c0eb --- /dev/null +++ b/sdk/python/pulumi_azure/storage/share_directory.py @@ -0,0 +1,80 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class ShareDirectory(pulumi.CustomResource): + metadata: pulumi.Output[dict] + """ + A mapping of metadata to assign to this Directory. + """ + name: pulumi.Output[str] + """ + The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + """ + share_name: pulumi.Output[str] + """ + The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + """ + storage_account_name: pulumi.Output[str] + """ + The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + """ + def __init__(__self__, resource_name, opts=None, metadata=None, name=None, share_name=None, storage_account_name=None, __name__=None, __opts__=None): + """ + Manage a Directory within an Azure Storage File Share. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[dict] metadata: A mapping of metadata to assign to this Directory. + :param pulumi.Input[str] name: The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. + :param pulumi.Input[str] share_name: The name of the File Share where this Directory should be created. Changing this forces a new resource to be created. + :param pulumi.Input[str] storage_account_name: The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_share_directory.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['metadata'] = metadata + + __props__['name'] = name + + if share_name is None: + raise TypeError("Missing required property 'share_name'") + __props__['share_name'] = share_name + + if storage_account_name is None: + raise TypeError("Missing required property 'storage_account_name'") + __props__['storage_account_name'] = storage_account_name + + super(ShareDirectory, __self__).__init__( + 'azure:storage/shareDirectory:ShareDirectory', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/storage/table.py b/sdk/python/pulumi_azure/storage/table.py index 2c47603526..1eb94dfe60 100644 --- a/sdk/python/pulumi_azure/storage/table.py +++ b/sdk/python/pulumi_azure/storage/table.py @@ -9,29 +9,32 @@ from .. import utilities, tables class Table(pulumi.CustomResource): + acls: pulumi.Output[list] + """ + One or more `acl` blocks as defined below. + """ name: pulumi.Output[str] """ The name of the storage table. Must be unique within the storage account the table is located. """ resource_group_name: pulumi.Output[str] """ - The name of the resource group in which to - create the storage table. Changing this forces a new resource to be created. + The name of the resource group in which to create the storage table. """ storage_account_name: pulumi.Output[str] """ Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created. """ - def __init__(__self__, resource_name, opts=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, acls=None, name=None, resource_group_name=None, storage_account_name=None, __name__=None, __opts__=None): """ - Manage an Azure Storage Table. + Manage a Table within an Azure Storage Account. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[list] acls: One or more `acl` blocks as defined below. :param pulumi.Input[str] name: The name of the storage table. Must be unique within the storage account the table is located. - :param pulumi.Input[str] resource_group_name: The name of the resource group in which to - create the storage table. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the storage table. :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created. @@ -52,10 +55,10 @@ def __init__(__self__, resource_name, opts=None, name=None, resource_group_name= __props__ = dict() + __props__['acls'] = acls + __props__['name'] = name - if resource_group_name is None: - raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name if storage_account_name is None: diff --git a/sdk/python/pulumi_azure/storage/table_entity.py b/sdk/python/pulumi_azure/storage/table_entity.py new file mode 100644 index 0000000000..8be77bbe49 --- /dev/null +++ b/sdk/python/pulumi_azure/storage/table_entity.py @@ -0,0 +1,97 @@ +# 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 json +import warnings +import pulumi +import pulumi.runtime +from .. import utilities, tables + +class TableEntity(pulumi.CustomResource): + entity: pulumi.Output[dict] + """ + A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + """ + partition_key: pulumi.Output[str] + """ + The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + """ + row_key: pulumi.Output[str] + """ + The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + """ + storage_account_name: pulumi.Output[str] + """ + Specifies the storage account in which to create the storage table entity. + Changing this forces a new resource to be created. + """ + table_name: pulumi.Output[str] + """ + The name of the storage table in which to create the storage table entity. + Changing this forces a new resource to be created. + """ + def __init__(__self__, resource_name, opts=None, entity=None, partition_key=None, row_key=None, storage_account_name=None, table_name=None, __name__=None, __opts__=None): + """ + Manages an Entity within a Table in an Azure Storage Account. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[dict] entity: A map of key/value pairs that describe the entity to be inserted/merged in to the storage table. + :param pulumi.Input[str] partition_key: The key for the partition where the entity will be inserted/merged. Changing this forces a new resource. + :param pulumi.Input[str] row_key: The key for the row where the entity will be inserted/merged. Changing this forces a new resource. + :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage table entity. + Changing this forces a new resource to be created. + :param pulumi.Input[str] table_name: The name of the storage table in which to create the storage table entity. + Changing this forces a new resource to be created. + + > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/storage_table_entity.html.markdown. + """ + if __name__ is not None: + warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning) + resource_name = __name__ + if __opts__ is not None: + warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning) + opts = __opts__ + if not resource_name: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(resource_name, str): + raise TypeError('Expected resource name to be a string') + if opts and not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + if entity is None: + raise TypeError("Missing required property 'entity'") + __props__['entity'] = entity + + if partition_key is None: + raise TypeError("Missing required property 'partition_key'") + __props__['partition_key'] = partition_key + + if row_key is None: + raise TypeError("Missing required property 'row_key'") + __props__['row_key'] = row_key + + if storage_account_name is None: + raise TypeError("Missing required property 'storage_account_name'") + __props__['storage_account_name'] = storage_account_name + + if table_name is None: + raise TypeError("Missing required property 'table_name'") + __props__['table_name'] = table_name + + super(TableEntity, __self__).__init__( + 'azure:storage/tableEntity:TableEntity', + resource_name, + __props__, + opts) + + + def translate_output_property(self, prop): + return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop + + def translate_input_property(self, prop): + return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop + diff --git a/sdk/python/pulumi_azure/tables.py b/sdk/python/pulumi_azure/tables.py index 84872ecade..2272172e4b 100644 --- a/sdk/python/pulumi_azure/tables.py +++ b/sdk/python/pulumi_azure/tables.py @@ -25,6 +25,7 @@ "admin_enabled": "adminEnabled", "admin_password": "adminPassword", "admin_username": "adminUsername", + "admin_users": "adminUsers", "administrator_login": "administratorLogin", "administrator_login_password": "administratorLoginPassword", "agent_pool_profile": "agentPoolProfile", @@ -37,6 +38,7 @@ "allow_classic_operations": "allowClassicOperations", "allow_forwarded_traffic": "allowForwardedTraffic", "allow_gateway_transit": "allowGatewayTransit", + "allow_updates": "allowUpdates", "allow_virtual_network_access": "allowVirtualNetworkAccess", "api_key": "apiKey", "api_management_name": "apiManagementName", @@ -126,6 +128,7 @@ "creation_date": "creationDate", "custom_domain": "customDomain", "custom_error_configurations": "customErrorConfigurations", + "custom_headers": "customHeaders", "data_disks": "dataDisks", "data_factory_name": "dataFactoryName", "data_locale": "dataLocale", @@ -151,6 +154,7 @@ "default_storage_account_id": "defaultStorageAccountId", "default_store_account_name": "defaultStoreAccountName", "default_ttl_seconds": "defaultTtlSeconds", + "default_version": "defaultVersion", "delete_data_disks_on_termination": "deleteDataDisksOnTermination", "delete_os_disk_on_termination": "deleteOsDiskOnTermination", "deployment_mode": "deploymentMode", @@ -183,6 +187,7 @@ "email_action": "emailAction", "email_receivers": "emailReceivers", "enable_accelerated_networking": "enableAcceleratedNetworking", + "enable_advanced_threat_protection": "enableAdvancedThreatProtection", "enable_automatic_failover": "enableAutomaticFailover", "enable_batched_operations": "enableBatchedOperations", "enable_bgp": "enableBgp", @@ -198,6 +203,7 @@ "enable_multiple_write_locations": "enableMultipleWriteLocations", "enable_non_ssl_port": "enableNonSslPort", "enable_partitioning": "enablePartitioning", + "enable_power_bi_service": "enablePowerBiService", "enable_tcp_reset": "enableTcpReset", "enabled_for_deployment": "enabledForDeployment", "enabled_for_disk_encryption": "enabledForDiskEncryption", @@ -238,6 +244,7 @@ "fact_data": "factData", "failover_policies": "failoverPolicies", "fallback_route": "fallbackRoute", + "file_upload": "fileUpload", "filter_type": "filterType", "firewall_allow_azure_ips": "firewallAllowAzureIps", "firewall_state": "firewallState", @@ -267,6 +274,8 @@ "grant_types": "grantTypes", "group_id": "groupId", "group_name": "groupName", + "has_immutability_policy": "hasImmutabilityPolicy", + "has_legal_hold": "hasLegalHold", "health_probe_id": "healthProbeId", "host_name": "hostName", "host_suffix": "hostSuffix", @@ -305,6 +314,7 @@ "ip_range_filter": "ipRangeFilter", "ip_version": "ipVersion", "ipsec_policy": "ipsecPolicy", + "ipv4_firewall_rules": "ipv4FirewallRules", "is_compression_enabled": "isCompressionEnabled", "is_current": "isCurrent", "is_hns_enabled": "isHnsEnabled", @@ -322,6 +332,7 @@ "key_size": "keySize", "key_type": "keyType", "key_vault_id": "keyVaultId", + "key_vault_reference": "keyVaultReference", "kube_admin_config": "kubeAdminConfig", "kube_admin_config_raw": "kubeAdminConfigRaw", "kube_config": "kubeConfig", @@ -392,6 +403,7 @@ "network_interface_ids": "networkInterfaceIds", "network_profile": "networkProfile", "network_profiles": "networkProfiles", + "network_rule_set": "networkRuleSet", "network_rules": "networkRules", "network_security_group_id": "networkSecurityGroupId", "network_security_group_name": "networkSecurityGroupName", @@ -426,6 +438,7 @@ "parent_management_group_id": "parentManagementGroupId", "partition_count": "partitionCount", "partition_ids": "partitionIds", + "partition_key": "partitionKey", "partner_id": "partnerId", "patch_schedules": "patchSchedules", "path_pattern": "pathPattern", @@ -490,8 +503,10 @@ "publish_content_link": "publishContentLink", "publisher_email": "publisherEmail", "publisher_name": "publisherName", + "querypool_connection_mode": "querypoolConnectionMode", "querystring_caching_behaviour": "querystringCachingBehaviour", "queue_name": "queueName", + "queue_properties": "queueProperties", "read_endpoints": "readEndpoints", "read_permissions": "readPermissions", "read_scale": "readScale", @@ -540,6 +555,7 @@ "route_table_id": "routeTableId", "route_table_name": "routeTableName", "routing_weight": "routingWeight", + "row_key": "rowKey", "runbook_type": "runbookType", "schema_columns": "schemaColumns", "schema_id": "schemaId", @@ -573,6 +589,7 @@ "server_port": "serverPort", "service_connect": "serviceConnect", "service_endpoints": "serviceEndpoints", + "service_fabric_cluster": "serviceFabricCluster", "service_key": "serviceKey", "service_principal": "servicePrincipal", "service_principal_id": "servicePrincipalId", @@ -585,6 +602,7 @@ "servicebus_rule_id": "servicebusRuleId", "shard_count": "shardCount", "shard_key": "shardKey", + "share_name": "shareName", "shared_access_policies": "sharedAccessPolicies", "shared_access_policy_key": "sharedAccessPolicyKey", "shared_access_policy_name": "sharedAccessPolicyName", @@ -711,6 +729,7 @@ "webhook_receivers": "webhookReceivers", "week_days": "weekDays", "window_size": "windowSize", + "windows_profile": "windowsProfile", "workflow_schema": "workflowSchema", "workflow_version": "workflowVersion", "workspace_id": "workspaceId", @@ -719,6 +738,7 @@ "write_accelerator_enabled": "writeAcceleratorEnabled", "write_endpoints": "writeEndpoints", "write_permissions": "writePermissions", + "x_ms_client_id": "xMsClientId", "xml_content": "xmlContent", "xml_link": "xmlLink", "zone_name": "zoneName", @@ -750,6 +770,7 @@ "adminEnabled": "admin_enabled", "adminPassword": "admin_password", "adminUsername": "admin_username", + "adminUsers": "admin_users", "administratorLogin": "administrator_login", "administratorLoginPassword": "administrator_login_password", "agentPoolProfile": "agent_pool_profile", @@ -762,6 +783,7 @@ "allowClassicOperations": "allow_classic_operations", "allowForwardedTraffic": "allow_forwarded_traffic", "allowGatewayTransit": "allow_gateway_transit", + "allowUpdates": "allow_updates", "allowVirtualNetworkAccess": "allow_virtual_network_access", "apiKey": "api_key", "apiManagementName": "api_management_name", @@ -851,6 +873,7 @@ "creationDate": "creation_date", "customDomain": "custom_domain", "customErrorConfigurations": "custom_error_configurations", + "customHeaders": "custom_headers", "dataDisks": "data_disks", "dataFactoryName": "data_factory_name", "dataLocale": "data_locale", @@ -876,6 +899,7 @@ "defaultStorageAccountId": "default_storage_account_id", "defaultStoreAccountName": "default_store_account_name", "defaultTtlSeconds": "default_ttl_seconds", + "defaultVersion": "default_version", "deleteDataDisksOnTermination": "delete_data_disks_on_termination", "deleteOsDiskOnTermination": "delete_os_disk_on_termination", "deploymentMode": "deployment_mode", @@ -908,6 +932,7 @@ "emailAction": "email_action", "emailReceivers": "email_receivers", "enableAcceleratedNetworking": "enable_accelerated_networking", + "enableAdvancedThreatProtection": "enable_advanced_threat_protection", "enableAutomaticFailover": "enable_automatic_failover", "enableBatchedOperations": "enable_batched_operations", "enableBgp": "enable_bgp", @@ -923,6 +948,7 @@ "enableMultipleWriteLocations": "enable_multiple_write_locations", "enableNonSslPort": "enable_non_ssl_port", "enablePartitioning": "enable_partitioning", + "enablePowerBiService": "enable_power_bi_service", "enableTcpReset": "enable_tcp_reset", "enabledForDeployment": "enabled_for_deployment", "enabledForDiskEncryption": "enabled_for_disk_encryption", @@ -963,6 +989,7 @@ "factData": "fact_data", "failoverPolicies": "failover_policies", "fallbackRoute": "fallback_route", + "fileUpload": "file_upload", "filterType": "filter_type", "firewallAllowAzureIps": "firewall_allow_azure_ips", "firewallState": "firewall_state", @@ -992,6 +1019,8 @@ "grantTypes": "grant_types", "groupId": "group_id", "groupName": "group_name", + "hasImmutabilityPolicy": "has_immutability_policy", + "hasLegalHold": "has_legal_hold", "healthProbeId": "health_probe_id", "hostName": "host_name", "hostSuffix": "host_suffix", @@ -1030,6 +1059,7 @@ "ipRangeFilter": "ip_range_filter", "ipVersion": "ip_version", "ipsecPolicy": "ipsec_policy", + "ipv4FirewallRules": "ipv4_firewall_rules", "isCompressionEnabled": "is_compression_enabled", "isCurrent": "is_current", "isHnsEnabled": "is_hns_enabled", @@ -1047,6 +1077,7 @@ "keySize": "key_size", "keyType": "key_type", "keyVaultId": "key_vault_id", + "keyVaultReference": "key_vault_reference", "kubeAdminConfig": "kube_admin_config", "kubeAdminConfigRaw": "kube_admin_config_raw", "kubeConfig": "kube_config", @@ -1117,6 +1148,7 @@ "networkInterfaceIds": "network_interface_ids", "networkProfile": "network_profile", "networkProfiles": "network_profiles", + "networkRuleSet": "network_rule_set", "networkRules": "network_rules", "networkSecurityGroupId": "network_security_group_id", "networkSecurityGroupName": "network_security_group_name", @@ -1151,6 +1183,7 @@ "parentManagementGroupId": "parent_management_group_id", "partitionCount": "partition_count", "partitionIds": "partition_ids", + "partitionKey": "partition_key", "partnerId": "partner_id", "patchSchedules": "patch_schedules", "pathPattern": "path_pattern", @@ -1215,8 +1248,10 @@ "publishContentLink": "publish_content_link", "publisherEmail": "publisher_email", "publisherName": "publisher_name", + "querypoolConnectionMode": "querypool_connection_mode", "querystringCachingBehaviour": "querystring_caching_behaviour", "queueName": "queue_name", + "queueProperties": "queue_properties", "readEndpoints": "read_endpoints", "readPermissions": "read_permissions", "readScale": "read_scale", @@ -1265,6 +1300,7 @@ "routeTableId": "route_table_id", "routeTableName": "route_table_name", "routingWeight": "routing_weight", + "rowKey": "row_key", "runbookType": "runbook_type", "schemaColumns": "schema_columns", "schemaId": "schema_id", @@ -1298,6 +1334,7 @@ "serverPort": "server_port", "serviceConnect": "service_connect", "serviceEndpoints": "service_endpoints", + "serviceFabricCluster": "service_fabric_cluster", "serviceKey": "service_key", "servicePrincipal": "service_principal", "servicePrincipalId": "service_principal_id", @@ -1310,6 +1347,7 @@ "servicebusRuleId": "servicebus_rule_id", "shardCount": "shard_count", "shardKey": "shard_key", + "shareName": "share_name", "sharedAccessPolicies": "shared_access_policies", "sharedAccessPolicyKey": "shared_access_policy_key", "sharedAccessPolicyName": "shared_access_policy_name", @@ -1436,6 +1474,7 @@ "webhookReceivers": "webhook_receivers", "weekDays": "week_days", "windowSize": "window_size", + "windowsProfile": "windows_profile", "workflowSchema": "workflow_schema", "workflowVersion": "workflow_version", "workspaceId": "workspace_id", @@ -1444,6 +1483,7 @@ "writeAcceleratorEnabled": "write_accelerator_enabled", "writeEndpoints": "write_endpoints", "writePermissions": "write_permissions", + "xMsClientId": "x_ms_client_id", "xmlContent": "xml_content", "xmlLink": "xml_link", "zoneName": "zone_name", diff --git a/sdk/python/pulumi_azure/trafficmanager/endpoint.py b/sdk/python/pulumi_azure/trafficmanager/endpoint.py index d135b649e2..6265e62b3e 100644 --- a/sdk/python/pulumi_azure/trafficmanager/endpoint.py +++ b/sdk/python/pulumi_azure/trafficmanager/endpoint.py @@ -9,6 +9,10 @@ from .. import utilities, tables class Endpoint(pulumi.CustomResource): + custom_headers: pulumi.Output[list] + """ + One or more `custom_header` blocks as defined below + """ endpoint_location: pulumi.Output[str] """ Specifies the Azure location of the Endpoint, @@ -57,6 +61,10 @@ class Endpoint(pulumi.CustomResource): The name of the resource group in which to create the Traffic Manager endpoint. """ + subnets: pulumi.Output[list] + """ + One or more `subnet` blocks as defined below + """ target: pulumi.Output[str] """ The FQDN DNS name of the target. This argument must be @@ -82,12 +90,13 @@ class Endpoint(pulumi.CustomResource): endpoint, this must be specified for Profiles using the `Weighted` traffic routing method. Supports values between 1 and 1000. """ - def __init__(__self__, resource_name, opts=None, endpoint_location=None, endpoint_status=None, geo_mappings=None, min_child_endpoints=None, name=None, priority=None, profile_name=None, resource_group_name=None, target=None, target_resource_id=None, type=None, weight=None, __name__=None, __opts__=None): + def __init__(__self__, resource_name, opts=None, custom_headers=None, endpoint_location=None, endpoint_status=None, geo_mappings=None, min_child_endpoints=None, name=None, priority=None, profile_name=None, resource_group_name=None, subnets=None, target=None, target_resource_id=None, type=None, weight=None, __name__=None, __opts__=None): """ Manages a Traffic Manager Endpoint. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[list] custom_headers: One or more `custom_header` blocks as defined below :param pulumi.Input[str] endpoint_location: Specifies the Azure location of the Endpoint, this must be specified for Profiles using the `Performance` routing method if the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`. @@ -111,6 +120,7 @@ def __init__(__self__, resource_name, opts=None, endpoint_location=None, endpoin create the Traffic Manager endpoint. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to create the Traffic Manager endpoint. + :param pulumi.Input[list] subnets: One or more `subnet` blocks as defined below :param pulumi.Input[str] target: The FQDN DNS name of the target. This argument must be provided for an endpoint of type `externalEndpoints`, for other types it will be computed. @@ -142,6 +152,8 @@ def __init__(__self__, resource_name, opts=None, endpoint_location=None, endpoin __props__ = dict() + __props__['custom_headers'] = custom_headers + __props__['endpoint_location'] = endpoint_location __props__['endpoint_status'] = endpoint_status @@ -162,6 +174,8 @@ def __init__(__self__, resource_name, opts=None, endpoint_location=None, endpoin raise TypeError("Missing required property 'resource_group_name'") __props__['resource_group_name'] = resource_group_name + __props__['subnets'] = subnets + __props__['target'] = target __props__['target_resource_id'] = target_resource_id From ad84b4f7954cbb4c5d573d4c87900d3665b7adf6 Mon Sep 17 00:00:00 2001 From: stack72 Date: Thu, 1 Aug 2019 05:52:59 +0300 Subject: [PATCH 3/3] CHANGELOG entry for the update to v1.32.1 of the Azurerm Terraform Provider --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ca9fc0886..c30b9ab6c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ CHANGELOG * Out-of-the-box Azure Cloud Shell support ([#74](https://github.com/pulumi/pulumi-azure/issues/74)) * Add constants for Azure AppService Plan Kind types. * Individual Azure Functions can be created by getEventFunction helpers directly on event sources. +* Update to v1.32.1 of the AzureRM Terraform provider ___