Merge pull request #11306 from zetaab/updatedeps2

update deps
This commit is contained in:
Kubernetes Prow Robot 2021-04-24 02:05:21 -07:00 committed by GitHub
commit ab55ba7e88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
241 changed files with 9100 additions and 4507 deletions

31
go.mod
View File

@ -37,31 +37,30 @@ replace (
require ( require (
cloud.google.com/go v0.81.0 cloud.google.com/go v0.81.0
github.com/Azure/azure-pipeline-go v0.2.3 github.com/Azure/azure-pipeline-go v0.2.3
github.com/Azure/azure-sdk-for-go v53.1.0+incompatible github.com/Azure/azure-sdk-for-go v53.4.0+incompatible
github.com/Azure/azure-storage-blob-go v0.13.0 github.com/Azure/azure-storage-blob-go v0.13.0
github.com/Azure/go-autorest/autorest v0.11.18 github.com/Azure/go-autorest/autorest v0.11.18
github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 github.com/Azure/go-autorest/autorest/azure/auth v0.5.7
github.com/Azure/go-autorest/autorest/to v0.4.0 github.com/Azure/go-autorest/autorest/to v0.4.0
github.com/MakeNowJust/heredoc/v2 v2.0.1 github.com/MakeNowJust/heredoc/v2 v2.0.1
github.com/Masterminds/sprig/v3 v3.2.2 github.com/Masterminds/sprig/v3 v3.2.2
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1022 github.com/aliyun/alibaba-cloud-sdk-go v1.61.1046
github.com/aws/amazon-ec2-instance-selector/v2 v2.0.2 github.com/aws/amazon-ec2-instance-selector/v2 v2.0.2
github.com/aws/aws-sdk-go v1.38.17 github.com/aws/aws-sdk-go v1.38.25
github.com/blang/semver/v4 v4.0.0 github.com/blang/semver/v4 v4.0.0
github.com/denverdino/aliyungo v0.0.0-20210318042315-546d0768f5c7 github.com/denverdino/aliyungo v0.0.0-20210318042315-546d0768f5c7
github.com/digitalocean/godo v1.59.0 github.com/digitalocean/godo v1.60.0
github.com/docker/docker v20.10.5+incompatible github.com/docker/docker v20.10.6+incompatible
github.com/go-ini/ini v1.62.0 github.com/go-ini/ini v1.62.0
github.com/go-logr/logr v0.4.0 github.com/go-logr/logr v0.4.0
github.com/gogo/protobuf v1.3.2 github.com/gogo/protobuf v1.3.2
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.5 github.com/google/go-cmp v0.5.5
github.com/google/uuid v1.2.0 github.com/google/uuid v1.2.0
github.com/gophercloud/gophercloud v0.17.0 github.com/gophercloud/gophercloud v0.17.0
github.com/hashicorp/hcl/v2 v2.9.1 github.com/hashicorp/hcl/v2 v2.10.0
github.com/hashicorp/vault/api v1.1.0 github.com/hashicorp/vault/api v1.1.0
github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7 github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7
github.com/jetstack/cert-manager v1.3.0 github.com/jetstack/cert-manager v1.3.1
github.com/mitchellh/mapstructure v1.4.1 github.com/mitchellh/mapstructure v1.4.1
github.com/pelletier/go-toml v1.9.0 github.com/pelletier/go-toml v1.9.0
github.com/pkg/sftp v1.13.0 github.com/pkg/sftp v1.13.0
@ -70,16 +69,16 @@ require (
github.com/spf13/cobra v1.1.3 github.com/spf13/cobra v1.1.3
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.7.1 github.com/spf13/viper v1.7.1
github.com/spotinst/spotinst-sdk-go v1.84.0 github.com/spotinst/spotinst-sdk-go v1.85.0
github.com/stretchr/testify v1.7.0 github.com/stretchr/testify v1.7.0
github.com/weaveworks/mesh v0.0.0-20191105120815-58dbcc3e8e63 github.com/weaveworks/mesh v0.0.0-20191105120815-58dbcc3e8e63
github.com/zclconf/go-cty v1.8.1 github.com/zclconf/go-cty v1.8.2
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b
golang.org/x/mod v0.4.2 // indirect golang.org/x/mod v0.4.2 // indirect
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1 golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602 golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7
google.golang.org/api v0.44.0 google.golang.org/api v0.45.0
gopkg.in/gcfg.v1 v1.2.3 gopkg.in/gcfg.v1 v1.2.3
gopkg.in/inf.v0 v0.9.1 gopkg.in/inf.v0 v0.9.1
gopkg.in/square/go-jose.v2 v2.5.1 gopkg.in/square/go-jose.v2 v2.5.1
@ -88,7 +87,7 @@ require (
k8s.io/apimachinery v0.21.0 k8s.io/apimachinery v0.21.0
k8s.io/cli-runtime v0.21.0 k8s.io/cli-runtime v0.21.0
k8s.io/client-go v0.21.0 k8s.io/client-go v0.21.0
k8s.io/cloud-provider-openstack v1.20.3 k8s.io/cloud-provider-openstack v1.20.4
k8s.io/component-base v0.21.0 k8s.io/component-base v0.21.0
k8s.io/gengo v0.0.0-20210203185629-de9496dff47b k8s.io/gengo v0.0.0-20210203185629-de9496dff47b
k8s.io/klog/v2 v2.8.0 k8s.io/klog/v2 v2.8.0

70
go.sum
View File

@ -47,8 +47,8 @@ github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl
github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-sdk-for-go v43.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v43.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-sdk-for-go v46.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v46.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-sdk-for-go v53.1.0+incompatible h1:f2h0KLVGa3zIaMDMHBe5Lazc0FT5+L78z0B8K9PmDyg= github.com/Azure/azure-sdk-for-go v53.4.0+incompatible h1:ky9S0JoJOvO39ncwrYAVMEBiIjFB/WkbZsWkg/nbYx0=
github.com/Azure/azure-sdk-for-go v53.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v53.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/azure-storage-blob-go v0.13.0 h1:lgWHvFh+UYBNVQLFHXkvul2f6yOPA9PIH82RTG2cSwc= github.com/Azure/azure-storage-blob-go v0.13.0 h1:lgWHvFh+UYBNVQLFHXkvul2f6yOPA9PIH82RTG2cSwc=
github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
@ -140,8 +140,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1022 h1:aExxhPSdw2iegClHvY8kq9dfhT1NtWIIQUXR5NNtIgo= github.com/aliyun/alibaba-cloud-sdk-go v1.61.1046 h1:cT2lffYi+YDtv68q0CMLhuA/s1l3/RQZsuofR+nAm1g=
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1022/go.mod h1:pUKYbK5JQ+1Dfxk80P0qxGqe5dkxDoabbZS7zOcouyA= github.com/aliyun/alibaba-cloud-sdk-go v1.61.1046/go.mod h1:pUKYbK5JQ+1Dfxk80P0qxGqe5dkxDoabbZS7zOcouyA=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
@ -170,8 +170,8 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
github.com/aws/aws-sdk-go v1.31.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.31.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.34.30/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-sdk-go v1.34.30/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
github.com/aws/aws-sdk-go v1.38.17 h1:1OfcfEtNrphUZYa+J0U35/1hxePbb3ASSQWdFS7L0Hs= github.com/aws/aws-sdk-go v1.38.25 h1:aNjeh7+MON05cZPtZ6do+KxVT67jPOSQXANA46gOQao=
github.com/aws/aws-sdk-go v1.38.17/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.25/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
@ -290,8 +290,8 @@ github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/digitalocean/godo v1.44.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= github.com/digitalocean/godo v1.44.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
github.com/digitalocean/godo v1.59.0 h1:v1/8/7v4e4ZwS1QAFgZ9f18UjgoCLrhMTjmOdrFjSWw= github.com/digitalocean/godo v1.60.0 h1:o/vimtn/HKtYSakFAAZ59Zc5ASORd41S4z1X7pAXPn8=
github.com/digitalocean/godo v1.59.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= github.com/digitalocean/godo v1.60.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
@ -304,8 +304,8 @@ github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BU
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v1.4.2-0.20200203170920-46ec8731fbce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20200203170920-46ec8731fbce/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v20.10.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v20.10.5+incompatible h1:o5WL5onN4awYGwrW7+oTn5x9AF2prw7V0Ox8ZEkoCdg= github.com/docker/docker v20.10.6+incompatible h1:oXI3Vas8TI8Eu/EjH4srKHJBVqraSzJybhxY7Om9faQ=
github.com/docker/docker v20.10.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ=
github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
@ -335,6 +335,7 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
@ -643,8 +644,8 @@ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+l
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/hcl/v2 v2.9.1 h1:eOy4gREY0/ZQHNItlfuEZqtcQbXIxzojlP301hDpnac= github.com/hashicorp/hcl/v2 v2.10.0 h1:1S1UnuhDGlv3gRFV4+0EdwB+znNP5HmcGbIqwnSCByg=
github.com/hashicorp/hcl/v2 v2.9.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= github.com/hashicorp/hcl/v2 v2.10.0/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
@ -679,8 +680,8 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod
github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8= github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8=
github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7 h1:q9rwMYjPWIFOSijnxXre4+RGo8xS0NVbJzXg+F0NMHc= github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7 h1:q9rwMYjPWIFOSijnxXre4+RGo8xS0NVbJzXg+F0NMHc=
github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7/go.mod h1:fFX3XoduobgoJsVtpzIFRTgKZAbNhsSJIDNOgeUU5g4= github.com/jacksontj/memberlistmesh v0.0.0-20190905163944-93462b9d2bb7/go.mod h1:fFX3XoduobgoJsVtpzIFRTgKZAbNhsSJIDNOgeUU5g4=
github.com/jetstack/cert-manager v1.3.0 h1:fDKdKrZ6ZXrgNEQtVhUlvpl7jTg2TVfeWcQA1Zqlxtw= github.com/jetstack/cert-manager v1.3.1 h1:B2dUYeBzo/ah7d8Eo954oFuffCvthliIdaeBI2pseY8=
github.com/jetstack/cert-manager v1.3.0/go.mod h1:Hfe4GE3QuRzbrsuReQD5R3PXZqrdfJ2kZ42K67V/V0w= github.com/jetstack/cert-manager v1.3.1/go.mod h1:Hfe4GE3QuRzbrsuReQD5R3PXZqrdfJ2kZ42K67V/V0w=
github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8= github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8=
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
@ -1065,8 +1066,8 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spotinst/spotinst-sdk-go v1.84.0 h1:F6A+wvfu7fQ1Ubsj3YL0BdTtCfqg9/CMOmB4NW3xDNM= github.com/spotinst/spotinst-sdk-go v1.85.0 h1:tMXKhxfmU7BnqTnUpR2s/hEyTASfrxkgPb/3Tqn6tmM=
github.com/spotinst/spotinst-sdk-go v1.84.0/go.mod h1:tJtl0XQCi8YaZnCQfC/y3qHB9OpaxADH/N7EPa0hkt8= github.com/spotinst/spotinst-sdk-go v1.85.0/go.mod h1:RuKksd1/RyQogMCxKFI5B75NeFRcgl3W+26DVX6S4m0=
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/storageos/go-api v2.2.0+incompatible/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY= github.com/storageos/go-api v2.2.0+incompatible/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
@ -1135,8 +1136,8 @@ github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1
github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg=
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
github.com/zclconf/go-cty v1.8.1 h1:SI0LqNeNxAgv2WWqWJMlG2/Ad/6aYJ7IVYYMigmfkuI= github.com/zclconf/go-cty v1.8.2 h1:u+xZfBKgpycDnTNjPhGiTEYZS5qS/Sb5MqSfm7vzcjg=
github.com/zclconf/go-cty v1.8.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@ -1202,8 +1203,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@ -1307,8 +1308,8 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1 h1:4qWs8cYYH6PoEFy4dfhDFgoMGkwAcETd+MmPdCPMzUc= golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6 h1:0PC75Fz/kyMGhL0e1QnypqK2kQMqKt9csD1GnMJR+Zk=
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -1320,8 +1321,8 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602 h1:0Ja1LBD+yisY6RWM/BH7TJVXWsSjs2VwBSmvSX4HdBc= golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78 h1:rPRtHfUb0UKZeZ6GH4K4Nt4YRbE9V1u+QZX5upZXqJQ=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -1424,9 +1425,10 @@ golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7 h1:iGu644GcxtEcrInvDsQRCwJjtCIOlT2V7IRt6ah2Whw=
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE=
@ -1559,8 +1561,8 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
google.golang.org/api v0.44.0 h1:URs6qR1lAxDsqWITsQXI4ZkGiYJ5dHtRNiCpfs2OeKA= google.golang.org/api v0.45.0 h1:pqMffJFLBVUDIoYsHcqtxgQVTsmxMDpYLOc5MT4Jrww=
google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@ -1615,8 +1617,9 @@ google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1 h1:E7wSQBXkH3T3diucK+9Z1kjn4+/9tNG7lZLr75oOhh8=
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3 h1:K+7Ig5hjiLVA/i1UFUUbCGimWz5/Ey0lAQjT3QiLaPY=
google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
@ -1642,8 +1645,9 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.1 h1:cmUfbeGKnz9+2DD/UYsMQXeqbHZqZDs4eQwW0sFOpBY=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c=
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@ -1739,8 +1743,8 @@ k8s.io/client-go v0.21.0 h1:n0zzzJsAQmJngpC0IhgFcApZyoGXPrDIAD601HD09ag=
k8s.io/client-go v0.21.0/go.mod h1:nNBytTF9qPFDEhoqgEPaarobC8QPae13bElIVHzIglA= k8s.io/client-go v0.21.0/go.mod h1:nNBytTF9qPFDEhoqgEPaarobC8QPae13bElIVHzIglA=
k8s.io/cloud-provider v0.21.0 h1:NSTS+czpv6LQAaIpY/VUghsT4oj62hYmQPErkDKTzKU= k8s.io/cloud-provider v0.21.0 h1:NSTS+czpv6LQAaIpY/VUghsT4oj62hYmQPErkDKTzKU=
k8s.io/cloud-provider v0.21.0/go.mod h1:z17TQgu3JgUFjcgby8sj5X86YdVK5Pbt+jm/eYMZU9M= k8s.io/cloud-provider v0.21.0/go.mod h1:z17TQgu3JgUFjcgby8sj5X86YdVK5Pbt+jm/eYMZU9M=
k8s.io/cloud-provider-openstack v1.20.3 h1:RkhoqQeiw1wgYorZLbuizMn4244HOGVzpNWAQyLJKPo= k8s.io/cloud-provider-openstack v1.20.4 h1:EsTZCt//6Se3I9S617OPuPoo2ae60+s0vqwbrLtc1gI=
k8s.io/cloud-provider-openstack v1.20.3/go.mod h1:+ITp4mYAod+/IiQCzYKz92+Ns9VrYkkWdBmYVWSGwnI= k8s.io/cloud-provider-openstack v1.20.4/go.mod h1:+ITp4mYAod+/IiQCzYKz92+Ns9VrYkkWdBmYVWSGwnI=
k8s.io/cluster-bootstrap v0.21.0/go.mod h1:rs7i1JpBCa56YNmnYxFJuoUghIwpMzDidY8ZmqiRnrQ= k8s.io/cluster-bootstrap v0.21.0/go.mod h1:rs7i1JpBCa56YNmnYxFJuoUghIwpMzDidY8ZmqiRnrQ=
k8s.io/code-generator v0.21.0/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/code-generator v0.21.0/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q=
k8s.io/component-base v0.21.0 h1:tLLGp4BBjQaCpS/KiuWh7m2xqvAdsxLm4ATxHSe5Zpg= k8s.io/component-base v0.21.0 h1:tLLGp4BBjQaCpS/KiuWh7m2xqvAdsxLm4ATxHSe5Zpg=

View File

@ -1,106 +1,2 @@
Generated from https://github.com/Azure/azure-rest-api-specs/tree/3c764635e7d442b3e74caf593029fcd440b3ef82//specification/compute/resource-manager/readme.md tag: `package-2020-06-01` # Change History
Code generator @microsoft.azure/autorest.go@2.1.178
### New Funcs
1. *ContainerServicesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ContainerServicesDeleteFuture.UnmarshalJSON([]byte) error
1. *DedicatedHostsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DedicatedHostsDeleteFuture.UnmarshalJSON([]byte) error
1. *DedicatedHostsUpdateFuture.UnmarshalJSON([]byte) error
1. *DiskAccessesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DiskAccessesDeleteFuture.UnmarshalJSON([]byte) error
1. *DiskAccessesUpdateFuture.UnmarshalJSON([]byte) error
1. *DiskEncryptionSetsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DiskEncryptionSetsDeleteFuture.UnmarshalJSON([]byte) error
1. *DiskEncryptionSetsUpdateFuture.UnmarshalJSON([]byte) error
1. *DisksCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DisksDeleteFuture.UnmarshalJSON([]byte) error
1. *DisksGrantAccessFuture.UnmarshalJSON([]byte) error
1. *DisksRevokeAccessFuture.UnmarshalJSON([]byte) error
1. *DisksUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleriesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleriesDeleteFuture.UnmarshalJSON([]byte) error
1. *GalleriesUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationVersionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationVersionsDeleteFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationVersionsUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationsDeleteFuture.UnmarshalJSON([]byte) error
1. *GalleryApplicationsUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryImageVersionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryImageVersionsDeleteFuture.UnmarshalJSON([]byte) error
1. *GalleryImageVersionsUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryImagesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *GalleryImagesDeleteFuture.UnmarshalJSON([]byte) error
1. *GalleryImagesUpdateFuture.UnmarshalJSON([]byte) error
1. *ImagesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ImagesDeleteFuture.UnmarshalJSON([]byte) error
1. *ImagesUpdateFuture.UnmarshalJSON([]byte) error
1. *LogAnalyticsExportRequestRateByIntervalFuture.UnmarshalJSON([]byte) error
1. *LogAnalyticsExportThrottledRequestsFuture.UnmarshalJSON([]byte) error
1. *SnapshotsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *SnapshotsDeleteFuture.UnmarshalJSON([]byte) error
1. *SnapshotsGrantAccessFuture.UnmarshalJSON([]byte) error
1. *SnapshotsRevokeAccessFuture.UnmarshalJSON([]byte) error
1. *SnapshotsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineExtensionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineExtensionsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineExtensionsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineRunCommandsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineRunCommandsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineRunCommandsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetExtensionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetExtensionsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetExtensionsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetRollingUpgradesCancelFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetRollingUpgradesStartExtensionUpgradeFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetRollingUpgradesStartOSUpgradeFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMExtensionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMExtensionsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMExtensionsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMRunCommandsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMRunCommandsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMRunCommandsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsDeallocateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsPerformMaintenanceFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsPowerOffFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsRedeployFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsReimageAllFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsReimageFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsRestartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsRunCommandFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsStartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetVMsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsDeallocateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsDeleteInstancesFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsPerformMaintenanceFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsPowerOffFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsRedeployFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsReimageAllFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsReimageFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsRestartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsSetOrchestrationServiceStateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsStartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachineScaleSetsUpdateInstancesFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesAssessPatchesFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesCaptureFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesConvertToManagedDisksFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesDeallocateFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesPerformMaintenanceFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesPowerOffFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesReapplyFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesRedeployFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesReimageFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesRestartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesRunCommandFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesStartFuture.UnmarshalJSON([]byte) error
1. *VirtualMachinesUpdateFuture.UnmarshalJSON([]byte) error

View File

@ -0,0 +1,11 @@
{
"commit": "3c764635e7d442b3e74caf593029fcd440b3ef82",
"readme": "/_/azure-rest-api-specs/specification/compute/resource-manager/readme.md",
"tag": "package-2020-06-01",
"use": "@microsoft.azure/autorest.go@2.1.180",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.180 --tag=package-2020-06-01 --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/compute/resource-manager/readme.md",
"additional_properties": {
"additional_options": "--go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION"
}
}

View File

@ -955,6 +955,7 @@ func (future *ContainerServicesCreateOrUpdateFuture) result(client ContainerServ
return return
} }
if !done { if !done {
cs.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.ContainerServicesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.ContainerServicesCreateOrUpdateFuture")
return return
} }
@ -997,6 +998,7 @@ func (future *ContainerServicesDeleteFuture) result(client ContainerServicesClie
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.ContainerServicesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.ContainerServicesDeleteFuture")
return return
} }
@ -1946,6 +1948,7 @@ func (future *DedicatedHostsCreateOrUpdateFuture) result(client DedicatedHostsCl
return return
} }
if !done { if !done {
dh.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsCreateOrUpdateFuture")
return return
} }
@ -1988,6 +1991,7 @@ func (future *DedicatedHostsDeleteFuture) result(client DedicatedHostsClient) (a
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsDeleteFuture")
return return
} }
@ -2024,6 +2028,7 @@ func (future *DedicatedHostsUpdateFuture) result(client DedicatedHostsClient) (d
return return
} }
if !done { if !done {
dh.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DedicatedHostsUpdateFuture")
return return
} }
@ -2396,6 +2401,7 @@ func (future *DiskAccessesCreateOrUpdateFuture) result(client DiskAccessesClient
return return
} }
if !done { if !done {
da.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesCreateOrUpdateFuture")
return return
} }
@ -2438,6 +2444,7 @@ func (future *DiskAccessesDeleteFuture) result(client DiskAccessesClient) (ar au
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesDeleteFuture")
return return
} }
@ -2474,6 +2481,7 @@ func (future *DiskAccessesUpdateFuture) result(client DiskAccessesClient) (da Di
return return
} }
if !done { if !done {
da.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskAccessesUpdateFuture")
return return
} }
@ -2980,6 +2988,7 @@ func (future *DiskEncryptionSetsCreateOrUpdateFuture) result(client DiskEncrypti
return return
} }
if !done { if !done {
desVar.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsCreateOrUpdateFuture")
return return
} }
@ -3022,6 +3031,7 @@ func (future *DiskEncryptionSetsDeleteFuture) result(client DiskEncryptionSetsCl
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsDeleteFuture")
return return
} }
@ -3058,6 +3068,7 @@ func (future *DiskEncryptionSetsUpdateFuture) result(client DiskEncryptionSetsCl
return return
} }
if !done { if !done {
desVar.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DiskEncryptionSetsUpdateFuture")
return return
} }
@ -3431,6 +3442,7 @@ func (future *DisksCreateOrUpdateFuture) result(client DisksClient) (d Disk, err
return return
} }
if !done { if !done {
d.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DisksCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DisksCreateOrUpdateFuture")
return return
} }
@ -3472,6 +3484,7 @@ func (future *DisksDeleteFuture) result(client DisksClient) (ar autorest.Respons
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DisksDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.DisksDeleteFuture")
return return
} }
@ -3508,6 +3521,7 @@ func (future *DisksGrantAccessFuture) result(client DisksClient) (au AccessURI,
return return
} }
if !done { if !done {
au.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DisksGrantAccessFuture") err = azure.NewAsyncOpIncompleteError("compute.DisksGrantAccessFuture")
return return
} }
@ -3567,6 +3581,7 @@ func (future *DisksRevokeAccessFuture) result(client DisksClient) (ar autorest.R
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DisksRevokeAccessFuture") err = azure.NewAsyncOpIncompleteError("compute.DisksRevokeAccessFuture")
return return
} }
@ -3602,6 +3617,7 @@ func (future *DisksUpdateFuture) result(client DisksClient) (d Disk, err error)
return return
} }
if !done { if !done {
d.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.DisksUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.DisksUpdateFuture")
return return
} }
@ -3813,6 +3829,7 @@ func (future *GalleriesCreateOrUpdateFuture) result(client GalleriesClient) (g G
return return
} }
if !done { if !done {
g.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleriesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleriesCreateOrUpdateFuture")
return return
} }
@ -3855,6 +3872,7 @@ func (future *GalleriesDeleteFuture) result(client GalleriesClient) (ar autorest
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleriesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleriesDeleteFuture")
return return
} }
@ -3891,6 +3909,7 @@ func (future *GalleriesUpdateFuture) result(client GalleriesClient) (g Gallery,
return return
} }
if !done { if !done {
g.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleriesUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleriesUpdateFuture")
return return
} }
@ -4309,6 +4328,7 @@ func (future *GalleryApplicationsCreateOrUpdateFuture) result(client GalleryAppl
return return
} }
if !done { if !done {
ga.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsCreateOrUpdateFuture")
return return
} }
@ -4351,6 +4371,7 @@ func (future *GalleryApplicationsDeleteFuture) result(client GalleryApplications
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsDeleteFuture")
return return
} }
@ -4387,6 +4408,7 @@ func (future *GalleryApplicationsUpdateFuture) result(client GalleryApplications
return return
} }
if !done { if !done {
ga.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationsUpdateFuture")
return return
} }
@ -4845,6 +4867,7 @@ func (future *GalleryApplicationVersionsCreateOrUpdateFuture) result(client Gall
return return
} }
if !done { if !done {
gav.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsCreateOrUpdateFuture")
return return
} }
@ -4887,6 +4910,7 @@ func (future *GalleryApplicationVersionsDeleteFuture) result(client GalleryAppli
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsDeleteFuture")
return return
} }
@ -4923,6 +4947,7 @@ func (future *GalleryApplicationVersionsUpdateFuture) result(client GalleryAppli
return return
} }
if !done { if !done {
gav.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryApplicationVersionsUpdateFuture")
return return
} }
@ -5489,6 +5514,7 @@ func (future *GalleryImagesCreateOrUpdateFuture) result(client GalleryImagesClie
return return
} }
if !done { if !done {
gi.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesCreateOrUpdateFuture")
return return
} }
@ -5531,6 +5557,7 @@ func (future *GalleryImagesDeleteFuture) result(client GalleryImagesClient) (ar
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesDeleteFuture")
return return
} }
@ -5567,6 +5594,7 @@ func (future *GalleryImagesUpdateFuture) result(client GalleryImagesClient) (gi
return return
} }
if !done { if !done {
gi.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImagesUpdateFuture")
return return
} }
@ -6013,6 +6041,7 @@ func (future *GalleryImageVersionsCreateOrUpdateFuture) result(client GalleryIma
return return
} }
if !done { if !done {
giv.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsCreateOrUpdateFuture")
return return
} }
@ -6055,6 +6084,7 @@ func (future *GalleryImageVersionsDeleteFuture) result(client GalleryImageVersio
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsDeleteFuture")
return return
} }
@ -6099,6 +6129,7 @@ func (future *GalleryImageVersionsUpdateFuture) result(client GalleryImageVersio
return return
} }
if !done { if !done {
giv.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.GalleryImageVersionsUpdateFuture")
return return
} }
@ -6933,6 +6964,7 @@ func (future *ImagesCreateOrUpdateFuture) result(client ImagesClient) (i Image,
return return
} }
if !done { if !done {
i.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.ImagesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.ImagesCreateOrUpdateFuture")
return return
} }
@ -6974,6 +7006,7 @@ func (future *ImagesDeleteFuture) result(client ImagesClient) (ar autorest.Respo
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.ImagesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.ImagesDeleteFuture")
return return
} }
@ -7019,6 +7052,7 @@ func (future *ImagesUpdateFuture) result(client ImagesClient) (i Image, err erro
return return
} }
if !done { if !done {
i.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.ImagesUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.ImagesUpdateFuture")
return return
} }
@ -7383,6 +7417,7 @@ func (future *LogAnalyticsExportRequestRateByIntervalFuture) result(client LogAn
return return
} }
if !done { if !done {
laor.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.LogAnalyticsExportRequestRateByIntervalFuture") err = azure.NewAsyncOpIncompleteError("compute.LogAnalyticsExportRequestRateByIntervalFuture")
return return
} }
@ -7425,6 +7460,7 @@ func (future *LogAnalyticsExportThrottledRequestsFuture) result(client LogAnalyt
return return
} }
if !done { if !done {
laor.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.LogAnalyticsExportThrottledRequestsFuture") err = azure.NewAsyncOpIncompleteError("compute.LogAnalyticsExportThrottledRequestsFuture")
return return
} }
@ -9408,6 +9444,7 @@ func (future *SnapshotsCreateOrUpdateFuture) result(client SnapshotsClient) (s S
return return
} }
if !done { if !done {
s.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.SnapshotsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.SnapshotsCreateOrUpdateFuture")
return return
} }
@ -9450,6 +9487,7 @@ func (future *SnapshotsDeleteFuture) result(client SnapshotsClient) (ar autorest
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.SnapshotsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.SnapshotsDeleteFuture")
return return
} }
@ -9486,6 +9524,7 @@ func (future *SnapshotsGrantAccessFuture) result(client SnapshotsClient) (au Acc
return return
} }
if !done { if !done {
au.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.SnapshotsGrantAccessFuture") err = azure.NewAsyncOpIncompleteError("compute.SnapshotsGrantAccessFuture")
return return
} }
@ -9545,6 +9584,7 @@ func (future *SnapshotsRevokeAccessFuture) result(client SnapshotsClient) (ar au
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.SnapshotsRevokeAccessFuture") err = azure.NewAsyncOpIncompleteError("compute.SnapshotsRevokeAccessFuture")
return return
} }
@ -9581,6 +9621,7 @@ func (future *SnapshotsUpdateFuture) result(client SnapshotsClient) (s Snapshot,
return return
} }
if !done { if !done {
s.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.SnapshotsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.SnapshotsUpdateFuture")
return return
} }
@ -10769,6 +10810,7 @@ func (future *VirtualMachineExtensionsCreateOrUpdateFuture) result(client Virtua
return return
} }
if !done { if !done {
vme.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsCreateOrUpdateFuture")
return return
} }
@ -10811,6 +10853,7 @@ func (future *VirtualMachineExtensionsDeleteFuture) result(client VirtualMachine
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsDeleteFuture")
return return
} }
@ -10854,6 +10897,7 @@ func (future *VirtualMachineExtensionsUpdateFuture) result(client VirtualMachine
return return
} }
if !done { if !done {
vme.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineExtensionsUpdateFuture")
return return
} }
@ -11682,6 +11726,7 @@ func (future *VirtualMachineRunCommandsCreateOrUpdateFuture) result(client Virtu
return return
} }
if !done { if !done {
vmrc.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsCreateOrUpdateFuture")
return return
} }
@ -11734,6 +11779,7 @@ func (future *VirtualMachineRunCommandsDeleteFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsDeleteFuture")
return return
} }
@ -11930,6 +11976,7 @@ func (future *VirtualMachineRunCommandsUpdateFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
vmrc.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineRunCommandsUpdateFuture")
return return
} }
@ -12024,6 +12071,7 @@ func (future *VirtualMachinesAssessPatchesFuture) result(client VirtualMachinesC
return return
} }
if !done { if !done {
vmapr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesAssessPatchesFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesAssessPatchesFuture")
return return
} }
@ -12545,6 +12593,7 @@ func (future *VirtualMachineScaleSetExtensionsCreateOrUpdateFuture) result(clien
return return
} }
if !done { if !done {
vmsse.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsCreateOrUpdateFuture")
return return
} }
@ -12587,6 +12636,7 @@ func (future *VirtualMachineScaleSetExtensionsDeleteFuture) result(client Virtua
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsDeleteFuture")
return return
} }
@ -12623,6 +12673,7 @@ func (future *VirtualMachineScaleSetExtensionsUpdateFuture) result(client Virtua
return return
} }
if !done { if !done {
vmsse.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetExtensionsUpdateFuture")
return return
} }
@ -13841,6 +13892,7 @@ func (future *VirtualMachineScaleSetRollingUpgradesCancelFuture) result(client V
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesCancelFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesCancelFuture")
return return
} }
@ -13877,6 +13929,7 @@ func (future *VirtualMachineScaleSetRollingUpgradesStartExtensionUpgradeFuture)
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesStartExtensionUpgradeFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesStartExtensionUpgradeFuture")
return return
} }
@ -13913,6 +13966,7 @@ func (future *VirtualMachineScaleSetRollingUpgradesStartOSUpgradeFuture) result(
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesStartOSUpgradeFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetRollingUpgradesStartOSUpgradeFuture")
return return
} }
@ -13949,6 +14003,7 @@ func (future *VirtualMachineScaleSetsCreateOrUpdateFuture) result(client Virtual
return return
} }
if !done { if !done {
vmss.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsCreateOrUpdateFuture")
return return
} }
@ -13991,6 +14046,7 @@ func (future *VirtualMachineScaleSetsDeallocateFuture) result(client VirtualMach
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeallocateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeallocateFuture")
return return
} }
@ -14027,6 +14083,7 @@ func (future *VirtualMachineScaleSetsDeleteFuture) result(client VirtualMachineS
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeleteFuture")
return return
} }
@ -14063,6 +14120,7 @@ func (future *VirtualMachineScaleSetsDeleteInstancesFuture) result(client Virtua
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeleteInstancesFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsDeleteInstancesFuture")
return return
} }
@ -14121,6 +14179,7 @@ func (future *VirtualMachineScaleSetsPerformMaintenanceFuture) result(client Vir
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsPerformMaintenanceFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsPerformMaintenanceFuture")
return return
} }
@ -14157,6 +14216,7 @@ func (future *VirtualMachineScaleSetsPowerOffFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsPowerOffFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsPowerOffFuture")
return return
} }
@ -14193,6 +14253,7 @@ func (future *VirtualMachineScaleSetsRedeployFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsRedeployFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsRedeployFuture")
return return
} }
@ -14229,6 +14290,7 @@ func (future *VirtualMachineScaleSetsReimageAllFuture) result(client VirtualMach
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsReimageAllFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsReimageAllFuture")
return return
} }
@ -14265,6 +14327,7 @@ func (future *VirtualMachineScaleSetsReimageFuture) result(client VirtualMachine
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsReimageFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsReimageFuture")
return return
} }
@ -14301,6 +14364,7 @@ func (future *VirtualMachineScaleSetsRestartFuture) result(client VirtualMachine
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsRestartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsRestartFuture")
return return
} }
@ -14337,6 +14401,7 @@ func (future *VirtualMachineScaleSetsSetOrchestrationServiceStateFuture) result(
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsSetOrchestrationServiceStateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsSetOrchestrationServiceStateFuture")
return return
} }
@ -14373,6 +14438,7 @@ func (future *VirtualMachineScaleSetsStartFuture) result(client VirtualMachineSc
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsStartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsStartFuture")
return return
} }
@ -14419,6 +14485,7 @@ func (future *VirtualMachineScaleSetsUpdateFuture) result(client VirtualMachineS
return return
} }
if !done { if !done {
vmss.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsUpdateFuture")
return return
} }
@ -14461,6 +14528,7 @@ func (future *VirtualMachineScaleSetsUpdateInstancesFuture) result(client Virtua
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsUpdateInstancesFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetsUpdateInstancesFuture")
return return
} }
@ -15148,6 +15216,7 @@ func (future *VirtualMachineScaleSetVMExtensionsCreateOrUpdateFuture) result(cli
return return
} }
if !done { if !done {
vmssve.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsCreateOrUpdateFuture")
return return
} }
@ -15190,6 +15259,7 @@ func (future *VirtualMachineScaleSetVMExtensionsDeleteFuture) result(client Virt
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsDeleteFuture")
return return
} }
@ -15242,6 +15312,7 @@ func (future *VirtualMachineScaleSetVMExtensionsUpdateFuture) result(client Virt
return return
} }
if !done { if !done {
vmssve.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMExtensionsUpdateFuture")
return return
} }
@ -15717,6 +15788,7 @@ func (future *VirtualMachineScaleSetVMRunCommandsCreateOrUpdateFuture) result(cl
return return
} }
if !done { if !done {
vmrc.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsCreateOrUpdateFuture")
return return
} }
@ -15759,6 +15831,7 @@ func (future *VirtualMachineScaleSetVMRunCommandsDeleteFuture) result(client Vir
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsDeleteFuture")
return return
} }
@ -15795,6 +15868,7 @@ func (future *VirtualMachineScaleSetVMRunCommandsUpdateFuture) result(client Vir
return return
} }
if !done { if !done {
vmrc.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMRunCommandsUpdateFuture")
return return
} }
@ -15837,6 +15911,7 @@ func (future *VirtualMachineScaleSetVMsDeallocateFuture) result(client VirtualMa
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsDeallocateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsDeallocateFuture")
return return
} }
@ -15873,6 +15948,7 @@ func (future *VirtualMachineScaleSetVMsDeleteFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsDeleteFuture")
return return
} }
@ -15909,6 +15985,7 @@ func (future *VirtualMachineScaleSetVMsPerformMaintenanceFuture) result(client V
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsPerformMaintenanceFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsPerformMaintenanceFuture")
return return
} }
@ -15945,6 +16022,7 @@ func (future *VirtualMachineScaleSetVMsPowerOffFuture) result(client VirtualMach
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsPowerOffFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsPowerOffFuture")
return return
} }
@ -15981,6 +16059,7 @@ func (future *VirtualMachineScaleSetVMsRedeployFuture) result(client VirtualMach
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRedeployFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRedeployFuture")
return return
} }
@ -16017,6 +16096,7 @@ func (future *VirtualMachineScaleSetVMsReimageAllFuture) result(client VirtualMa
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsReimageAllFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsReimageAllFuture")
return return
} }
@ -16053,6 +16133,7 @@ func (future *VirtualMachineScaleSetVMsReimageFuture) result(client VirtualMachi
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsReimageFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsReimageFuture")
return return
} }
@ -16089,6 +16170,7 @@ func (future *VirtualMachineScaleSetVMsRestartFuture) result(client VirtualMachi
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRestartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRestartFuture")
return return
} }
@ -16125,6 +16207,7 @@ func (future *VirtualMachineScaleSetVMsRunCommandFuture) result(client VirtualMa
return return
} }
if !done { if !done {
rcr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRunCommandFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsRunCommandFuture")
return return
} }
@ -16167,6 +16250,7 @@ func (future *VirtualMachineScaleSetVMsStartFuture) result(client VirtualMachine
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsStartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsStartFuture")
return return
} }
@ -16203,6 +16287,7 @@ func (future *VirtualMachineScaleSetVMsUpdateFuture) result(client VirtualMachin
return return
} }
if !done { if !done {
vmssv.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachineScaleSetVMsUpdateFuture")
return return
} }
@ -16245,6 +16330,7 @@ func (future *VirtualMachinesCaptureFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
vmcr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesCaptureFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesCaptureFuture")
return return
} }
@ -16287,6 +16373,7 @@ func (future *VirtualMachinesConvertToManagedDisksFuture) result(client VirtualM
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesConvertToManagedDisksFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesConvertToManagedDisksFuture")
return return
} }
@ -16323,6 +16410,7 @@ func (future *VirtualMachinesCreateOrUpdateFuture) result(client VirtualMachines
return return
} }
if !done { if !done {
VM.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesCreateOrUpdateFuture")
return return
} }
@ -16365,6 +16453,7 @@ func (future *VirtualMachinesDeallocateFuture) result(client VirtualMachinesClie
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesDeallocateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesDeallocateFuture")
return return
} }
@ -16401,6 +16490,7 @@ func (future *VirtualMachinesDeleteFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesDeleteFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesDeleteFuture")
return return
} }
@ -16484,6 +16574,7 @@ func (future *VirtualMachinesPerformMaintenanceFuture) result(client VirtualMach
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesPerformMaintenanceFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesPerformMaintenanceFuture")
return return
} }
@ -16520,6 +16611,7 @@ func (future *VirtualMachinesPowerOffFuture) result(client VirtualMachinesClient
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesPowerOffFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesPowerOffFuture")
return return
} }
@ -16556,6 +16648,7 @@ func (future *VirtualMachinesReapplyFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesReapplyFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesReapplyFuture")
return return
} }
@ -16592,6 +16685,7 @@ func (future *VirtualMachinesRedeployFuture) result(client VirtualMachinesClient
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRedeployFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRedeployFuture")
return return
} }
@ -16628,6 +16722,7 @@ func (future *VirtualMachinesReimageFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesReimageFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesReimageFuture")
return return
} }
@ -16664,6 +16759,7 @@ func (future *VirtualMachinesRestartFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRestartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRestartFuture")
return return
} }
@ -16700,6 +16796,7 @@ func (future *VirtualMachinesRunCommandFuture) result(client VirtualMachinesClie
return return
} }
if !done { if !done {
rcr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRunCommandFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesRunCommandFuture")
return return
} }
@ -16742,6 +16839,7 @@ func (future *VirtualMachinesStartFuture) result(client VirtualMachinesClient) (
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesStartFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesStartFuture")
return return
} }
@ -16787,6 +16885,7 @@ func (future *VirtualMachinesUpdateFuture) result(client VirtualMachinesClient)
return return
} }
if !done { if !done {
VM.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesUpdateFuture") err = azure.NewAsyncOpIncompleteError("compute.VirtualMachinesUpdateFuture")
return return
} }

View File

@ -1,223 +1,2 @@
Generated from https://github.com/Azure/azure-rest-api-specs/tree/3c764635e7d442b3e74caf593029fcd440b3ef82//specification/network/resource-manager/readme.md tag: `package-2020-06` # Change History
Code generator @microsoft.azure/autorest.go@2.1.178
### New Funcs
1. *ApplicationGatewayPrivateEndpointConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewayPrivateEndpointConnectionsUpdateFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysBackendHealthFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysBackendHealthOnDemandFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysStartFuture.UnmarshalJSON([]byte) error
1. *ApplicationGatewaysStopFuture.UnmarshalJSON([]byte) error
1. *ApplicationSecurityGroupsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ApplicationSecurityGroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *AzureFirewallsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *AzureFirewallsDeleteFuture.UnmarshalJSON([]byte) error
1. *AzureFirewallsUpdateTagsFuture.UnmarshalJSON([]byte) error
1. *BastionHostsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *BastionHostsDeleteFuture.UnmarshalJSON([]byte) error
1. *ConnectionMonitorsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ConnectionMonitorsDeleteFuture.UnmarshalJSON([]byte) error
1. *ConnectionMonitorsQueryFuture.UnmarshalJSON([]byte) error
1. *ConnectionMonitorsStartFuture.UnmarshalJSON([]byte) error
1. *ConnectionMonitorsStopFuture.UnmarshalJSON([]byte) error
1. *CustomIPPrefixesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *CustomIPPrefixesDeleteFuture.UnmarshalJSON([]byte) error
1. *DdosCustomPoliciesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DdosCustomPoliciesDeleteFuture.UnmarshalJSON([]byte) error
1. *DdosProtectionPlansCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DdosProtectionPlansDeleteFuture.UnmarshalJSON([]byte) error
1. *DeleteBastionShareableLinkFuture.UnmarshalJSON([]byte) error
1. *DscpConfigurationCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DscpConfigurationDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitAuthorizationsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitPeeringsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitPeeringsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitsListArpTableFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitsListRoutesTableFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCircuitsListRoutesTableSummaryFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionPeeringsDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionsListArpTableFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionsListRoutesTableFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteCrossConnectionsListRoutesTableSummaryFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRouteGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *ExpressRoutePortsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ExpressRoutePortsDeleteFuture.UnmarshalJSON([]byte) error
1. *FirewallPoliciesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *FirewallPoliciesDeleteFuture.UnmarshalJSON([]byte) error
1. *FirewallPolicyRuleCollectionGroupsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *FirewallPolicyRuleCollectionGroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *FlowLogsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *FlowLogsDeleteFuture.UnmarshalJSON([]byte) error
1. *GeneratevirtualwanvpnserverconfigurationvpnprofileFuture.UnmarshalJSON([]byte) error
1. *GetActiveSessionsAllFuture.UnmarshalJSON([]byte) error
1. *GetActiveSessionsFuture.UnmarshalJSON([]byte) error
1. *HubRouteTablesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *HubRouteTablesDeleteFuture.UnmarshalJSON([]byte) error
1. *HubVirtualNetworkConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *HubVirtualNetworkConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *IPAllocationsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *IPAllocationsDeleteFuture.UnmarshalJSON([]byte) error
1. *IPGroupsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *IPGroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *InboundNatRulesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *InboundNatRulesDeleteFuture.UnmarshalJSON([]byte) error
1. *InboundSecurityRuleCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *InterfaceTapConfigurationsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *InterfaceTapConfigurationsDeleteFuture.UnmarshalJSON([]byte) error
1. *InterfacesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *InterfacesDeleteFuture.UnmarshalJSON([]byte) error
1. *InterfacesGetEffectiveRouteTableFuture.UnmarshalJSON([]byte) error
1. *InterfacesListEffectiveNetworkSecurityGroupsFuture.UnmarshalJSON([]byte) error
1. *LoadBalancerBackendAddressPoolsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *LoadBalancerBackendAddressPoolsDeleteFuture.UnmarshalJSON([]byte) error
1. *LoadBalancersCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *LoadBalancersDeleteFuture.UnmarshalJSON([]byte) error
1. *LocalNetworkGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *LocalNetworkGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *NatGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *NatGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *P2SVpnGatewaysResetFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysDisconnectP2sVpnConnectionsFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysGenerateVpnProfileFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysGetP2sVpnConnectionHealthFuture.UnmarshalJSON([]byte) error
1. *P2sVpnGatewaysUpdateTagsFuture.UnmarshalJSON([]byte) error
1. *PacketCapturesCreateFuture.UnmarshalJSON([]byte) error
1. *PacketCapturesDeleteFuture.UnmarshalJSON([]byte) error
1. *PacketCapturesGetStatusFuture.UnmarshalJSON([]byte) error
1. *PacketCapturesStopFuture.UnmarshalJSON([]byte) error
1. *PrivateDNSZoneGroupsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *PrivateDNSZoneGroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *PrivateEndpointsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *PrivateEndpointsDeleteFuture.UnmarshalJSON([]byte) error
1. *PrivateLinkServicesCheckPrivateLinkServiceVisibilityByResourceGroupFuture.UnmarshalJSON([]byte) error
1. *PrivateLinkServicesCheckPrivateLinkServiceVisibilityFuture.UnmarshalJSON([]byte) error
1. *PrivateLinkServicesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *PrivateLinkServicesDeleteFuture.UnmarshalJSON([]byte) error
1. *PrivateLinkServicesDeletePrivateEndpointConnectionFuture.UnmarshalJSON([]byte) error
1. *ProfilesDeleteFuture.UnmarshalJSON([]byte) error
1. *PublicIPAddressesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *PublicIPAddressesDeleteFuture.UnmarshalJSON([]byte) error
1. *PublicIPPrefixesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *PublicIPPrefixesDeleteFuture.UnmarshalJSON([]byte) error
1. *PutBastionShareableLinkAllFuture.UnmarshalJSON([]byte) error
1. *PutBastionShareableLinkFuture.UnmarshalJSON([]byte) error
1. *RouteFilterRulesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *RouteFilterRulesDeleteFuture.UnmarshalJSON([]byte) error
1. *RouteFiltersCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *RouteFiltersDeleteFuture.UnmarshalJSON([]byte) error
1. *RouteTablesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *RouteTablesDeleteFuture.UnmarshalJSON([]byte) error
1. *RoutesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *RoutesDeleteFuture.UnmarshalJSON([]byte) error
1. *SecurityGroupsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *SecurityGroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *SecurityPartnerProvidersCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *SecurityPartnerProvidersDeleteFuture.UnmarshalJSON([]byte) error
1. *SecurityRulesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *SecurityRulesDeleteFuture.UnmarshalJSON([]byte) error
1. *ServiceEndpointPoliciesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ServiceEndpointPoliciesDeleteFuture.UnmarshalJSON([]byte) error
1. *ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *ServiceEndpointPolicyDefinitionsDeleteFuture.UnmarshalJSON([]byte) error
1. *SubnetsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *SubnetsDeleteFuture.UnmarshalJSON([]byte) error
1. *SubnetsPrepareNetworkPoliciesFuture.UnmarshalJSON([]byte) error
1. *SubnetsUnprepareNetworkPoliciesFuture.UnmarshalJSON([]byte) error
1. *VirtualApplianceSitesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualApplianceSitesDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualAppliancesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualAppliancesDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualHubBgpConnectionCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualHubBgpConnectionDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualHubBgpConnectionsListAdvertisedRoutesFuture.UnmarshalJSON([]byte) error
1. *VirtualHubBgpConnectionsListLearnedRoutesFuture.UnmarshalJSON([]byte) error
1. *VirtualHubIPConfigurationCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualHubIPConfigurationDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualHubRouteTableV2sCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualHubRouteTableV2sDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualHubsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualHubsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualHubsGetEffectiveVirtualHubRoutesFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsResetSharedKeyFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsSetSharedKeyFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsStartPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsStopPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewayConnectionsUpdateTagsFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGenerateVpnProfileFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGeneratevpnclientpackageFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetAdvertisedRoutesFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetBgpPeerStatusFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetLearnedRoutesFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetVpnProfilePackageURLFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysResetFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysResetVpnClientSharedKeyFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysStartPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysStopPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkGatewaysUpdateTagsFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkPeeringsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkPeeringsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkTapsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworkTapsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworksCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualNetworksDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualRouterPeeringsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualRouterPeeringsDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualRoutersCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualRoutersDeleteFuture.UnmarshalJSON([]byte) error
1. *VirtualWansCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VirtualWansDeleteFuture.UnmarshalJSON([]byte) error
1. *VpnConnectionsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VpnConnectionsDeleteFuture.UnmarshalJSON([]byte) error
1. *VpnConnectionsStartPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VpnConnectionsStopPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysDeleteFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysResetFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysStartPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysStopPacketCaptureFuture.UnmarshalJSON([]byte) error
1. *VpnGatewaysUpdateTagsFuture.UnmarshalJSON([]byte) error
1. *VpnServerConfigurationsAssociatedWithVirtualWanListFuture.UnmarshalJSON([]byte) error
1. *VpnServerConfigurationsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VpnServerConfigurationsDeleteFuture.UnmarshalJSON([]byte) error
1. *VpnSitesConfigurationDownloadFuture.UnmarshalJSON([]byte) error
1. *VpnSitesCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *VpnSitesDeleteFuture.UnmarshalJSON([]byte) error
1. *WatchersCheckConnectivityFuture.UnmarshalJSON([]byte) error
1. *WatchersDeleteFuture.UnmarshalJSON([]byte) error
1. *WatchersGetAzureReachabilityReportFuture.UnmarshalJSON([]byte) error
1. *WatchersGetFlowLogStatusFuture.UnmarshalJSON([]byte) error
1. *WatchersGetNetworkConfigurationDiagnosticFuture.UnmarshalJSON([]byte) error
1. *WatchersGetNextHopFuture.UnmarshalJSON([]byte) error
1. *WatchersGetTroubleshootingFuture.UnmarshalJSON([]byte) error
1. *WatchersGetTroubleshootingResultFuture.UnmarshalJSON([]byte) error
1. *WatchersGetVMSecurityRulesFuture.UnmarshalJSON([]byte) error
1. *WatchersListAvailableProvidersFuture.UnmarshalJSON([]byte) error
1. *WatchersSetFlowLogConfigurationFuture.UnmarshalJSON([]byte) error
1. *WatchersVerifyIPFlowFuture.UnmarshalJSON([]byte) error
1. *WebApplicationFirewallPoliciesDeleteFuture.UnmarshalJSON([]byte) error

View File

@ -0,0 +1,11 @@
{
"commit": "3c764635e7d442b3e74caf593029fcd440b3ef82",
"readme": "/_/azure-rest-api-specs/specification/network/resource-manager/readme.md",
"tag": "package-2020-06",
"use": "@microsoft.azure/autorest.go@2.1.180",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.180 --tag=package-2020-06 --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/network/resource-manager/readme.md",
"additional_properties": {
"additional_options": "--go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION"
}
}

View File

@ -1,5 +1,2 @@
Generated from https://github.com/Azure/azure-rest-api-specs/tree/3c764635e7d442b3e74caf593029fcd440b3ef82//specification/authorization/resource-manager/readme.md tag: `package-2018-01-01-preview` # Change History
Code generator @microsoft.azure/autorest.go@2.1.178

View File

@ -0,0 +1,11 @@
{
"commit": "3c764635e7d442b3e74caf593029fcd440b3ef82",
"readme": "/_/azure-rest-api-specs/specification/authorization/resource-manager/readme.md",
"tag": "package-2018-01-01-preview",
"use": "@microsoft.azure/autorest.go@2.1.180",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.180 --tag=package-2018-01-01-preview --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/authorization/resource-manager/readme.md",
"additional_properties": {
"additional_options": "--go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION"
}
}

View File

@ -1,36 +1,2 @@
Generated from https://github.com/Azure/azure-rest-api-specs/tree/3c764635e7d442b3e74caf593029fcd440b3ef82//specification/resources/resource-manager/readme.md tag: `package-resources-2020-06` # Change History
Code generator @microsoft.azure/autorest.go@2.1.178
### New Funcs
1. *CreateOrUpdateByIDFuture.UnmarshalJSON([]byte) error
1. *CreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DeleteByIDFuture.UnmarshalJSON([]byte) error
1. *DeleteFuture.UnmarshalJSON([]byte) error
1. *DeploymentsCreateOrUpdateAtManagementGroupScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsCreateOrUpdateAtScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsCreateOrUpdateAtSubscriptionScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsCreateOrUpdateAtTenantScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsCreateOrUpdateFuture.UnmarshalJSON([]byte) error
1. *DeploymentsDeleteAtManagementGroupScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsDeleteAtScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsDeleteAtSubscriptionScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsDeleteAtTenantScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsDeleteFuture.UnmarshalJSON([]byte) error
1. *DeploymentsValidateAtManagementGroupScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsValidateAtScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsValidateAtSubscriptionScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsValidateAtTenantScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsValidateFuture.UnmarshalJSON([]byte) error
1. *DeploymentsWhatIfAtManagementGroupScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsWhatIfAtSubscriptionScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsWhatIfAtTenantScopeFuture.UnmarshalJSON([]byte) error
1. *DeploymentsWhatIfFuture.UnmarshalJSON([]byte) error
1. *GroupsDeleteFuture.UnmarshalJSON([]byte) error
1. *GroupsExportTemplateFuture.UnmarshalJSON([]byte) error
1. *MoveResourcesFuture.UnmarshalJSON([]byte) error
1. *UpdateByIDFuture.UnmarshalJSON([]byte) error
1. *UpdateFuture.UnmarshalJSON([]byte) error
1. *ValidateMoveResourcesFuture.UnmarshalJSON([]byte) error

View File

@ -0,0 +1,11 @@
{
"commit": "3c764635e7d442b3e74caf593029fcd440b3ef82",
"readme": "/_/azure-rest-api-specs/specification/resources/resource-manager/readme.md",
"tag": "package-resources-2020-06",
"use": "@microsoft.azure/autorest.go@2.1.180",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"autorest_command": "autorest --use=@microsoft.azure/autorest.go@2.1.180 --tag=package-resources-2020-06 --go-sdk-folder=/_/azure-sdk-for-go --go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION /_/azure-rest-api-specs/specification/resources/resource-manager/readme.md",
"additional_properties": {
"additional_options": "--go --verbose --use-onever --version=V2 --go.license-header=MICROSOFT_MIT_NO_VERSION"
}
}

View File

@ -154,6 +154,7 @@ func (future *CreateOrUpdateByIDFuture) result(client Client) (gr GenericResourc
return return
} }
if !done { if !done {
gr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateByIDFuture") err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateByIDFuture")
return return
} }
@ -196,6 +197,7 @@ func (future *CreateOrUpdateFuture) result(client Client) (gr GenericResource, e
return return
} }
if !done { if !done {
gr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateFuture")
return return
} }
@ -243,6 +245,7 @@ func (future *DeleteByIDFuture) result(client Client) (ar autorest.Response, err
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeleteByIDFuture") err = azure.NewAsyncOpIncompleteError("resources.DeleteByIDFuture")
return return
} }
@ -278,6 +281,7 @@ func (future *DeleteFuture) result(client Client) (ar autorest.Response, err err
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeleteFuture") err = azure.NewAsyncOpIncompleteError("resources.DeleteFuture")
return return
} }
@ -835,6 +839,7 @@ func (future *DeploymentsCreateOrUpdateAtManagementGroupScopeFuture) result(clie
return return
} }
if !done { if !done {
de.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture")
return return
} }
@ -877,6 +882,7 @@ func (future *DeploymentsCreateOrUpdateAtScopeFuture) result(client DeploymentsC
return return
} }
if !done { if !done {
de.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtScopeFuture")
return return
} }
@ -919,6 +925,7 @@ func (future *DeploymentsCreateOrUpdateAtSubscriptionScopeFuture) result(client
return return
} }
if !done { if !done {
de.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture")
return return
} }
@ -961,6 +968,7 @@ func (future *DeploymentsCreateOrUpdateAtTenantScopeFuture) result(client Deploy
return return
} }
if !done { if !done {
de.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtTenantScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtTenantScopeFuture")
return return
} }
@ -1003,6 +1011,7 @@ func (future *DeploymentsCreateOrUpdateFuture) result(client DeploymentsClient)
return return
} }
if !done { if !done {
de.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateFuture")
return return
} }
@ -1045,6 +1054,7 @@ func (future *DeploymentsDeleteAtManagementGroupScopeFuture) result(client Deplo
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtManagementGroupScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtManagementGroupScopeFuture")
return return
} }
@ -1081,6 +1091,7 @@ func (future *DeploymentsDeleteAtScopeFuture) result(client DeploymentsClient) (
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtScopeFuture")
return return
} }
@ -1117,6 +1128,7 @@ func (future *DeploymentsDeleteAtSubscriptionScopeFuture) result(client Deployme
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtSubscriptionScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtSubscriptionScopeFuture")
return return
} }
@ -1153,6 +1165,7 @@ func (future *DeploymentsDeleteAtTenantScopeFuture) result(client DeploymentsCli
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtTenantScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtTenantScopeFuture")
return return
} }
@ -1189,6 +1202,7 @@ func (future *DeploymentsDeleteFuture) result(client DeploymentsClient) (ar auto
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteFuture")
return return
} }
@ -1225,6 +1239,7 @@ func (future *DeploymentsValidateAtManagementGroupScopeFuture) result(client Dep
return return
} }
if !done { if !done {
dvr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtManagementGroupScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtManagementGroupScopeFuture")
return return
} }
@ -1267,6 +1282,7 @@ func (future *DeploymentsValidateAtScopeFuture) result(client DeploymentsClient)
return return
} }
if !done { if !done {
dvr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtScopeFuture")
return return
} }
@ -1309,6 +1325,7 @@ func (future *DeploymentsValidateAtSubscriptionScopeFuture) result(client Deploy
return return
} }
if !done { if !done {
dvr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtSubscriptionScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtSubscriptionScopeFuture")
return return
} }
@ -1351,6 +1368,7 @@ func (future *DeploymentsValidateAtTenantScopeFuture) result(client DeploymentsC
return return
} }
if !done { if !done {
dvr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtTenantScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateAtTenantScopeFuture")
return return
} }
@ -1393,6 +1411,7 @@ func (future *DeploymentsValidateFuture) result(client DeploymentsClient) (dvr D
return return
} }
if !done { if !done {
dvr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsValidateFuture")
return return
} }
@ -1435,6 +1454,7 @@ func (future *DeploymentsWhatIfAtManagementGroupScopeFuture) result(client Deplo
return return
} }
if !done { if !done {
wior.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtManagementGroupScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtManagementGroupScopeFuture")
return return
} }
@ -1477,6 +1497,7 @@ func (future *DeploymentsWhatIfAtSubscriptionScopeFuture) result(client Deployme
return return
} }
if !done { if !done {
wior.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtSubscriptionScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtSubscriptionScopeFuture")
return return
} }
@ -1519,6 +1540,7 @@ func (future *DeploymentsWhatIfAtTenantScopeFuture) result(client DeploymentsCli
return return
} }
if !done { if !done {
wior.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtTenantScopeFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfAtTenantScopeFuture")
return return
} }
@ -1561,6 +1583,7 @@ func (future *DeploymentsWhatIfFuture) result(client DeploymentsClient) (wior Wh
return return
} }
if !done { if !done {
wior.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfFuture") err = azure.NewAsyncOpIncompleteError("resources.DeploymentsWhatIfFuture")
return return
} }
@ -2081,6 +2104,7 @@ func (future *GroupsDeleteFuture) result(client GroupsClient) (ar autorest.Respo
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.GroupsDeleteFuture") err = azure.NewAsyncOpIncompleteError("resources.GroupsDeleteFuture")
return return
} }
@ -2117,6 +2141,7 @@ func (future *GroupsExportTemplateFuture) result(client GroupsClient) (ger Group
return return
} }
if !done { if !done {
ger.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.GroupsExportTemplateFuture") err = azure.NewAsyncOpIncompleteError("resources.GroupsExportTemplateFuture")
return return
} }
@ -2373,6 +2398,7 @@ func (future *MoveResourcesFuture) result(client Client) (ar autorest.Response,
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.MoveResourcesFuture") err = azure.NewAsyncOpIncompleteError("resources.MoveResourcesFuture")
return return
} }
@ -3288,6 +3314,7 @@ func (future *UpdateByIDFuture) result(client Client) (gr GenericResource, err e
return return
} }
if !done { if !done {
gr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.UpdateByIDFuture") err = azure.NewAsyncOpIncompleteError("resources.UpdateByIDFuture")
return return
} }
@ -3329,6 +3356,7 @@ func (future *UpdateFuture) result(client Client) (gr GenericResource, err error
return return
} }
if !done { if !done {
gr.Response.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.UpdateFuture") err = azure.NewAsyncOpIncompleteError("resources.UpdateFuture")
return return
} }
@ -3371,6 +3399,7 @@ func (future *ValidateMoveResourcesFuture) result(client Client) (ar autorest.Re
return return
} }
if !done { if !done {
ar.Response = future.Response()
err = azure.NewAsyncOpIncompleteError("resources.ValidateMoveResourcesFuture") err = azure.NewAsyncOpIncompleteError("resources.ValidateMoveResourcesFuture")
return return
} }

View File

@ -1,21 +1,7 @@
package version package version
// Copyright (c) Microsoft and contributors. All rights reserved. // Copyright (c) Microsoft Corporation. All rights reserved.
// // Licensed under the MIT License. See License.txt in the project root for license information.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Number contains the semantic version of this SDK. // Number contains the semantic version of this SDK.
const Number = "v53.1.0" const Number = "v53.4.0"

View File

@ -74,29 +74,38 @@ type CreateLoadBalancerTCPListenerRequest struct {
ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
HealthCheckURI string `position:"Query" name:"HealthCheckURI"` HealthCheckURI string `position:"Query" name:"HealthCheckURI"`
AclStatus string `position:"Query" name:"AclStatus"` AclStatus string `position:"Query" name:"AclStatus"`
HealthCheckTcpFastCloseEnabled requests.Boolean `position:"Query" name:"HealthCheckTcpFastCloseEnabled"`
AclType string `position:"Query" name:"AclType"` AclType string `position:"Query" name:"AclType"`
EstablishedTimeout requests.Integer `position:"Query" name:"EstablishedTimeout"` EstablishedTimeout requests.Integer `position:"Query" name:"EstablishedTimeout"`
FailoverStrategy string `position:"Query" name:"FailoverStrategy"`
PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"` PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"`
VpcIds string `position:"Query" name:"VpcIds"` VpcIds string `position:"Query" name:"VpcIds"`
MasterSlaveModeEnabled requests.Boolean `position:"Query" name:"MasterSlaveModeEnabled"`
VServerGroupId string `position:"Query" name:"VServerGroupId"` VServerGroupId string `position:"Query" name:"VServerGroupId"`
AclId string `position:"Query" name:"AclId"` AclId string `position:"Query" name:"AclId"`
PortRange *[]CreateLoadBalancerTCPListenerPortRange `position:"Query" name:"PortRange" type:"Repeated"` PortRange *[]CreateLoadBalancerTCPListenerPortRange `position:"Query" name:"PortRange" type:"Repeated"`
HealthCheckMethod string `position:"Query" name:"HealthCheckMethod"` HealthCheckMethod string `position:"Query" name:"HealthCheckMethod"`
HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"` HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"`
OwnerId requests.Integer `position:"Query" name:"OwnerId"` OwnerId requests.Integer `position:"Query" name:"OwnerId"`
ProxyProtocolVpcIdEnabled requests.Boolean `position:"Query" name:"ProxyProtocolVpcIdEnabled"`
Tags string `position:"Query" name:"Tags"` Tags string `position:"Query" name:"Tags"`
LoadBalancerId string `position:"Query" name:"LoadBalancerId"` LoadBalancerId string `position:"Query" name:"LoadBalancerId"`
MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"` MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"`
BackendServerPort requests.Integer `position:"Query" name:"BackendServerPort"` BackendServerPort requests.Integer `position:"Query" name:"BackendServerPort"`
HealthCheckInterval requests.Integer `position:"Query" name:"healthCheckInterval"` HealthCheckInterval requests.Integer `position:"Query" name:"healthCheckInterval"`
FailoverThreshold requests.Integer `position:"Query" name:"FailoverThreshold"`
ProxyProtocolV2Enabled requests.Boolean `position:"Query" name:"ProxyProtocolV2Enabled"`
ConnectionDrain string `position:"Query" name:"ConnectionDrain"` ConnectionDrain string `position:"Query" name:"ConnectionDrain"`
HealthCheckSwitch string `position:"Query" name:"HealthCheckSwitch"`
AccessKeyId string `position:"Query" name:"access_key_id"` AccessKeyId string `position:"Query" name:"access_key_id"`
HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"` HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
SlaveServerGroupId string `position:"Query" name:"SlaveServerGroupId"`
Description string `position:"Query" name:"Description"` Description string `position:"Query" name:"Description"`
UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"` UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"`
HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"` HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"`
Scheduler string `position:"Query" name:"Scheduler"` Scheduler string `position:"Query" name:"Scheduler"`
MaxConnection requests.Integer `position:"Query" name:"MaxConnection"` MaxConnection requests.Integer `position:"Query" name:"MaxConnection"`
MasterServerGroupId string `position:"Query" name:"MasterServerGroupId"`
ListenerPort requests.Integer `position:"Query" name:"ListenerPort"` ListenerPort requests.Integer `position:"Query" name:"ListenerPort"`
HealthCheckType string `position:"Query" name:"HealthCheckType"` HealthCheckType string `position:"Query" name:"HealthCheckType"`
ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`

View File

@ -72,14 +72,20 @@ func (client *Client) CreateLoadBalancerUDPListenerWithCallback(request *CreateL
type CreateLoadBalancerUDPListenerRequest struct { type CreateLoadBalancerUDPListenerRequest struct {
*requests.RpcRequest *requests.RpcRequest
ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
HealthCheckURI string `position:"Query" name:"HealthCheckURI"`
AclStatus string `position:"Query" name:"AclStatus"` AclStatus string `position:"Query" name:"AclStatus"`
AclType string `position:"Query" name:"AclType"` AclType string `position:"Query" name:"AclType"`
FailoverStrategy string `position:"Query" name:"FailoverStrategy"`
PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"` PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"`
VpcIds string `position:"Query" name:"VpcIds"` VpcIds string `position:"Query" name:"VpcIds"`
MasterSlaveModeEnabled requests.Boolean `position:"Query" name:"MasterSlaveModeEnabled"`
VServerGroupId string `position:"Query" name:"VServerGroupId"` VServerGroupId string `position:"Query" name:"VServerGroupId"`
AclId string `position:"Query" name:"AclId"` AclId string `position:"Query" name:"AclId"`
PortRange *[]CreateLoadBalancerUDPListenerPortRange `position:"Query" name:"PortRange" type:"Repeated"` PortRange *[]CreateLoadBalancerUDPListenerPortRange `position:"Query" name:"PortRange" type:"Repeated"`
HealthCheckMethod string `position:"Query" name:"HealthCheckMethod"`
HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"`
OwnerId requests.Integer `position:"Query" name:"OwnerId"` OwnerId requests.Integer `position:"Query" name:"OwnerId"`
ProxyProtocolVpcIdEnabled requests.Boolean `position:"Query" name:"ProxyProtocolVpcIdEnabled"`
Tags string `position:"Query" name:"Tags"` Tags string `position:"Query" name:"Tags"`
LoadBalancerId string `position:"Query" name:"LoadBalancerId"` LoadBalancerId string `position:"Query" name:"LoadBalancerId"`
MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"` MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"`
@ -87,20 +93,28 @@ type CreateLoadBalancerUDPListenerRequest struct {
BackendServerPort requests.Integer `position:"Query" name:"BackendServerPort"` BackendServerPort requests.Integer `position:"Query" name:"BackendServerPort"`
HealthCheckInterval requests.Integer `position:"Query" name:"healthCheckInterval"` HealthCheckInterval requests.Integer `position:"Query" name:"healthCheckInterval"`
HealthCheckExp string `position:"Query" name:"healthCheckExp"` HealthCheckExp string `position:"Query" name:"healthCheckExp"`
FailoverThreshold requests.Integer `position:"Query" name:"FailoverThreshold"`
ProxyProtocolV2Enabled requests.Boolean `position:"Query" name:"ProxyProtocolV2Enabled"`
ConnectionDrain string `position:"Query" name:"ConnectionDrain"` ConnectionDrain string `position:"Query" name:"ConnectionDrain"`
HealthCheckSwitch string `position:"Query" name:"HealthCheckSwitch"`
AccessKeyId string `position:"Query" name:"access_key_id"` AccessKeyId string `position:"Query" name:"access_key_id"`
HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"` HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
SlaveServerGroupId string `position:"Query" name:"SlaveServerGroupId"`
QuicVersion string `position:"Query" name:"QuicVersion"`
Description string `position:"Query" name:"Description"` Description string `position:"Query" name:"Description"`
UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"` UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"`
HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"` HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"`
Scheduler string `position:"Query" name:"Scheduler"` Scheduler string `position:"Query" name:"Scheduler"`
MaxConnection requests.Integer `position:"Query" name:"MaxConnection"` MaxConnection requests.Integer `position:"Query" name:"MaxConnection"`
MasterServerGroupId string `position:"Query" name:"MasterServerGroupId"`
ListenerPort requests.Integer `position:"Query" name:"ListenerPort"` ListenerPort requests.Integer `position:"Query" name:"ListenerPort"`
HealthCheckType string `position:"Query" name:"HealthCheckType"`
ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
Bandwidth requests.Integer `position:"Query" name:"Bandwidth"` Bandwidth requests.Integer `position:"Query" name:"Bandwidth"`
OwnerAccount string `position:"Query" name:"OwnerAccount"` OwnerAccount string `position:"Query" name:"OwnerAccount"`
ConnectionDrainTimeout requests.Integer `position:"Query" name:"ConnectionDrainTimeout"` ConnectionDrainTimeout requests.Integer `position:"Query" name:"ConnectionDrainTimeout"`
HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"` HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
HealthCheckHttpCode string `position:"Query" name:"HealthCheckHttpCode"`
} }
// CreateLoadBalancerUDPListenerPortRange is a repeated param struct in CreateLoadBalancerUDPListenerRequest // CreateLoadBalancerUDPListenerPortRange is a repeated param struct in CreateLoadBalancerUDPListenerRequest

View File

@ -84,36 +84,45 @@ type DescribeLoadBalancerTCPListenerAttributeRequest struct {
// DescribeLoadBalancerTCPListenerAttributeResponse is the response struct for api DescribeLoadBalancerTCPListenerAttribute // DescribeLoadBalancerTCPListenerAttributeResponse is the response struct for api DescribeLoadBalancerTCPListenerAttribute
type DescribeLoadBalancerTCPListenerAttributeResponse struct { type DescribeLoadBalancerTCPListenerAttributeResponse struct {
*responses.BaseResponse *responses.BaseResponse
RequestId string `json:"RequestId" xml:"RequestId"`
ListenerPort int `json:"ListenerPort" xml:"ListenerPort"`
BackendServerPort int `json:"BackendServerPort" xml:"BackendServerPort"`
Status string `json:"Status" xml:"Status"`
Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
Scheduler string `json:"Scheduler" xml:"Scheduler"`
SynProxy string `json:"SynProxy" xml:"SynProxy"`
PersistenceTimeout int `json:"PersistenceTimeout" xml:"PersistenceTimeout"`
EstablishedTimeout int `json:"EstablishedTimeout" xml:"EstablishedTimeout"`
HealthCheck string `json:"HealthCheck" xml:"HealthCheck"`
HealthyThreshold int `json:"HealthyThreshold" xml:"HealthyThreshold"`
UnhealthyThreshold int `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
HealthCheckConnectTimeout int `json:"HealthCheckConnectTimeout" xml:"HealthCheckConnectTimeout"`
HealthCheckConnectPort int `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
HealthCheckInterval int `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
HealthCheckHttpCode string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
HealthCheckDomain string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
HealthCheckURI string `json:"HealthCheckURI" xml:"HealthCheckURI"`
HealthCheckType string `json:"HealthCheckType" xml:"HealthCheckType"`
HealthCheckMethod string `json:"HealthCheckMethod" xml:"HealthCheckMethod"`
MaxConnection int `json:"MaxConnection" xml:"MaxConnection"`
VServerGroupId string `json:"VServerGroupId" xml:"VServerGroupId"`
MasterSlaveServerGroupId string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
AclId string `json:"AclId" xml:"AclId"` AclId string `json:"AclId" xml:"AclId"`
AclType string `json:"AclType" xml:"AclType"`
AclStatus string `json:"AclStatus" xml:"AclStatus"` AclStatus string `json:"AclStatus" xml:"AclStatus"`
VpcIds string `json:"VpcIds" xml:"VpcIds"` AclType string `json:"AclType" xml:"AclType"`
Description string `json:"Description" xml:"Description"` BackendServerPort int `json:"BackendServerPort" xml:"BackendServerPort"`
Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
ConnectionDrain string `json:"ConnectionDrain" xml:"ConnectionDrain"` ConnectionDrain string `json:"ConnectionDrain" xml:"ConnectionDrain"`
ConnectionDrainTimeout int `json:"ConnectionDrainTimeout" xml:"ConnectionDrainTimeout"` ConnectionDrainTimeout int `json:"ConnectionDrainTimeout" xml:"ConnectionDrainTimeout"`
Description string `json:"Description" xml:"Description"`
EstablishedTimeout int `json:"EstablishedTimeout" xml:"EstablishedTimeout"`
FailoverStrategy string `json:"FailoverStrategy" xml:"FailoverStrategy"`
FailoverThreshold int `json:"FailoverThreshold" xml:"FailoverThreshold"`
HealthCheck string `json:"HealthCheck" xml:"HealthCheck"`
HealthCheckConnectPort int `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
HealthCheckConnectTimeout int `json:"HealthCheckConnectTimeout" xml:"HealthCheckConnectTimeout"`
HealthCheckDomain string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
HealthCheckHttpCode string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
HealthCheckInterval int `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
HealthCheckMethod string `json:"HealthCheckMethod" xml:"HealthCheckMethod"`
HealthCheckTcpFastCloseEnabled bool `json:"HealthCheckTcpFastCloseEnabled" xml:"HealthCheckTcpFastCloseEnabled"`
HealthCheckType string `json:"HealthCheckType" xml:"HealthCheckType"`
HealthCheckURI string `json:"HealthCheckURI" xml:"HealthCheckURI"`
HealthyThreshold int `json:"HealthyThreshold" xml:"HealthyThreshold"`
ListenerPort int `json:"ListenerPort" xml:"ListenerPort"`
MasterServerGroupId string `json:"MasterServerGroupId" xml:"MasterServerGroupId"`
MasterSlaveModeEnabled bool `json:"MasterSlaveModeEnabled" xml:"MasterSlaveModeEnabled"`
MasterSlaveServerGroupId string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
MaxConnection int `json:"MaxConnection" xml:"MaxConnection"`
PersistenceTimeout int `json:"PersistenceTimeout" xml:"PersistenceTimeout"`
ProxyProtocolV2Enabled bool `json:"ProxyProtocolV2Enabled" xml:"ProxyProtocolV2Enabled"`
ProxyProtocolVpcIdEnabled bool `json:"ProxyProtocolVpcIdEnabled" xml:"ProxyProtocolVpcIdEnabled"`
RequestId string `json:"RequestId" xml:"RequestId"`
Scheduler string `json:"Scheduler" xml:"Scheduler"`
SlaveServerGroupId string `json:"SlaveServerGroupId" xml:"SlaveServerGroupId"`
Status string `json:"Status" xml:"Status"`
SynProxy string `json:"SynProxy" xml:"SynProxy"`
UnhealthyThreshold int `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
VServerGroupId string `json:"VServerGroupId" xml:"VServerGroupId"`
VpcIds string `json:"VpcIds" xml:"VpcIds"`
WorkingServerGroupId string `json:"WorkingServerGroupId" xml:"WorkingServerGroupId"`
AclIds AclIdsInDescribeLoadBalancerTCPListenerAttribute `json:"AclIds" xml:"AclIds"` AclIds AclIdsInDescribeLoadBalancerTCPListenerAttribute `json:"AclIds" xml:"AclIds"`
PortRanges PortRangesInDescribeLoadBalancerTCPListenerAttribute `json:"PortRanges" xml:"PortRanges"` PortRanges PortRangesInDescribeLoadBalancerTCPListenerAttribute `json:"PortRanges" xml:"PortRanges"`
} }

View File

@ -84,31 +84,46 @@ type DescribeLoadBalancerUDPListenerAttributeRequest struct {
// DescribeLoadBalancerUDPListenerAttributeResponse is the response struct for api DescribeLoadBalancerUDPListenerAttribute // DescribeLoadBalancerUDPListenerAttributeResponse is the response struct for api DescribeLoadBalancerUDPListenerAttribute
type DescribeLoadBalancerUDPListenerAttributeResponse struct { type DescribeLoadBalancerUDPListenerAttributeResponse struct {
*responses.BaseResponse *responses.BaseResponse
RequestId string `json:"RequestId" xml:"RequestId"`
ListenerPort int `json:"ListenerPort" xml:"ListenerPort"`
BackendServerPort int `json:"BackendServerPort" xml:"BackendServerPort"`
Status string `json:"Status" xml:"Status"`
Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
Scheduler string `json:"Scheduler" xml:"Scheduler"`
PersistenceTimeout int `json:"PersistenceTimeout" xml:"PersistenceTimeout"`
HealthCheck string `json:"HealthCheck" xml:"HealthCheck"`
HealthyThreshold int `json:"HealthyThreshold" xml:"HealthyThreshold"`
UnhealthyThreshold int `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
HealthCheckConnectTimeout int `json:"HealthCheckConnectTimeout" xml:"HealthCheckConnectTimeout"`
HealthCheckConnectPort int `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
HealthCheckInterval int `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
HealthCheckReq string `json:"HealthCheckReq" xml:"HealthCheckReq"`
HealthCheckExp string `json:"HealthCheckExp" xml:"HealthCheckExp"`
MaxConnection int `json:"MaxConnection" xml:"MaxConnection"`
VServerGroupId string `json:"VServerGroupId" xml:"VServerGroupId"`
MasterSlaveServerGroupId string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
AclId string `json:"AclId" xml:"AclId"` AclId string `json:"AclId" xml:"AclId"`
AclType string `json:"AclType" xml:"AclType"`
AclStatus string `json:"AclStatus" xml:"AclStatus"` AclStatus string `json:"AclStatus" xml:"AclStatus"`
VpcIds string `json:"VpcIds" xml:"VpcIds"` AclType string `json:"AclType" xml:"AclType"`
Description string `json:"Description" xml:"Description"` BackendServerPort int `json:"BackendServerPort" xml:"BackendServerPort"`
Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
ConnectionDrain string `json:"ConnectionDrain" xml:"ConnectionDrain"` ConnectionDrain string `json:"ConnectionDrain" xml:"ConnectionDrain"`
ConnectionDrainTimeout int `json:"ConnectionDrainTimeout" xml:"ConnectionDrainTimeout"` ConnectionDrainTimeout int `json:"ConnectionDrainTimeout" xml:"ConnectionDrainTimeout"`
Description string `json:"Description" xml:"Description"`
FailoverStrategy string `json:"FailoverStrategy" xml:"FailoverStrategy"`
FailoverThreshold int `json:"FailoverThreshold" xml:"FailoverThreshold"`
HealthCheck string `json:"HealthCheck" xml:"HealthCheck"`
HealthCheckConnectPort int `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
HealthCheckConnectTimeout int `json:"HealthCheckConnectTimeout" xml:"HealthCheckConnectTimeout"`
HealthCheckDomain string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
HealthCheckExp string `json:"HealthCheckExp" xml:"HealthCheckExp"`
HealthCheckHttpCode string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
HealthCheckInterval int `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
HealthCheckMethod string `json:"HealthCheckMethod" xml:"HealthCheckMethod"`
HealthCheckReq string `json:"HealthCheckReq" xml:"HealthCheckReq"`
HealthCheckType string `json:"HealthCheckType" xml:"HealthCheckType"`
HealthCheckURI string `json:"HealthCheckURI" xml:"HealthCheckURI"`
HealthyThreshold int `json:"HealthyThreshold" xml:"HealthyThreshold"`
ListenerPort int `json:"ListenerPort" xml:"ListenerPort"`
MasterServerGroupId string `json:"MasterServerGroupId" xml:"MasterServerGroupId"`
MasterSlaveModeEnabled bool `json:"MasterSlaveModeEnabled" xml:"MasterSlaveModeEnabled"`
MasterSlaveServerGroupId string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
MaxConnection int `json:"MaxConnection" xml:"MaxConnection"`
PersistenceTimeout int `json:"PersistenceTimeout" xml:"PersistenceTimeout"`
ProxyProtocolV2Enabled bool `json:"ProxyProtocolV2Enabled" xml:"ProxyProtocolV2Enabled"`
ProxyProtocolVpcIdEnabled bool `json:"ProxyProtocolVpcIdEnabled" xml:"ProxyProtocolVpcIdEnabled"`
QuicVersion string `json:"QuicVersion" xml:"QuicVersion"`
RequestId string `json:"RequestId" xml:"RequestId"`
Scheduler string `json:"Scheduler" xml:"Scheduler"`
SlaveServerGroupId string `json:"SlaveServerGroupId" xml:"SlaveServerGroupId"`
Status string `json:"Status" xml:"Status"`
UnhealthyThreshold int `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
VServerGroupId string `json:"VServerGroupId" xml:"VServerGroupId"`
VpcIds string `json:"VpcIds" xml:"VpcIds"`
WorkingServerGroupId string `json:"WorkingServerGroupId" xml:"WorkingServerGroupId"`
HealthCheckSwitch string `json:"HealthCheckSwitch" xml:"HealthCheckSwitch"`
AclIds AclIdsInDescribeLoadBalancerUDPListenerAttribute `json:"AclIds" xml:"AclIds"` AclIds AclIdsInDescribeLoadBalancerUDPListenerAttribute `json:"AclIds" xml:"AclIds"`
PortRanges PortRangesInDescribeLoadBalancerUDPListenerAttribute `json:"PortRanges" xml:"PortRanges"` PortRanges PortRangesInDescribeLoadBalancerUDPListenerAttribute `json:"PortRanges" xml:"PortRanges"`
} }

View File

@ -95,6 +95,7 @@ type DescribeLoadBalancersRequest struct {
BusinessStatus string `position:"Query" name:"BusinessStatus"` BusinessStatus string `position:"Query" name:"BusinessStatus"`
Address string `position:"Query" name:"Address"` Address string `position:"Query" name:"Address"`
ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
FilterByTagOrName requests.Boolean `position:"Query" name:"FilterByTagOrName"`
OwnerAccount string `position:"Query" name:"OwnerAccount"` OwnerAccount string `position:"Query" name:"OwnerAccount"`
LoadBalancerStatus string `position:"Query" name:"LoadBalancerStatus"` LoadBalancerStatus string `position:"Query" name:"LoadBalancerStatus"`
VpcId string `position:"Query" name:"VpcId"` VpcId string `position:"Query" name:"VpcId"`

View File

@ -74,11 +74,14 @@ type SetLoadBalancerTCPListenerAttributeRequest struct {
ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
HealthCheckURI string `position:"Query" name:"HealthCheckURI"` HealthCheckURI string `position:"Query" name:"HealthCheckURI"`
AclStatus string `position:"Query" name:"AclStatus"` AclStatus string `position:"Query" name:"AclStatus"`
HealthCheckTcpFastCloseEnabled requests.Boolean `position:"Query" name:"HealthCheckTcpFastCloseEnabled"`
AclType string `position:"Query" name:"AclType"` AclType string `position:"Query" name:"AclType"`
MasterSlaveServerGroup string `position:"Query" name:"MasterSlaveServerGroup"` MasterSlaveServerGroup string `position:"Query" name:"MasterSlaveServerGroup"`
EstablishedTimeout requests.Integer `position:"Query" name:"EstablishedTimeout"` EstablishedTimeout requests.Integer `position:"Query" name:"EstablishedTimeout"`
FailoverStrategy string `position:"Query" name:"FailoverStrategy"`
PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"` PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"`
VpcIds string `position:"Query" name:"VpcIds"` VpcIds string `position:"Query" name:"VpcIds"`
MasterSlaveModeEnabled requests.Boolean `position:"Query" name:"MasterSlaveModeEnabled"`
VServerGroupId string `position:"Query" name:"VServerGroupId"` VServerGroupId string `position:"Query" name:"VServerGroupId"`
AclId string `position:"Query" name:"AclId"` AclId string `position:"Query" name:"AclId"`
PortRange *[]SetLoadBalancerTCPListenerAttributePortRange `position:"Query" name:"PortRange" type:"Repeated"` PortRange *[]SetLoadBalancerTCPListenerAttributePortRange `position:"Query" name:"PortRange" type:"Repeated"`
@ -86,18 +89,24 @@ type SetLoadBalancerTCPListenerAttributeRequest struct {
HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"` HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"`
SynProxy string `position:"Query" name:"SynProxy"` SynProxy string `position:"Query" name:"SynProxy"`
OwnerId requests.Integer `position:"Query" name:"OwnerId"` OwnerId requests.Integer `position:"Query" name:"OwnerId"`
ProxyProtocolVpcIdEnabled requests.Boolean `position:"Query" name:"ProxyProtocolVpcIdEnabled"`
Tags string `position:"Query" name:"Tags"` Tags string `position:"Query" name:"Tags"`
LoadBalancerId string `position:"Query" name:"LoadBalancerId"` LoadBalancerId string `position:"Query" name:"LoadBalancerId"`
MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"` MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"`
HealthCheckInterval requests.Integer `position:"Query" name:"HealthCheckInterval"` HealthCheckInterval requests.Integer `position:"Query" name:"HealthCheckInterval"`
FailoverThreshold requests.Integer `position:"Query" name:"FailoverThreshold"`
ProxyProtocolV2Enabled requests.Boolean `position:"Query" name:"ProxyProtocolV2Enabled"`
ConnectionDrain string `position:"Query" name:"ConnectionDrain"` ConnectionDrain string `position:"Query" name:"ConnectionDrain"`
HealthCheckSwitch string `position:"Query" name:"HealthCheckSwitch"`
AccessKeyId string `position:"Query" name:"access_key_id"` AccessKeyId string `position:"Query" name:"access_key_id"`
HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"` HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
SlaveServerGroupId string `position:"Query" name:"SlaveServerGroupId"`
Description string `position:"Query" name:"Description"` Description string `position:"Query" name:"Description"`
UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"` UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"`
HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"` HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"`
Scheduler string `position:"Query" name:"Scheduler"` Scheduler string `position:"Query" name:"Scheduler"`
MaxConnection requests.Integer `position:"Query" name:"MaxConnection"` MaxConnection requests.Integer `position:"Query" name:"MaxConnection"`
MasterServerGroupId string `position:"Query" name:"MasterServerGroupId"`
ListenerPort requests.Integer `position:"Query" name:"ListenerPort"` ListenerPort requests.Integer `position:"Query" name:"ListenerPort"`
HealthCheckType string `position:"Query" name:"HealthCheckType"` HealthCheckType string `position:"Query" name:"HealthCheckType"`
ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`

View File

@ -72,35 +72,49 @@ func (client *Client) SetLoadBalancerUDPListenerAttributeWithCallback(request *S
type SetLoadBalancerUDPListenerAttributeRequest struct { type SetLoadBalancerUDPListenerAttributeRequest struct {
*requests.RpcRequest *requests.RpcRequest
ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
HealthCheckURI string `position:"Query" name:"HealthCheckURI"`
AclStatus string `position:"Query" name:"AclStatus"` AclStatus string `position:"Query" name:"AclStatus"`
AclType string `position:"Query" name:"AclType"` AclType string `position:"Query" name:"AclType"`
MasterSlaveServerGroup string `position:"Query" name:"MasterSlaveServerGroup"` MasterSlaveServerGroup string `position:"Query" name:"MasterSlaveServerGroup"`
FailoverStrategy string `position:"Query" name:"FailoverStrategy"`
PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"` PersistenceTimeout requests.Integer `position:"Query" name:"PersistenceTimeout"`
VpcIds string `position:"Query" name:"VpcIds"` VpcIds string `position:"Query" name:"VpcIds"`
MasterSlaveModeEnabled requests.Boolean `position:"Query" name:"MasterSlaveModeEnabled"`
VServerGroupId string `position:"Query" name:"VServerGroupId"` VServerGroupId string `position:"Query" name:"VServerGroupId"`
AclId string `position:"Query" name:"AclId"` AclId string `position:"Query" name:"AclId"`
PortRange *[]SetLoadBalancerUDPListenerAttributePortRange `position:"Query" name:"PortRange" type:"Repeated"` PortRange *[]SetLoadBalancerUDPListenerAttributePortRange `position:"Query" name:"PortRange" type:"Repeated"`
HealthCheckMethod string `position:"Query" name:"HealthCheckMethod"`
HealthCheckDomain string `position:"Query" name:"HealthCheckDomain"`
OwnerId requests.Integer `position:"Query" name:"OwnerId"` OwnerId requests.Integer `position:"Query" name:"OwnerId"`
ProxyProtocolVpcIdEnabled requests.Boolean `position:"Query" name:"ProxyProtocolVpcIdEnabled"`
Tags string `position:"Query" name:"Tags"` Tags string `position:"Query" name:"Tags"`
LoadBalancerId string `position:"Query" name:"LoadBalancerId"` LoadBalancerId string `position:"Query" name:"LoadBalancerId"`
MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"` MasterSlaveServerGroupId string `position:"Query" name:"MasterSlaveServerGroupId"`
HealthCheckReq string `position:"Query" name:"healthCheckReq"` HealthCheckReq string `position:"Query" name:"healthCheckReq"`
HealthCheckInterval requests.Integer `position:"Query" name:"HealthCheckInterval"` HealthCheckInterval requests.Integer `position:"Query" name:"HealthCheckInterval"`
HealthCheckExp string `position:"Query" name:"healthCheckExp"` HealthCheckExp string `position:"Query" name:"healthCheckExp"`
FailoverThreshold requests.Integer `position:"Query" name:"FailoverThreshold"`
ProxyProtocolV2Enabled requests.Boolean `position:"Query" name:"ProxyProtocolV2Enabled"`
ConnectionDrain string `position:"Query" name:"ConnectionDrain"` ConnectionDrain string `position:"Query" name:"ConnectionDrain"`
HealthCheckSwitch string `position:"Query" name:"HealthCheckSwitch"`
AccessKeyId string `position:"Query" name:"access_key_id"` AccessKeyId string `position:"Query" name:"access_key_id"`
HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"` HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
SlaveServerGroupId string `position:"Query" name:"SlaveServerGroupId"`
QuicVersion string `position:"Query" name:"QuicVersion"`
Description string `position:"Query" name:"Description"` Description string `position:"Query" name:"Description"`
UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"` UnhealthyThreshold requests.Integer `position:"Query" name:"UnhealthyThreshold"`
HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"` HealthyThreshold requests.Integer `position:"Query" name:"HealthyThreshold"`
Scheduler string `position:"Query" name:"Scheduler"` Scheduler string `position:"Query" name:"Scheduler"`
MaxConnection requests.Integer `position:"Query" name:"MaxConnection"` MaxConnection requests.Integer `position:"Query" name:"MaxConnection"`
MasterServerGroupId string `position:"Query" name:"MasterServerGroupId"`
ListenerPort requests.Integer `position:"Query" name:"ListenerPort"` ListenerPort requests.Integer `position:"Query" name:"ListenerPort"`
HealthCheckType string `position:"Query" name:"HealthCheckType"`
ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
Bandwidth requests.Integer `position:"Query" name:"Bandwidth"` Bandwidth requests.Integer `position:"Query" name:"Bandwidth"`
OwnerAccount string `position:"Query" name:"OwnerAccount"` OwnerAccount string `position:"Query" name:"OwnerAccount"`
ConnectionDrainTimeout requests.Integer `position:"Query" name:"ConnectionDrainTimeout"` ConnectionDrainTimeout requests.Integer `position:"Query" name:"ConnectionDrainTimeout"`
HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"` HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
HealthCheckHttpCode string `position:"Query" name:"HealthCheckHttpCode"`
VServerGroup string `position:"Query" name:"VServerGroup"` VServerGroup string `position:"Query" name:"VServerGroup"`
} }

View File

@ -26,4 +26,5 @@ type BackendServerInDescribeVServerGroupAttribute struct {
VbrId string `json:"VbrId" xml:"VbrId"` VbrId string `json:"VbrId" xml:"VbrId"`
ServerRegionId string `json:"ServerRegionId" xml:"ServerRegionId"` ServerRegionId string `json:"ServerRegionId" xml:"ServerRegionId"`
Description string `json:"Description" xml:"Description"` Description string `json:"Description" xml:"Description"`
ProxyProtocolV2Enabled bool `json:"ProxyProtocolV2Enabled" xml:"ProxyProtocolV2Enabled"`
} }

View File

@ -38,5 +38,8 @@ type LoadBalancer struct {
BusinessStatus string `json:"BusinessStatus" xml:"BusinessStatus"` BusinessStatus string `json:"BusinessStatus" xml:"BusinessStatus"`
ModificationProtectionStatus string `json:"ModificationProtectionStatus" xml:"ModificationProtectionStatus"` ModificationProtectionStatus string `json:"ModificationProtectionStatus" xml:"ModificationProtectionStatus"`
ModificationProtectionReason string `json:"ModificationProtectionReason" xml:"ModificationProtectionReason"` ModificationProtectionReason string `json:"ModificationProtectionReason" xml:"ModificationProtectionReason"`
Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
InternetChargeTypeAlias string `json:"InternetChargeTypeAlias" xml:"InternetChargeTypeAlias"`
LoadBalancerSpec string `json:"LoadBalancerSpec" xml:"LoadBalancerSpec"`
Tags TagsInDescribeLoadBalancers `json:"Tags" xml:"Tags"` Tags TagsInDescribeLoadBalancers `json:"Tags" xml:"Tags"`
} }

View File

@ -1314,7 +1314,10 @@ var awsPartition = partition{
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{}, "eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{},
"us-east-2": endpoint{}, "us-east-2": endpoint{},
"us-west-2": endpoint{}, "us-west-2": endpoint{},
@ -1375,6 +1378,7 @@ var awsPartition = partition{
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-northeast-3": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
@ -1791,6 +1795,7 @@ var awsPartition = partition{
Endpoints: endpoints{ Endpoints: endpoints{
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
"ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{},
@ -3214,6 +3219,8 @@ var awsPartition = partition{
"gamelift": service{ "gamelift": service{
Endpoints: endpoints{ Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
@ -3221,8 +3228,12 @@ var awsPartition = partition{
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
"ca-central-1": endpoint{}, "ca-central-1": endpoint{},
"eu-central-1": endpoint{}, "eu-central-1": endpoint{},
"eu-north-1": endpoint{},
"eu-south-1": endpoint{},
"eu-west-1": endpoint{}, "eu-west-1": endpoint{},
"eu-west-2": endpoint{}, "eu-west-2": endpoint{},
"eu-west-3": endpoint{},
"me-south-1": endpoint{},
"sa-east-1": endpoint{}, "sa-east-1": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{},
"us-east-2": endpoint{}, "us-east-2": endpoint{},
@ -3399,6 +3410,7 @@ var awsPartition = partition{
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-northeast-3": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
@ -4093,6 +4105,14 @@ var awsPartition = partition{
"us-west-2": endpoint{}, "us-west-2": endpoint{},
}, },
}, },
"lookoutequipment": service{
Endpoints: endpoints{
"ap-northeast-2": endpoint{},
"eu-west-1": endpoint{},
"us-east-1": endpoint{},
},
},
"lookoutvision": service{ "lookoutvision": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -5041,6 +5061,7 @@ var awsPartition = partition{
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-northeast-3": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
@ -6005,6 +6026,7 @@ var awsPartition = partition{
"ap-east-1": endpoint{}, "ap-east-1": endpoint{},
"ap-northeast-1": endpoint{}, "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{}, "ap-northeast-2": endpoint{},
"ap-northeast-3": endpoint{},
"ap-south-1": endpoint{}, "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{}, "ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{}, "ap-southeast-2": endpoint{},
@ -6411,7 +6433,9 @@ var awsPartition = partition{
}, },
"me-south-1": endpoint{}, "me-south-1": endpoint{},
"sa-east-1": endpoint{}, "sa-east-1": endpoint{},
"us-east-1": endpoint{}, "us-east-1": endpoint{
SSLCommonName: "queue.{dnsSuffix}",
},
"us-east-2": endpoint{}, "us-east-2": endpoint{},
"us-west-1": endpoint{}, "us-west-1": endpoint{},
"us-west-2": endpoint{}, "us-west-2": endpoint{},
@ -7871,6 +7895,13 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{}, "cn-northwest-1": endpoint{},
}, },
}, },
"mq": service{
Endpoints: endpoints{
"cn-north-1": endpoint{},
"cn-northwest-1": endpoint{},
},
},
"neptune": service{ "neptune": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -7948,6 +7979,14 @@ var awscnPartition = partition{
}, },
}, },
}, },
"route53resolver": service{
Defaults: endpoint{
Protocols: []string{"https"},
},
Endpoints: endpoints{
"cn-north-1": endpoint{},
},
},
"runtime.sagemaker": service{ "runtime.sagemaker": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -8439,6 +8478,18 @@ var awsusgovPartition = partition{
"batch": service{ "batch": service{
Endpoints: endpoints{ Endpoints: endpoints{
"fips-us-gov-east-1": endpoint{
Hostname: "batch.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
"fips-us-gov-west-1": endpoint{
Hostname: "batch.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-east-1": endpoint{}, "us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{}, "us-gov-west-1": endpoint{},
}, },
@ -8963,6 +9014,27 @@ var awsusgovPartition = partition{
"us-gov-west-1": endpoint{}, "us-gov-west-1": endpoint{},
}, },
}, },
"fms": service{
Defaults: endpoint{
Protocols: []string{"https"},
},
Endpoints: endpoints{
"fips-us-gov-east-1": endpoint{
Hostname: "fms-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
"fips-us-gov-west-1": endpoint{
Hostname: "fms-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{},
},
},
"fsx": service{ "fsx": service{
Endpoints: endpoints{ Endpoints: endpoints{
@ -10235,6 +10307,12 @@ var awsisoPartition = partition{
"us-iso-east-1": endpoint{}, "us-iso-east-1": endpoint{},
}, },
}, },
"firehose": service{
Endpoints: endpoints{
"us-iso-east-1": endpoint{},
},
},
"glacier": service{ "glacier": service{
Endpoints: endpoints{ Endpoints: endpoints{

View File

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go" const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK // SDKVersion is the version of this SDK
const SDKVersion = "1.38.17" const SDKVersion = "1.38.25"

View File

@ -7246,18 +7246,19 @@ type CreateStackSetInput struct {
// For more information, see Acknowledging IAM Resources in AWS CloudFormation // For more information, see Acknowledging IAM Resources in AWS CloudFormation
// Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
// //
// * CAPABILITY_AUTO_EXPAND Some templates contain macros. If your stack // * CAPABILITY_AUTO_EXPAND Some templates reference macros. If your stack
// template contains one or more macros, and you choose to create a stack // set template references one or more macros, you must create the stack
// directly from the processed template, without first reviewing the resulting // set directly from the processed template, without first reviewing the
// changes in a change set, you must acknowledge this capability. For more // resulting changes in a change set. To create the stack set directly, you
// information, see Using AWS CloudFormation Macros to Perform Custom Processing // must acknowledge this capability. For more information, see Using AWS
// on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). // CloudFormation Macros to Perform Custom Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
// Stack sets do not currently support macros in stack templates. (This includes // Stack sets with service-managed permissions do not currently support the
// the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // use of macros in templates. (This includes the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
// and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
// transforms, which are macros hosted by AWS CloudFormation.) Even if you // transforms, which are macros hosted by AWS CloudFormation.) Even if you
// specify this capability, if you include a macro in your template the stack // specify this capability for a stack set with service-managed permissions,
// set operation will fail. // if you reference a macro in your template the stack set operation will
// fail.
Capabilities []*string `type:"list"` Capabilities []*string `type:"list"`
// A unique identifier for this CreateStackSet request. Specify this token if // A unique identifier for this CreateStackSet request. Specify this token if
@ -17188,18 +17189,19 @@ type UpdateStackSetInput struct {
// For more information, see Acknowledging IAM Resources in AWS CloudFormation // For more information, see Acknowledging IAM Resources in AWS CloudFormation
// Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities).
// //
// * CAPABILITY_AUTO_EXPAND Some templates contain macros. If your stack // * CAPABILITY_AUTO_EXPAND Some templates reference macros. If your stack
// template contains one or more macros, and you choose to update a stack // set template references one or more macros, you must update the stack
// directly from the processed template, without first reviewing the resulting // set directly from the processed template, without first reviewing the
// changes in a change set, you must acknowledge this capability. For more // resulting changes in a change set. To update the stack set directly, you
// information, see Using AWS CloudFormation Macros to Perform Custom Processing // must acknowledge this capability. For more information, see Using AWS
// on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). // CloudFormation Macros to Perform Custom Processing on Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html).
// Stack sets do not currently support macros in stack templates. (This includes // Stack sets with service-managed permissions do not currently support the
// the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // use of macros in templates. (This includes the AWS::Include (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)
// and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) // and AWS::Serverless (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)
// transforms, which are macros hosted by AWS CloudFormation.) Even if you // transforms, which are macros hosted by AWS CloudFormation.) Even if you
// specify this capability, if you include a macro in your template the stack // specify this capability for a stack set with service-managed permissions,
// set operation will fail. // if you reference a macro in your template the stack set operation will
// fail.
Capabilities []*string `type:"list"` Capabilities []*string `type:"list"`
// [Service-managed permissions] The AWS Organizations accounts in which to // [Service-managed permissions] The AWS Organizations accounts in which to

View File

@ -746,6 +746,9 @@ func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *re
// records are not yet available on all Route 53 DNS servers. When the NS and // records are not yet available on all Route 53 DNS servers. When the NS and
// SOA records are available, the status of the zone changes to INSYNC. // SOA records are available, the status of the zone changes to INSYNC.
// //
// The CreateHostedZone request requires the caller to have an ec2:DescribeVpcs
// permission.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -2121,7 +2124,7 @@ func (c *Route53) DeleteKeySigningKeyRequest(input *DeleteKeySigningKeyInput) (r
// DeleteKeySigningKey API operation for Amazon Route 53. // DeleteKeySigningKey API operation for Amazon Route 53.
// //
// Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate // Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate
// it. The KSK must be deactived before you can delete it regardless of whether // it. The KSK must be deactivated before you can delete it regardless of whether
// the hosted zone is enabled for DNSSEC signing. // the hosted zone is enabled for DNSSEC signing.
// //
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@ -6337,6 +6340,8 @@ func (c *Route53) TestDNSAnswerRequest(input *TestDNSAnswerInput) (req *request.
// for a specified record name and type. You can optionally specify the IP address // for a specified record name and type. You can optionally specify the IP address
// of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. // of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.
// //
// This call only supports querying public hosted zones.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -8273,7 +8278,7 @@ type CreateKeySigningKeyInput struct {
// The key policy must also include the Amazon Route 53 service in the principal // The key policy must also include the Amazon Route 53 service in the principal
// for your account. Specify the following: // for your account. Specify the following:
// //
// * "Service": "api-service.dnssec.route53.aws.internal" // * "Service": "dnssec.route53.aws.amazonaws.com"
// //
// For more information about working with a customer managed CMK in AWS KMS, // For more information about working with a customer managed CMK in AWS KMS,
// see AWS Key Management Service concepts (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html). // see AWS Key Management Service concepts (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html).

View File

@ -65,34 +65,6 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide. // in the IAM User Guide.
// //
// You cannot use AWS account root user credentials to call AssumeRole. You
// must use credentials for an IAM user or an IAM role to call AssumeRole.
//
// For cross-account access, imagine that you own multiple accounts and need
// to access resources in each account. You could create long-term credentials
// in each account to access those resources. However, managing all those credentials
// and remembering which one can access which account can be time consuming.
// Instead, you can create one set of long-term credentials in one account.
// Then use temporary security credentials to access all the other accounts
// by assuming roles in those accounts. For more information about roles, see
// IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
// in the IAM User Guide.
//
// Session Duration
//
// By default, the temporary security credentials created by AssumeRole last
// for one hour. However, you can use the optional DurationSeconds parameter
// to specify the duration of your session. You can provide a value from 900
// seconds (15 minutes) up to the maximum session duration setting for the role.
// This setting can have a value from 1 hour to 12 hours. To learn how to view
// the maximum value for your role, see View the Maximum Session Duration Setting
// for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
// in the IAM User Guide. The maximum session duration limit applies when you
// use the AssumeRole* API operations or the assume-role* CLI commands. However
// the limit does not apply when you use those operations to create a console
// URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
// in the IAM User Guide.
//
// Permissions // Permissions
// //
// The temporary security credentials created by AssumeRole can be used to make // The temporary security credentials created by AssumeRole can be used to make
@ -308,6 +280,15 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
// in the IAM User Guide. // in the IAM User Guide.
// //
// Role chaining (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining)
// limits your AWS CLI or AWS API role session to a maximum of one hour. When
// you use the AssumeRole API operation to assume a role, you can specify the
// duration of your role session with the DurationSeconds parameter. You can
// specify a parameter value of up to 43200 seconds (12 hours), depending on
// the maximum session duration setting for your role. However, if you assume
// a role using role chaining and provide a DurationSeconds parameter value
// greater than one hour, the operation fails.
//
// Permissions // Permissions
// //
// The temporary security credentials created by AssumeRoleWithSAML can be used // The temporary security credentials created by AssumeRoleWithSAML can be used
@ -353,9 +334,9 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// You can pass a session tag with the same key as a tag that is attached to // You can pass a session tag with the same key as a tag that is attached to
// the role. When you do, session tags override the role's tags with the same // the role. When you do, session tags override the role's tags with the same
@ -590,9 +571,9 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// You can pass a session tag with the same key as a tag that is attached to // You can pass a session tag with the same key as a tag that is attached to
// the role. When you do, the session tag overrides the role tag with the same // the role. When you do, the session tag overrides the role tag with the same
@ -619,7 +600,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// //
// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail // Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail
// logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims) // logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims)
// of the provided Web Identity Token. We recommend that you avoid using any // of the provided web identity token. We recommend that you avoid using any
// personally identifiable information (PII) in this field. For example, you // personally identifiable information (PII) in this field. For example, you
// could instead use a GUID or a pairwise identifier, as suggested in the OIDC // could instead use a GUID or a pairwise identifier, as suggested in the OIDC
// specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes). // specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes).
@ -1136,6 +1117,70 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) // Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
// in the IAM User Guide. // in the IAM User Guide.
// //
// You can create a mobile-based or browser-based app that can authenticate
// users using a web identity provider like Login with Amazon, Facebook, Google,
// or an OpenID Connect-compatible identity provider. In this case, we recommend
// that you use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity.
// For more information, see Federation Through a Web-based Identity Provider
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity)
// in the IAM User Guide.
//
// You can also call GetFederationToken using the security credentials of an
// AWS account root user, but we do not recommend it. Instead, we recommend
// that you create an IAM user for the purpose of the proxy application. Then
// attach a policy to the IAM user that limits federated users to only the actions
// and resources that they need to access. For more information, see IAM Best
// Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
// in the IAM User Guide.
//
// Session duration
//
// The temporary credentials are valid for the specified duration, from 900
// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default
// session duration is 43,200 seconds (12 hours). Temporary credentials that
// are obtained by using AWS account root user credentials have a maximum duration
// of 3,600 seconds (1 hour).
//
// Permissions
//
// You can use the temporary credentials created by GetFederationToken in any
// AWS service except the following:
//
// * You cannot call any IAM operations using the AWS CLI or the AWS API.
//
// * You cannot call any STS operations except GetCallerIdentity.
//
// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// to this operation. You can pass a single JSON policy document to use as an
// inline session policy. You can also specify up to 10 managed policies to
// use as managed session policies. The plain text that you use for both inline
// and managed session policies can't exceed 2,048 characters.
//
// Though the session policy parameters are optional, if you do not pass a policy,
// then the resulting federated user session has no permissions. When you pass
// session policies, the session permissions are the intersection of the IAM
// user policies and the session policies that you pass. This gives you a way
// to further restrict the permissions for a federated user. You cannot use
// session policies to grant more permissions than those that are defined in
// the permissions policy of the IAM user. For more information, see Session
// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// in the IAM User Guide. For information about using GetFederationToken to
// create temporary security credentials, see GetFederationToken—Federation
// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken).
//
// You can use the credentials to access a resource that has a resource-based
// policy. If that policy specifically references the federated user session
// in the Principal element of the policy, the session has the permissions allowed
// by the policy. These permissions are granted in addition to the permissions
// granted by the session policies.
//
// Tags
//
// (Optional) You can pass tag key-value pairs to your session. These are called
// session tags. For more information about session tags, see Passing Session
// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
// in the IAM User Guide.
//
// An administrator must grant you the permissions necessary to pass session // An administrator must grant you the permissions necessary to pass session
// tags. The administrator can also create granular permissions to allow you // tags. The administrator can also create granular permissions to allow you
// to pass only specific session tags. For more information, see Tutorial: Using // to pass only specific session tags. For more information, see Tutorial: Using
@ -1338,14 +1383,15 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken
type AssumeRoleInput struct { type AssumeRoleInput struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The duration, in seconds, of the role session. The value can range from 900 // The duration, in seconds, of the role session. The value specified can can
// seconds (15 minutes) up to the maximum session duration setting for the role. // range from 900 seconds (15 minutes) up to the maximum session duration that
// This setting can have a value from 1 hour to 12 hours. If you specify a value // is set for the role. The maximum session duration setting can have a value
// higher than this setting, the operation fails. For example, if you specify // from 1 hour to 12 hours. If you specify a value higher than this setting
// a session duration of 12 hours, but your administrator set the maximum session // or the administrator setting (whichever is lower), the operation fails. For
// duration to 6 hours, your operation fails. To learn how to view the maximum // example, if you specify a session duration of 12 hours, but your administrator
// value for your role, see View the Maximum Session Duration Setting for a // set the maximum session duration to 6 hours, your operation fails. To learn
// Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // how to view the maximum value for your role, see View the Maximum Session
// Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
// in the IAM User Guide. // in the IAM User Guide.
// //
// By default, the value is set to 3600 seconds. // By default, the value is set to 3600 seconds.
@ -1387,17 +1433,17 @@ type AssumeRoleInput struct {
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// in the IAM User Guide. // in the IAM User Guide.
// //
// The plain text that you use for both inline and managed session policies // The plaintext that you use for both inline and managed session policies can't
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII // exceed 2,048 characters. The JSON policy characters can be any ASCII character
// character from the space character to the end of the valid character list // from the space character to the end of the valid character list (\u0020 through
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
// and carriage return (\u000D) characters. // return (\u000D) characters.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
Policy *string `min:"1" type:"string"` Policy *string `min:"1" type:"string"`
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want // The Amazon Resource Names (ARNs) of the IAM managed policies that you want
@ -1405,16 +1451,16 @@ type AssumeRoleInput struct {
// as the role. // as the role.
// //
// This parameter is optional. You can provide up to 10 managed policy ARNs. // This parameter is optional. You can provide up to 10 managed policy ARNs.
// However, the plain text that you use for both inline and managed session // However, the plaintext that you use for both inline and managed session policies
// policies can't exceed 2,048 characters. For more information about ARNs, // can't exceed 2,048 characters. For more information about ARNs, see Amazon
// see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
// in the AWS General Reference. // in the AWS General Reference.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// Passing policies to this operation returns new temporary credentials. The // Passing policies to this operation returns new temporary credentials. The
// resulting session's permissions are the intersection of the role's identity-based // resulting session's permissions are the intersection of the role's identity-based
@ -1459,22 +1505,41 @@ type AssumeRoleInput struct {
// also include underscores or any of the following characters: =,.@- // also include underscores or any of the following characters: =,.@-
SerialNumber *string `min:"9" type:"string"` SerialNumber *string `min:"9" type:"string"`
// The source identity specified by the principal that is calling the AssumeRole
// operation.
//
// You can require users to specify a source identity when they assume a role.
// You do this by using the sts:SourceIdentity condition key in a role trust
// policy. You can use source identity information in AWS CloudTrail logs to
// determine who took actions with a role. You can use the aws:SourceIdentity
// condition key to further control access to AWS resources based on the value
// of source identity. For more information about using source identity, see
// Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
// in the IAM User Guide.
//
// The regex used to validate this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
// also include underscores or any of the following characters: =,.@-. You cannot
// use a value that begins with the text aws:. This prefix is reserved for AWS
// internal use.
SourceIdentity *string `min:"2" type:"string"`
// A list of session tags that you want to pass. Each session tag consists of // A list of session tags that you want to pass. Each session tag consists of
// a key name and an associated value. For more information about session tags, // a key name and an associated value. For more information about session tags,
// see Tagging AWS STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) // see Tagging AWS STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
// in the IAM User Guide. // in the IAM User Guide.
// //
// This parameter is optional. You can pass up to 50 session tags. The plain // This parameter is optional. You can pass up to 50 session tags. The plaintext
// text session tag keys cant exceed 128 characters, and the values cant // session tag keys cant exceed 128 characters, and the values cant exceed
// exceed 256 characters. For these and additional limits, see IAM and STS Character // 256 characters. For these and additional limits, see IAM and STS Character
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
// in the IAM User Guide. // in the IAM User Guide.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// You can pass a session tag with the same key as a tag that is already attached // You can pass a session tag with the same key as a tag that is already attached
// to the role. When you do, session tags override a role tag with the same // to the role. When you do, session tags override a role tag with the same
@ -1495,9 +1560,10 @@ type AssumeRoleInput struct {
Tags []*Tag `type:"list"` Tags []*Tag `type:"list"`
// The value provided by the MFA device, if the trust policy of the role being // The value provided by the MFA device, if the trust policy of the role being
// assumed requires MFA (that is, if the policy includes a condition that tests // assumed requires MFA. (In other words, if the policy includes a condition
// for MFA). If the role being assumed requires MFA and if the TokenCode value // that tests for MFA). If the role being assumed requires MFA and if the TokenCode
// is missing or expired, the AssumeRole call returns an "access denied" error. // value is missing or expired, the AssumeRole call returns an "access denied"
// error.
// //
// The format for this parameter, as described by its regex pattern, is a sequence // The format for this parameter, as described by its regex pattern, is a sequence
// of six numeric digits. // of six numeric digits.
@ -1554,6 +1620,9 @@ func (s *AssumeRoleInput) Validate() error {
if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
} }
if s.SourceIdentity != nil && len(*s.SourceIdentity) < 2 {
invalidParams.Add(request.NewErrParamMinLen("SourceIdentity", 2))
}
if s.TokenCode != nil && len(*s.TokenCode) < 6 { if s.TokenCode != nil && len(*s.TokenCode) < 6 {
invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6))
} }
@ -1626,6 +1695,12 @@ func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput {
return s return s
} }
// SetSourceIdentity sets the SourceIdentity field's value.
func (s *AssumeRoleInput) SetSourceIdentity(v string) *AssumeRoleInput {
s.SourceIdentity = &v
return s
}
// SetTags sets the Tags field's value. // SetTags sets the Tags field's value.
func (s *AssumeRoleInput) SetTags(v []*Tag) *AssumeRoleInput { func (s *AssumeRoleInput) SetTags(v []*Tag) *AssumeRoleInput {
s.Tags = v s.Tags = v
@ -1668,6 +1743,23 @@ type AssumeRoleOutput struct {
// packed size is greater than 100 percent, which means the policies and tags // packed size is greater than 100 percent, which means the policies and tags
// exceeded the allowed space. // exceeded the allowed space.
PackedPolicySize *int64 `type:"integer"` PackedPolicySize *int64 `type:"integer"`
// The source identity specified by the principal that is calling the AssumeRole
// operation.
//
// You can require users to specify a source identity when they assume a role.
// You do this by using the sts:SourceIdentity condition key in a role trust
// policy. You can use source identity information in AWS CloudTrail logs to
// determine who took actions with a role. You can use the aws:SourceIdentity
// condition key to further control access to AWS resources based on the value
// of source identity. For more information about using source identity, see
// Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
// in the IAM User Guide.
//
// The regex used to validate this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
// also include underscores or any of the following characters: =,.@-
SourceIdentity *string `min:"2" type:"string"`
} }
// String returns the string representation // String returns the string representation
@ -1698,6 +1790,12 @@ func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput {
return s return s
} }
// SetSourceIdentity sets the SourceIdentity field's value.
func (s *AssumeRoleOutput) SetSourceIdentity(v string) *AssumeRoleOutput {
s.SourceIdentity = &v
return s
}
type AssumeRoleWithSAMLInput struct { type AssumeRoleWithSAMLInput struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -1736,17 +1834,17 @@ type AssumeRoleWithSAMLInput struct {
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// in the IAM User Guide. // in the IAM User Guide.
// //
// The plain text that you use for both inline and managed session policies // The plaintext that you use for both inline and managed session policies can't
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII // exceed 2,048 characters. The JSON policy characters can be any ASCII character
// character from the space character to the end of the valid character list // from the space character to the end of the valid character list (\u0020 through
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
// and carriage return (\u000D) characters. // return (\u000D) characters.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
Policy *string `min:"1" type:"string"` Policy *string `min:"1" type:"string"`
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want // The Amazon Resource Names (ARNs) of the IAM managed policies that you want
@ -1754,16 +1852,16 @@ type AssumeRoleWithSAMLInput struct {
// as the role. // as the role.
// //
// This parameter is optional. You can provide up to 10 managed policy ARNs. // This parameter is optional. You can provide up to 10 managed policy ARNs.
// However, the plain text that you use for both inline and managed session // However, the plaintext that you use for both inline and managed session policies
// policies can't exceed 2,048 characters. For more information about ARNs, // can't exceed 2,048 characters. For more information about ARNs, see Amazon
// see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
// in the AWS General Reference. // in the AWS General Reference.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// Passing policies to this operation returns new temporary credentials. The // Passing policies to this operation returns new temporary credentials. The
// resulting session's permissions are the intersection of the role's identity-based // resulting session's permissions are the intersection of the role's identity-based
@ -1786,7 +1884,7 @@ type AssumeRoleWithSAMLInput struct {
// RoleArn is a required field // RoleArn is a required field
RoleArn *string `min:"20" type:"string" required:"true"` RoleArn *string `min:"20" type:"string" required:"true"`
// The base-64 encoded SAML authentication response provided by the IdP. // The base64 encoded SAML authentication response provided by the IdP.
// //
// For more information, see Configuring a Relying Party and Adding Claims (https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) // For more information, see Configuring a Relying Party and Adding Claims (https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html)
// in the IAM User Guide. // in the IAM User Guide.
@ -1908,10 +2006,17 @@ type AssumeRoleWithSAMLOutput struct {
// The value of the Issuer element of the SAML assertion. // The value of the Issuer element of the SAML assertion.
Issuer *string `type:"string"` Issuer *string `type:"string"`
// A hash value based on the concatenation of the Issuer response value, the // A hash value based on the concatenation of the following:
// AWS account ID, and the friendly name (the last part of the ARN) of the SAML //
// provider in IAM. The combination of NameQualifier and Subject can be used // * The Issuer response value.
// to uniquely identify a federated user. //
// * The AWS account ID.
//
// * The friendly name (the last part of the ARN) of the SAML provider in
// IAM.
//
// The combination of NameQualifier and Subject can be used to uniquely identify
// a federated user.
// //
// The following pseudocode shows how the hash value is calculated: // The following pseudocode shows how the hash value is calculated:
// //
@ -1925,6 +2030,26 @@ type AssumeRoleWithSAMLOutput struct {
// exceeded the allowed space. // exceeded the allowed space.
PackedPolicySize *int64 `type:"integer"` PackedPolicySize *int64 `type:"integer"`
// The value in the SourceIdentity attribute in the SAML assertion.
//
// You can require users to set a source identity value when they assume a role.
// You do this by using the sts:SourceIdentity condition key in a role trust
// policy. That way, actions that are taken with the role are associated with
// that user. After the source identity is set, the value cannot be changed.
// It is present in the request for all actions that are taken by the role and
// persists across chained role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining)
// sessions. You can configure your SAML identity provider to use an attribute
// associated with your users, like user name or email, as the source identity
// when calling AssumeRoleWithSAML. You do this by adding an attribute to the
// SAML assertion. For more information about using source identity, see Monitor
// and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
// in the IAM User Guide.
//
// The regex used to validate this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
// also include underscores or any of the following characters: =,.@-
SourceIdentity *string `min:"2" type:"string"`
// The value of the NameID element in the Subject element of the SAML assertion. // The value of the NameID element in the Subject element of the SAML assertion.
Subject *string `type:"string"` Subject *string `type:"string"`
@ -1985,6 +2110,12 @@ func (s *AssumeRoleWithSAMLOutput) SetPackedPolicySize(v int64) *AssumeRoleWithS
return s return s
} }
// SetSourceIdentity sets the SourceIdentity field's value.
func (s *AssumeRoleWithSAMLOutput) SetSourceIdentity(v string) *AssumeRoleWithSAMLOutput {
s.SourceIdentity = &v
return s
}
// SetSubject sets the Subject field's value. // SetSubject sets the Subject field's value.
func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput { func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput {
s.Subject = &v s.Subject = &v
@ -2032,17 +2163,17 @@ type AssumeRoleWithWebIdentityInput struct {
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// in the IAM User Guide. // in the IAM User Guide.
// //
// The plain text that you use for both inline and managed session policies // The plaintext that you use for both inline and managed session policies can't
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII // exceed 2,048 characters. The JSON policy characters can be any ASCII character
// character from the space character to the end of the valid character list // from the space character to the end of the valid character list (\u0020 through
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
// and carriage return (\u000D) characters. // return (\u000D) characters.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
Policy *string `min:"1" type:"string"` Policy *string `min:"1" type:"string"`
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want // The Amazon Resource Names (ARNs) of the IAM managed policies that you want
@ -2050,16 +2181,16 @@ type AssumeRoleWithWebIdentityInput struct {
// as the role. // as the role.
// //
// This parameter is optional. You can provide up to 10 managed policy ARNs. // This parameter is optional. You can provide up to 10 managed policy ARNs.
// However, the plain text that you use for both inline and managed session // However, the plaintext that you use for both inline and managed session policies
// policies can't exceed 2,048 characters. For more information about ARNs, // can't exceed 2,048 characters. For more information about ARNs, see Amazon
// see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
// in the AWS General Reference. // in the AWS General Reference.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// Passing policies to this operation returns new temporary credentials. The // Passing policies to this operation returns new temporary credentials. The
// resulting session's permissions are the intersection of the role's identity-based // resulting session's permissions are the intersection of the role's identity-based
@ -2242,6 +2373,29 @@ type AssumeRoleWithWebIdentityOutput struct {
// in the AssumeRoleWithWebIdentity request. // in the AssumeRoleWithWebIdentity request.
Provider *string `type:"string"` Provider *string `type:"string"`
// The value of the source identity that is returned in the JSON web token (JWT)
// from the identity provider.
//
// You can require users to set a source identity value when they assume a role.
// You do this by using the sts:SourceIdentity condition key in a role trust
// policy. That way, actions that are taken with the role are associated with
// that user. After the source identity is set, the value cannot be changed.
// It is present in the request for all actions that are taken by the role and
// persists across chained role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining)
// sessions. You can configure your identity provider to use an attribute associated
// with your users, like user name or email, as the source identity when calling
// AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web
// token. To learn more about OIDC tokens and claims, see Using Tokens with
// User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html)
// in the Amazon Cognito Developer Guide. For more information about using source
// identity, see Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
// in the IAM User Guide.
//
// The regex used to validate this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
// also include underscores or any of the following characters: =,.@-
SourceIdentity *string `min:"2" type:"string"`
// The unique user identifier that is returned by the identity provider. This // The unique user identifier that is returned by the identity provider. This
// identifier is associated with the WebIdentityToken that was submitted with // identifier is associated with the WebIdentityToken that was submitted with
// the AssumeRoleWithWebIdentity call. The identifier is typically unique to // the AssumeRoleWithWebIdentity call. The identifier is typically unique to
@ -2291,6 +2445,12 @@ func (s *AssumeRoleWithWebIdentityOutput) SetProvider(v string) *AssumeRoleWithW
return s return s
} }
// SetSourceIdentity sets the SourceIdentity field's value.
func (s *AssumeRoleWithWebIdentityOutput) SetSourceIdentity(v string) *AssumeRoleWithWebIdentityOutput {
s.SourceIdentity = &v
return s
}
// SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value. // SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value.
func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput { func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput {
s.SubjectFromWebIdentityToken = &v s.SubjectFromWebIdentityToken = &v
@ -2682,17 +2842,17 @@ type GetFederationTokenInput struct {
// by the policy. These permissions are granted in addition to the permissions // by the policy. These permissions are granted in addition to the permissions
// that are granted by the session policies. // that are granted by the session policies.
// //
// The plain text that you use for both inline and managed session policies // The plaintext that you use for both inline and managed session policies can't
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII // exceed 2,048 characters. The JSON policy characters can be any ASCII character
// character from the space character to the end of the valid character list // from the space character to the end of the valid character list (\u0020 through
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
// and carriage return (\u000D) characters. // return (\u000D) characters.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
Policy *string `min:"1" type:"string"` Policy *string `min:"1" type:"string"`
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want // The Amazon Resource Names (ARNs) of the IAM managed policies that you want
@ -2727,9 +2887,9 @@ type GetFederationTokenInput struct {
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
PolicyArns []*PolicyDescriptorType `type:"list"` PolicyArns []*PolicyDescriptorType `type:"list"`
// A list of session tags. Each session tag consists of a key name and an associated // A list of session tags. Each session tag consists of a key name and an associated
@ -2737,17 +2897,17 @@ type GetFederationTokenInput struct {
// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) // in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
// in the IAM User Guide. // in the IAM User Guide.
// //
// This parameter is optional. You can pass up to 50 session tags. The plain // This parameter is optional. You can pass up to 50 session tags. The plaintext
// text session tag keys cant exceed 128 characters and the values cant // session tag keys cant exceed 128 characters and the values cant exceed
// exceed 256 characters. For these and additional limits, see IAM and STS Character // 256 characters. For these and additional limits, see IAM and STS Character
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
// in the IAM User Guide. // in the IAM User Guide.
// //
// An AWS conversion compresses the passed session policies and session tags // An AWS conversion compresses the passed session policies and session tags
// into a packed binary format that has a separate limit. Your request can fail // into a packed binary format that has a separate limit. Your request can fail
// for this limit even if your plain text meets the other requirements. The // for this limit even if your plaintext meets the other requirements. The PackedPolicySize
// PackedPolicySize response element indicates by percentage how close the policies // response element indicates by percentage how close the policies and tags
// and tags for your request are to the upper size limit. // for your request are to the upper size limit.
// //
// You can pass a session tag with the same key as a tag that is already attached // You can pass a session tag with the same key as a tag that is already attached
// to the user you are federating. When you do, session tags override a user // to the user you are federating. When you do, session tags override a user

View File

@ -1,5 +1,11 @@
# Change Log # Change Log
## [v1.60.0] - 2021-04-04
- #443 - @andrewsomething - apps: Support pagination.
- #442 - @andrewsomething - dbaas: Support restoring from a backup.
- #441 - @andrewsomething - k8s: Add URN method to KubernetesCluster.
## [v1.59.0] - 2021-03-29 ## [v1.59.0] - 2021-03-29
- #439 - @andrewsomething - vpcs: Support listing members of a VPC. - #439 - @andrewsomething - vpcs: Support listing members of a VPC.

View File

@ -74,6 +74,8 @@ type appRoot struct {
type appsRoot struct { type appsRoot struct {
Apps []*App `json:"apps"` Apps []*App `json:"apps"`
Links *Links `json:"links"`
Meta *Meta `json:"meta"`
} }
type deploymentRoot struct { type deploymentRoot struct {
@ -82,6 +84,8 @@ type deploymentRoot struct {
type deploymentsRoot struct { type deploymentsRoot struct {
Deployments []*Deployment `json:"deployments"` Deployments []*Deployment `json:"deployments"`
Links *Links `json:"links"`
Meta *Meta `json:"meta"`
} }
type appTierRoot struct { type appTierRoot struct {
@ -143,6 +147,11 @@ func (s *AppsServiceOp) Get(ctx context.Context, appID string) (*App, *Response,
// List apps. // List apps.
func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error) { func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error) {
path := appsBasePath path := appsBasePath
path, err := addOptions(path, opts)
if err != nil {
return nil, nil, err
}
req, err := s.client.NewRequest(ctx, http.MethodGet, path, nil) req, err := s.client.NewRequest(ctx, http.MethodGet, path, nil)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
@ -152,6 +161,15 @@ func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *R
if err != nil { if err != nil {
return nil, resp, err return nil, resp, err
} }
if l := root.Links; l != nil {
resp.Links = l
}
if m := root.Meta; m != nil {
resp.Meta = m
}
return root.Apps, resp, nil return root.Apps, resp, nil
} }
@ -219,6 +237,11 @@ func (s *AppsServiceOp) GetDeployment(ctx context.Context, appID, deploymentID s
// ListDeployments lists an app deployments. // ListDeployments lists an app deployments.
func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error) { func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error) {
path := fmt.Sprintf("%s/%s/deployments", appsBasePath, appID) path := fmt.Sprintf("%s/%s/deployments", appsBasePath, appID)
path, err := addOptions(path, opts)
if err != nil {
return nil, nil, err
}
req, err := s.client.NewRequest(ctx, http.MethodGet, path, nil) req, err := s.client.NewRequest(ctx, http.MethodGet, path, nil)
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
@ -228,6 +251,15 @@ func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts
if err != nil { if err != nil {
return nil, resp, err return nil, resp, err
} }
if l := root.Links; l != nil {
resp.Links = l
}
if m := root.Meta; m != nil {
resp.Meta = m
}
return root.Deployments, resp, nil return root.Deployments, resp, nil
} }

View File

@ -193,6 +193,12 @@ type DatabaseBackup struct {
SizeGigabytes float64 `json:"size_gigabytes,omitempty"` SizeGigabytes float64 `json:"size_gigabytes,omitempty"`
} }
// DatabaseBackupRestore contains information needed to restore a backup.
type DatabaseBackupRestore struct {
DatabaseName string `json:"database_name,omitempty"`
BackupCreatedAt string `json:"backup_created_at,omitempty"`
}
// DatabaseCreateRequest represents a request to create a database cluster // DatabaseCreateRequest represents a request to create a database cluster
type DatabaseCreateRequest struct { type DatabaseCreateRequest struct {
Name string `json:"name,omitempty"` Name string `json:"name,omitempty"`
@ -203,6 +209,7 @@ type DatabaseCreateRequest struct {
NumNodes int `json:"num_nodes,omitempty"` NumNodes int `json:"num_nodes,omitempty"`
PrivateNetworkUUID string `json:"private_network_uuid"` PrivateNetworkUUID string `json:"private_network_uuid"`
Tags []string `json:"tags,omitempty"` Tags []string `json:"tags,omitempty"`
BackupRestore *DatabaseBackupRestore `json:"backup_restore,omitempty"`
} }
// DatabaseResizeRequest can be used to initiate a database resize operation. // DatabaseResizeRequest can be used to initiate a database resize operation.

View File

@ -20,7 +20,7 @@ import (
) )
const ( const (
libraryVersion = "1.59.0" libraryVersion = "1.60.0"
defaultBaseURL = "https://api.digitalocean.com/" defaultBaseURL = "https://api.digitalocean.com/"
userAgent = "godo/" + libraryVersion userAgent = "godo/" + libraryVersion
mediaType = "application/json" mediaType = "application/json"

View File

@ -202,6 +202,11 @@ type KubernetesCluster struct {
UpdatedAt time.Time `json:"updated_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"`
} }
// URN returns the Kubernetes cluster's ID in the format of DigitalOcean URN.
func (kc KubernetesCluster) URN() string {
return ToURN("Kubernetes", kc.ID)
}
// KubernetesClusterUser represents a Kubernetes cluster user. // KubernetesClusterUser represents a Kubernetes cluster user.
type KubernetesClusterUser struct { type KubernetesClusterUser struct {
Username string `json:"username,omitempty"` Username string `json:"username,omitempty"`

View File

@ -2,7 +2,7 @@
Package client is a Go client for the Docker Engine API. Package client is a Go client for the Docker Engine API.
For more information about the Engine API, see the documentation: For more information about the Engine API, see the documentation:
https://docs.docker.com/engine/reference/api/ https://docs.docker.com/engine/api/
Usage Usage

View File

@ -1,5 +1,12 @@
# HCL Changelog # HCL Changelog
## v2.10.0 (April 20, 2021)
### Enhancements
* dynblock,hcldec: Using dynblock in conjunction with hcldec can now decode blocks with unknown dynamic for_each arguments as entirely unknown values ([#461](https://github.com/hashicorp/hcl/pull/461))
* hclsyntax: Some syntax errors during parsing of the inside of `${` ... `}` template interpolation sequences will now produce an extra hint message about the need to escape as `$${` when trying to include interpolation syntax for other languages like shell scripting, AWS IAM policies, etc. ([#462](https://github.com/hashicorp/hcl/pull/462))
## v2.9.1 (March 10, 2021) ## v2.9.1 (March 10, 2021)
### Bugs Fixed ### Bugs Fixed

View File

@ -413,13 +413,24 @@ Token:
close := p.Peek() close := p.Peek()
if close.Type != TokenTemplateSeqEnd { if close.Type != TokenTemplateSeqEnd {
if !p.recovery { if !p.recovery {
switch close.Type {
case TokenColon:
diags = append(diags, &hcl.Diagnostic{ diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError, Severity: hcl.DiagError,
Summary: "Extra characters after interpolation expression", Summary: "Extra characters after interpolation expression",
Detail: "Expected a closing brace to end the interpolation expression, but found extra characters.", Detail: "Template interpolation doesn't expect a colon at this location. Did you intend this to be a literal sequence to be processed as part of another language? If so, you can escape it by starting with \"$${\" instead of just \"${\".",
Subject: &close.Range, Subject: &close.Range,
Context: hcl.RangeBetween(startRange, close.Range).Ptr(), Context: hcl.RangeBetween(startRange, close.Range).Ptr(),
}) })
default:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
Summary: "Extra characters after interpolation expression",
Detail: "Expected a closing brace to end the interpolation expression, but found extra characters.\n\nThis can happen when you include interpolation syntax for another language, such as shell scripting, but forget to escape the interpolation start token. If this is an embedded sequence for another language, escape it by starting with \"$${\" instead of just \"${\".",
Subject: &close.Range,
Context: hcl.RangeBetween(startRange, close.Range).Ptr(),
})
}
} }
p.recover(TokenTemplateSeqEnd) p.recover(TokenTemplateSeqEnd)
} else { } else {

View File

@ -175,10 +175,9 @@ type CertificateSpec struct {
// oldest first if the number of revisions exceeds this number. If set, // oldest first if the number of revisions exceeds this number. If set,
// revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`), // revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`),
// revisions will not be garbage collected. Default value is `nil`. // revisions will not be garbage collected. Default value is `nil`.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:ExclusiveMaximum=false // +kubebuilder:validation:ExclusiveMaximum=false
// +optional // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Validated by the validating webhook.
} }
// CertificatePrivateKey contains configuration options for private keys // CertificatePrivateKey contains configuration options for private keys

View File

@ -33,6 +33,11 @@ const (
// Issued indicates that a CertificateRequest has been completed, and that // Issued indicates that a CertificateRequest has been completed, and that
// the `status.certificate` field is set. // the `status.certificate` field is set.
CertificateRequestReasonIssued = "Issued" CertificateRequestReasonIssued = "Issued"
// Denied is a Ready condition reason that indicates that a
// CertificateRequest has been denied, and the CertificateRequest will never
// be issued.
CertificateRequestReasonDenied = "Denied"
) )
// +genclient // +genclient

View File

@ -197,10 +197,9 @@ type CertificateSpec struct {
// oldest first if the number of revisions exceeds this number. If set, // oldest first if the number of revisions exceeds this number. If set,
// revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`), // revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`),
// revisions will not be garbage collected. Default value is `nil`. // revisions will not be garbage collected. Default value is `nil`.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:ExclusiveMaximum=false // +kubebuilder:validation:ExclusiveMaximum=false
// +optional // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Validated by the validating webhook.
} }
// CertificatePrivateKey contains configuration options for private keys // CertificatePrivateKey contains configuration options for private keys

View File

@ -33,6 +33,11 @@ const (
// Issued indicates that a CertificateRequest has been completed, and that // Issued indicates that a CertificateRequest has been completed, and that
// the `status.certificate` field is set. // the `status.certificate` field is set.
CertificateRequestReasonIssued = "Issued" CertificateRequestReasonIssued = "Issued"
// Denied is a Ready condition reason that indicates that a
// CertificateRequest has been denied, and the CertificateRequest will never
// be issued.
CertificateRequestReasonDenied = "Denied"
) )
// +genclient // +genclient

View File

@ -195,10 +195,9 @@ type CertificateSpec struct {
// oldest first if the number of revisions exceeds this number. If set, // oldest first if the number of revisions exceeds this number. If set,
// revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`), // revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`),
// revisions will not be garbage collected. Default value is `nil`. // revisions will not be garbage collected. Default value is `nil`.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:ExclusiveMaximum=false // +kubebuilder:validation:ExclusiveMaximum=false
// +optional // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Validated by the validating webhook.
} }
// CertificatePrivateKey contains configuration options for private keys // CertificatePrivateKey contains configuration options for private keys

View File

@ -33,6 +33,11 @@ const (
// Issued indicates that a CertificateRequest has been completed, and that // Issued indicates that a CertificateRequest has been completed, and that
// the `status.certificate` field is set. // the `status.certificate` field is set.
CertificateRequestReasonIssued = "Issued" CertificateRequestReasonIssued = "Issued"
// Denied is a Ready condition reason that indicates that a
// CertificateRequest has been denied, and the CertificateRequest will never
// be issued.
CertificateRequestReasonDenied = "Denied"
) )
// +genclient // +genclient

View File

@ -172,10 +172,9 @@ type CertificateSpec struct {
// oldest first if the number of revisions exceeds this number. If set, // oldest first if the number of revisions exceeds this number. If set,
// revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`), // revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`),
// revisions will not be garbage collected. Default value is `nil`. // revisions will not be garbage collected. Default value is `nil`.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:ExclusiveMaximum=false // +kubebuilder:validation:ExclusiveMaximum=false
// +optional // +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Validated by the validating webhook.
} }
// CertificatePrivateKey contains configuration options for private keys // CertificatePrivateKey contains configuration options for private keys

View File

@ -33,6 +33,11 @@ const (
// Issued indicates that a CertificateRequest has been completed, and that // Issued indicates that a CertificateRequest has been completed, and that
// the `status.certificate` field is set. // the `status.certificate` field is set.
CertificateRequestReasonIssued = "Issued" CertificateRequestReasonIssued = "Issued"
// Denied is a Ready condition reason that indicates that a
// CertificateRequest has been denied, and the CertificateRequest will never
// be issued.
CertificateRequestReasonDenied = "Denied"
) )
// +genclient // +genclient

View File

@ -8,6 +8,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws:go_default_library", "//vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/azure:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp:go_default_library", "//vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst:go_default_library", "//vendor/github.com/spotinst/spotinst-sdk-go/spotinst:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/client:go_default_library", "//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/client:go_default_library",

View File

@ -2,6 +2,7 @@ package ocean
import ( import (
"github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws" "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws"
"github.com/spotinst/spotinst-sdk-go/service/ocean/providers/azure"
"github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp" "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp"
"github.com/spotinst/spotinst-sdk-go/spotinst" "github.com/spotinst/spotinst-sdk-go/spotinst"
"github.com/spotinst/spotinst-sdk-go/spotinst/client" "github.com/spotinst/spotinst-sdk-go/spotinst/client"
@ -14,6 +15,7 @@ import (
type Service interface { type Service interface {
CloudProviderAWS() aws.Service CloudProviderAWS() aws.Service
CloudProviderGCP() gcp.Service CloudProviderGCP() gcp.Service
CloudProviderAzure() azure.Service
} }
type ServiceOp struct { type ServiceOp struct {
@ -43,3 +45,9 @@ func (s *ServiceOp) CloudProviderGCP() gcp.Service {
Client: s.Client, Client: s.Client,
} }
} }
func (s *ServiceOp) CloudProviderAzure() azure.Service {
return &azure.ServiceOp{
Client: s.Client,
}
}

View File

@ -3,14 +3,14 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = [
"cluster.go",
"cluster_ecs.go",
"common.go",
"instance.go", "instance.go",
"launch_spec.go", "launchspec.go",
"launch_spec_ecs.go", "launchspec_ecs.go",
"ocean.go", "rightsizing.go",
"ocean_ecs.go",
"right_sizing.go",
"service.go", "service.go",
"tag.go",
], ],
importmap = "k8s.io/kops/vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws", importmap = "k8s.io/kops/vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws",
importpath = "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws", importpath = "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/aws",

View File

@ -2,6 +2,8 @@ package aws
import "github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil" import "github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil"
// region Tag
type Tag struct { type Tag struct {
Key *string `json:"tagKey,omitempty"` Key *string `json:"tagKey,omitempty"`
Value *string `json:"tagValue,omitempty"` Value *string `json:"tagValue,omitempty"`
@ -29,3 +31,5 @@ func (o *Tag) SetValue(v *string) *Tag {
} }
return o return o
} }
// endregion

View File

@ -14,8 +14,7 @@ import (
type Service interface { type Service interface {
serviceKubernetes serviceKubernetes
serviceECS serviceECS
serviceCommon
ListResourceSuggestions(context.Context, *ListResourceSuggestionsInput) (*ListResourceSuggestionsOutput, error)
} }
type serviceKubernetes interface { type serviceKubernetes interface {
@ -62,6 +61,10 @@ type serviceECS interface {
RollECS(context.Context, *ECSRollClusterInput) (*ECSRollClusterOutput, error) RollECS(context.Context, *ECSRollClusterInput) (*ECSRollClusterOutput, error)
} }
type serviceCommon interface {
ListResourceSuggestions(context.Context, *ListResourceSuggestionsInput) (*ListResourceSuggestionsOutput, error)
}
type ServiceOp struct { type ServiceOp struct {
Client *client.Client Client *client.Client
} }

View File

@ -0,0 +1,21 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"cluster.go",
"common.go",
"nodegroup.go",
"service.go",
],
importmap = "k8s.io/kops/vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/azure",
importpath = "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/azure",
visibility = ["//visibility:public"],
deps = [
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/client:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/session:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil:go_default_library",
"//vendor/github.com/spotinst/spotinst-sdk-go/spotinst/util/uritemplates:go_default_library",
],
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,139 @@
package azure
import "github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil"
// region Tag
type Tag struct {
Key *string `json:"tagKey,omitempty"`
Value *string `json:"tagValue,omitempty"`
forceSendFields []string
nullFields []string
}
func (o Tag) MarshalJSON() ([]byte, error) {
type noMethod Tag
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *Tag) SetKey(v *string) *Tag {
if o.Key = v; o.Key == nil {
o.nullFields = append(o.nullFields, "Key")
}
return o
}
func (o *Tag) SetValue(v *string) *Tag {
if o.Value = v; o.Value == nil {
o.nullFields = append(o.nullFields, "Value")
}
return o
}
// endregion
// region OSDisk
type OSDisk struct {
SizeGB *int `json:"sizeGB,omitempty"`
Type *string `json:"type,omitempty"`
forceSendFields []string
nullFields []string
}
func (o OSDisk) MarshalJSON() ([]byte, error) {
type noMethod OSDisk
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *OSDisk) SetSizeGB(v *int) *OSDisk {
if o.SizeGB = v; o.SizeGB == nil {
o.nullFields = append(o.nullFields, "SizeGB")
}
return o
}
func (o *OSDisk) SetType(v *string) *OSDisk {
if o.Type = v; o.Type == nil {
o.nullFields = append(o.nullFields, "Type")
}
return o
}
// endregion
// region Label
type Label struct {
Key *string `json:"key,omitempty"`
Value *string `json:"value,omitempty"`
forceSendFields []string
nullFields []string
}
func (o Label) MarshalJSON() ([]byte, error) {
type noMethod Label
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *Label) SetKey(v *string) *Label {
if o.Key = v; o.Key == nil {
o.nullFields = append(o.nullFields, "Key")
}
return o
}
func (o *Label) SetValue(v *string) *Label {
if o.Value = v; o.Value == nil {
o.nullFields = append(o.nullFields, "Value")
}
return o
}
// endregion
// region Taint
type Taint struct {
Key *string `json:"key,omitempty"`
Value *string `json:"value,omitempty"`
Effect *string `json:"effect,omitempty"`
forceSendFields []string
nullFields []string
}
func (o Taint) MarshalJSON() ([]byte, error) {
type noMethod Taint
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *Taint) SetKey(v *string) *Taint {
if o.Key = v; o.Key == nil {
o.nullFields = append(o.nullFields, "Key")
}
return o
}
func (o *Taint) SetValue(v *string) *Taint {
if o.Value = v; o.Value == nil {
o.nullFields = append(o.nullFields, "Value")
}
return o
}
func (o *Taint) SetEffect(v *string) *Taint {
if o.Effect = v; o.Effect == nil {
o.nullFields = append(o.nullFields, "Effect")
}
return o
}
// endregion

View File

@ -0,0 +1,422 @@
package azure
import (
"context"
"encoding/json"
"io/ioutil"
"net/http"
"time"
"github.com/spotinst/spotinst-sdk-go/spotinst"
"github.com/spotinst/spotinst-sdk-go/spotinst/client"
"github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil"
"github.com/spotinst/spotinst-sdk-go/spotinst/util/uritemplates"
)
type VirtualNodeGroup struct {
ID *string `json:"id,omitempty"`
OceanID *string `json:"oceanId,omitempty"`
Name *string `json:"name,omitempty"`
Labels []*Label `json:"labels,omitempty"`
Taints []*Taint `json:"taints,omitempty"`
AutoScale *VirtualNodeGroupAutoScale `json:"autoScale,omitempty"`
ResourceLimits *VirtualNodeGroupResourceLimits `json:"resourceLimits,omitempty"`
LaunchSpecification *VirtualNodeGroupLaunchSpecification `json:"launchSpecification,omitempty"`
// Read-only fields.
CreatedAt *time.Time `json:"createdAt,omitempty"`
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
forceSendFields []string
nullFields []string
}
type VirtualNodeGroupResourceLimits struct {
MaxInstanceCount *int `json:"maxInstanceCount,omitempty"`
forceSendFields []string
nullFields []string
}
type VirtualNodeGroupAutoScale struct {
Headrooms []*VirtualNodeGroupHeadroom `json:"headrooms,omitempty"`
forceSendFields []string
nullFields []string
}
type VirtualNodeGroupHeadroom struct {
CPUPerUnit *int `json:"cpuPerUnit,omitempty"`
GPUPerUnit *int `json:"gpuPerUnit,omitempty"`
MemoryPerUnit *int `json:"memoryPerUnit,omitempty"`
NumOfUnits *int `json:"numOfUnits,omitempty"`
forceSendFields []string
nullFields []string
}
type VirtualNodeGroupLaunchSpecification struct {
OSDisk *OSDisk `json:"osDisk,omitempty"`
Tags []*Tag `json:"tags,omitempty"`
forceSendFields []string
nullFields []string
}
type ListVirtualNodeGroupsInput struct {
OceanID *string `json:"oceanId,omitempty"`
}
type ListVirtualNodeGroupsOutput struct {
VirtualNodeGroups []*VirtualNodeGroup `json:"virtualNodeGroups,omitempty"`
}
type CreateVirtualNodeGroupInput struct {
VirtualNodeGroup *VirtualNodeGroup `json:"virtualNodeGroup,omitempty"`
}
type CreateVirtualNodeGroupOutput struct {
VirtualNodeGroup *VirtualNodeGroup `json:"virtualNodeGroup,omitempty"`
}
type ReadVirtualNodeGroupInput struct {
VirtualNodeGroupID *string `json:"virtualNodeGroupId,omitempty"`
}
type ReadVirtualNodeGroupOutput struct {
VirtualNodeGroup *VirtualNodeGroup `json:"virtualNodeGroup,omitempty"`
}
type UpdateVirtualNodeGroupInput struct {
VirtualNodeGroup *VirtualNodeGroup `json:"virtualNodeGroup,omitempty"`
}
type UpdateVirtualNodeGroupOutput struct {
VirtualNodeGroup *VirtualNodeGroup `json:"virtualNodeGroup,omitempty"`
}
type DeleteVirtualNodeGroupInput struct {
VirtualNodeGroupID *string `json:"virtualNodeGroupId,omitempty"`
}
type DeleteVirtualNodeGroupOutput struct{}
func virtualNodeGroupFromJSON(in []byte) (*VirtualNodeGroup, error) {
b := new(VirtualNodeGroup)
if err := json.Unmarshal(in, b); err != nil {
return nil, err
}
return b, nil
}
func virtualNodeGroupsFromJSON(in []byte) ([]*VirtualNodeGroup, error) {
var rw client.Response
if err := json.Unmarshal(in, &rw); err != nil {
return nil, err
}
out := make([]*VirtualNodeGroup, len(rw.Response.Items))
if len(out) == 0 {
return out, nil
}
for i, rb := range rw.Response.Items {
b, err := virtualNodeGroupFromJSON(rb)
if err != nil {
return nil, err
}
out[i] = b
}
return out, nil
}
func virtualNodeGroupsFromHttpResponse(resp *http.Response) ([]*VirtualNodeGroup, error) {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return virtualNodeGroupsFromJSON(body)
}
func (s *ServiceOp) ListVirtualNodeGroups(ctx context.Context, input *ListVirtualNodeGroupsInput) (*ListVirtualNodeGroupsOutput, error) {
r := client.NewRequest(http.MethodGet, "/ocean/azure/k8s/virtualNodeGroup")
if input.OceanID != nil {
r.Params.Set("oceanId", spotinst.StringValue(input.OceanID))
}
resp, err := client.RequireOK(s.Client.Do(ctx, r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
vngs, err := virtualNodeGroupsFromHttpResponse(resp)
if err != nil {
return nil, err
}
return &ListVirtualNodeGroupsOutput{VirtualNodeGroups: vngs}, nil
}
func (s *ServiceOp) CreateVirtualNodeGroup(ctx context.Context, input *CreateVirtualNodeGroupInput) (*CreateVirtualNodeGroupOutput, error) {
r := client.NewRequest(http.MethodPost, "/ocean/azure/k8s/virtualNodeGroup")
r.Obj = input
resp, err := client.RequireOK(s.Client.Do(ctx, r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
vngs, err := virtualNodeGroupsFromHttpResponse(resp)
if err != nil {
return nil, err
}
output := new(CreateVirtualNodeGroupOutput)
if len(vngs) > 0 {
output.VirtualNodeGroup = vngs[0]
}
return output, nil
}
func (s *ServiceOp) ReadVirtualNodeGroup(ctx context.Context, input *ReadVirtualNodeGroupInput) (*ReadVirtualNodeGroupOutput, error) {
path, err := uritemplates.Expand("/ocean/azure/k8s/virtualNodeGroup/{virtualNodeGroupId}", uritemplates.Values{
"virtualNodeGroupId": spotinst.StringValue(input.VirtualNodeGroupID),
})
if err != nil {
return nil, err
}
r := client.NewRequest(http.MethodGet, path)
resp, err := client.RequireOK(s.Client.Do(ctx, r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
vngs, err := virtualNodeGroupsFromHttpResponse(resp)
if err != nil {
return nil, err
}
output := new(ReadVirtualNodeGroupOutput)
if len(vngs) > 0 {
output.VirtualNodeGroup = vngs[0]
}
return output, nil
}
func (s *ServiceOp) UpdateVirtualNodeGroup(ctx context.Context, input *UpdateVirtualNodeGroupInput) (*UpdateVirtualNodeGroupOutput, error) {
path, err := uritemplates.Expand("/ocean/azure/k8s/virtualNodeGroup/{virtualNodeGroupId}", uritemplates.Values{
"virtualNodeGroupId": spotinst.StringValue(input.VirtualNodeGroup.ID),
})
if err != nil {
return nil, err
}
// We do not need the ID anymore so let's drop it.
input.VirtualNodeGroup.ID = nil
r := client.NewRequest(http.MethodPut, path)
r.Obj = input
resp, err := client.RequireOK(s.Client.Do(ctx, r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
vngs, err := virtualNodeGroupsFromHttpResponse(resp)
if err != nil {
return nil, err
}
output := new(UpdateVirtualNodeGroupOutput)
if len(vngs) > 0 {
output.VirtualNodeGroup = vngs[0]
}
return output, nil
}
func (s *ServiceOp) DeleteVirtualNodeGroup(ctx context.Context, input *DeleteVirtualNodeGroupInput) (*DeleteVirtualNodeGroupOutput, error) {
path, err := uritemplates.Expand("/ocean/azure/k8s/virtualNodeGroup/{virtualNodeGroupId}", uritemplates.Values{
"virtualNodeGroupId": spotinst.StringValue(input.VirtualNodeGroupID),
})
if err != nil {
return nil, err
}
r := client.NewRequest(http.MethodDelete, path)
resp, err := client.RequireOK(s.Client.Do(ctx, r))
if err != nil {
return nil, err
}
defer resp.Body.Close()
return &DeleteVirtualNodeGroupOutput{}, nil
}
// region VirtualNodeGroup
func (o VirtualNodeGroup) MarshalJSON() ([]byte, error) {
type noMethod VirtualNodeGroup
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *VirtualNodeGroup) SetId(v *string) *VirtualNodeGroup {
if o.ID = v; o.ID == nil {
o.nullFields = append(o.nullFields, "ID")
}
return o
}
func (o *VirtualNodeGroup) SetOceanId(v *string) *VirtualNodeGroup {
if o.OceanID = v; o.OceanID == nil {
o.nullFields = append(o.nullFields, "OceanID")
}
return o
}
func (o *VirtualNodeGroup) SetName(v *string) *VirtualNodeGroup {
if o.Name = v; o.Name == nil {
o.nullFields = append(o.nullFields, "Name")
}
return o
}
func (o *VirtualNodeGroup) SetLabels(v []*Label) *VirtualNodeGroup {
if o.Labels = v; o.Labels == nil {
o.nullFields = append(o.nullFields, "Labels")
}
return o
}
func (o *VirtualNodeGroup) SetTaints(v []*Taint) *VirtualNodeGroup {
if o.Taints = v; o.Taints == nil {
o.nullFields = append(o.nullFields, "Taints")
}
return o
}
func (o *VirtualNodeGroup) SetResourceLimits(v *VirtualNodeGroupResourceLimits) *VirtualNodeGroup {
if o.ResourceLimits = v; o.ResourceLimits == nil {
o.nullFields = append(o.nullFields, "ResourceLimits")
}
return o
}
func (o *VirtualNodeGroup) SetLaunchSpecification(v *VirtualNodeGroupLaunchSpecification) *VirtualNodeGroup {
if o.LaunchSpecification = v; o.LaunchSpecification == nil {
o.nullFields = append(o.nullFields, "LaunchSpecification")
}
return o
}
func (o *VirtualNodeGroup) SetAutoScale(v *VirtualNodeGroupAutoScale) *VirtualNodeGroup {
if o.AutoScale = v; o.AutoScale == nil {
o.nullFields = append(o.nullFields, "AutoScale")
}
return o
}
// endregion
// region VirtualNodeGroupAutoScale
func (o VirtualNodeGroupAutoScale) MarshalJSON() ([]byte, error) {
type noMethod VirtualNodeGroupAutoScale
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *VirtualNodeGroupAutoScale) SetHeadrooms(v []*VirtualNodeGroupHeadroom) *VirtualNodeGroupAutoScale {
if o.Headrooms = v; o.Headrooms == nil {
o.nullFields = append(o.nullFields, "Headrooms")
}
return o
}
//endregion
// region VirtualNodeGroupHeadroom
func (o VirtualNodeGroupHeadroom) MarshalJSON() ([]byte, error) {
type noMethod VirtualNodeGroupHeadroom
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *VirtualNodeGroupHeadroom) SetCPUPerUnit(v *int) *VirtualNodeGroupHeadroom {
if o.CPUPerUnit = v; o.CPUPerUnit == nil {
o.nullFields = append(o.nullFields, "CPUPerUnit")
}
return o
}
func (o *VirtualNodeGroupHeadroom) SetGPUPerUnit(v *int) *VirtualNodeGroupHeadroom {
if o.GPUPerUnit = v; o.GPUPerUnit == nil {
o.nullFields = append(o.nullFields, "GPUPerUnit")
}
return o
}
func (o *VirtualNodeGroupHeadroom) SetMemoryPerUnit(v *int) *VirtualNodeGroupHeadroom {
if o.MemoryPerUnit = v; o.MemoryPerUnit == nil {
o.nullFields = append(o.nullFields, "MemoryPerUnit")
}
return o
}
func (o *VirtualNodeGroupHeadroom) SetNumOfUnits(v *int) *VirtualNodeGroupHeadroom {
if o.NumOfUnits = v; o.NumOfUnits == nil {
o.nullFields = append(o.nullFields, "NumOfUnits")
}
return o
}
// endregion
// region VirtualNodeGroupResourceLimits
func (o VirtualNodeGroupResourceLimits) MarshalJSON() ([]byte, error) {
type noMethod VirtualNodeGroupResourceLimits
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *VirtualNodeGroupResourceLimits) SetMaxInstanceCount(v *int) *VirtualNodeGroupResourceLimits {
if o.MaxInstanceCount = v; o.MaxInstanceCount == nil {
o.nullFields = append(o.nullFields, "MaxInstanceCount")
}
return o
}
// endregion
// region VirtualNodeGroupLaunchSpecification
func (o VirtualNodeGroupLaunchSpecification) MarshalJSON() ([]byte, error) {
type noMethod VirtualNodeGroupLaunchSpecification
raw := noMethod(o)
return jsonutil.MarshalJSON(raw, o.forceSendFields, o.nullFields)
}
func (o *VirtualNodeGroupLaunchSpecification) SetOSDisk(v *OSDisk) *VirtualNodeGroupLaunchSpecification {
if o.OSDisk = v; o.OSDisk == nil {
o.nullFields = append(o.nullFields, "OSDisk")
}
return o
}
func (o *VirtualNodeGroupLaunchSpecification) SetTags(v []*Tag) *VirtualNodeGroupLaunchSpecification {
if o.Tags = v; o.Tags == nil {
o.nullFields = append(o.nullFields, "Tags")
}
return o
}
// endregion

View File

@ -0,0 +1,43 @@
package azure
import (
"context"
"github.com/spotinst/spotinst-sdk-go/spotinst"
"github.com/spotinst/spotinst-sdk-go/spotinst/client"
"github.com/spotinst/spotinst-sdk-go/spotinst/session"
)
// Service provides the API operation methods for making requests to endpoints
// of the Spotinst API. See this package's package overview docs for details on
// the service.
type Service interface {
ListClusters(context.Context) (*ListClustersOutput, error)
CreateCluster(context.Context, *CreateClusterInput) (*CreateClusterOutput, error)
ReadCluster(context.Context, *ReadClusterInput) (*ReadClusterOutput, error)
UpdateCluster(context.Context, *UpdateClusterInput) (*UpdateClusterOutput, error)
DeleteCluster(context.Context, *DeleteClusterInput) (*DeleteClusterOutput, error)
ImportCluster(context.Context, *ImportClusterInput) (*ImportClusterOutput, error)
ListVirtualNodeGroups(context.Context, *ListVirtualNodeGroupsInput) (*ListVirtualNodeGroupsOutput, error)
CreateVirtualNodeGroup(context.Context, *CreateVirtualNodeGroupInput) (*CreateVirtualNodeGroupOutput, error)
ReadVirtualNodeGroup(context.Context, *ReadVirtualNodeGroupInput) (*ReadVirtualNodeGroupOutput, error)
UpdateVirtualNodeGroup(context.Context, *UpdateVirtualNodeGroupInput) (*UpdateVirtualNodeGroupOutput, error)
DeleteVirtualNodeGroup(context.Context, *DeleteVirtualNodeGroupInput) (*DeleteVirtualNodeGroupOutput, error)
}
type ServiceOp struct {
Client *client.Client
}
var _ Service = &ServiceOp{}
func New(sess *session.Session, cfgs ...*spotinst.Config) *ServiceOp {
cfg := &spotinst.Config{}
cfg.Merge(sess.Config)
cfg.Merge(cfgs...)
return &ServiceOp{
Client: client.New(sess.Config),
}
}

View File

@ -3,10 +3,10 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = [
"launch_spec.go", "cluster.go",
"ocean.go", "common.go",
"launchspec.go",
"service.go", "service.go",
"tag.go",
], ],
importmap = "k8s.io/kops/vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp", importmap = "k8s.io/kops/vendor/github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp",
importpath = "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp", importpath = "github.com/spotinst/spotinst-sdk-go/service/ocean/providers/gcp",

View File

@ -2,6 +2,8 @@ package gcp
import "github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil" import "github.com/spotinst/spotinst-sdk-go/spotinst/util/jsonutil"
// region Tag
type Tag struct { type Tag struct {
Key *string `json:"tagKey,omitempty"` Key *string `json:"tagKey,omitempty"`
Value *string `json:"tagValue,omitempty"` Value *string `json:"tagValue,omitempty"`
@ -29,3 +31,5 @@ func (o *Tag) SetValue(v *string) *Tag {
} }
return o return o
} }
// endregion

View File

@ -1,7 +1,7 @@
package spotinst package spotinst
// SDKVersion is the current version of the SDK. // SDKVersion is the current version of the SDK.
const SDKVersion = "1.84.0" const SDKVersion = "1.85.0"
// SDKName is the name of the SDK. // SDKName is the name of the SDK.
const SDKName = "spotinst-sdk-go" const SDKName = "spotinst-sdk-go"

View File

@ -111,6 +111,7 @@ var LengthFunc = function.New(&function.Spec{
Name: "collection", Name: "collection",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowDynamicType: true, AllowDynamicType: true,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (ret cty.Type, err error) { Type: func(args []cty.Value) (ret cty.Type, err error) {
@ -400,10 +401,12 @@ var ChunklistFunc = function.New(&function.Spec{
{ {
Name: "list", Name: "list",
Type: cty.List(cty.DynamicPseudoType), Type: cty.List(cty.DynamicPseudoType),
AllowMarked: true,
}, },
{ {
Name: "size", Name: "size",
Type: cty.Number, Type: cty.Number,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (cty.Type, error) { Type: func(args []cty.Value) (cty.Type, error) {
@ -411,35 +414,40 @@ var ChunklistFunc = function.New(&function.Spec{
}, },
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
listVal := args[0] listVal := args[0]
if !listVal.IsKnown() { sizeVal := args[1]
return cty.UnknownVal(retType), nil listVal, listMarks := listVal.Unmark()
} sizeVal, sizeMarks := sizeVal.Unmark()
// All return paths below must include .WithMarks(retMarks) to propagate
if listVal.LengthInt() == 0 { // the top-level marks into the return value. Deep marks inside the
return cty.ListValEmpty(listVal.Type()), nil // list will just propagate naturally because we treat those values
} // as opaque here.
retMarks := cty.NewValueMarks(listMarks, sizeMarks)
var size int var size int
err = gocty.FromCtyValue(args[1], &size) err = gocty.FromCtyValue(sizeVal, &size)
if err != nil { if err != nil {
return cty.NilVal, fmt.Errorf("invalid index: %s", err) return cty.NilVal, fmt.Errorf("invalid size: %s", err)
} }
if size < 0 { if size < 0 {
return cty.NilVal, errors.New("the size argument must be positive") return cty.NilVal, errors.New("the size argument must be positive")
} }
if listVal.LengthInt() == 0 {
return cty.ListValEmpty(listVal.Type()).WithMarks(retMarks), nil
}
output := make([]cty.Value, 0) output := make([]cty.Value, 0)
// if size is 0, returns a list made of the initial list // if size is 0, returns a list made of the initial list
if size == 0 { if size == 0 {
output = append(output, listVal) output = append(output, listVal)
return cty.ListVal(output), nil return cty.ListVal(output).WithMarks(retMarks), nil
} }
chunk := make([]cty.Value, 0) chunk := make([]cty.Value, 0)
l := args[0].LengthInt() l := listVal.LengthInt()
i := 0 i := 0
for it := listVal.ElementIterator(); it.Next(); { for it := listVal.ElementIterator(); it.Next(); {
@ -454,7 +462,7 @@ var ChunklistFunc = function.New(&function.Spec{
i++ i++
} }
return cty.ListVal(output), nil return cty.ListVal(output).WithMarks(retMarks), nil
}, },
}) })
@ -465,6 +473,7 @@ var FlattenFunc = function.New(&function.Spec{
{ {
Name: "list", Name: "list",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (cty.Type, error) { Type: func(args []cty.Value) (cty.Type, error) {
@ -477,7 +486,8 @@ var FlattenFunc = function.New(&function.Spec{
return cty.NilType, errors.New("can only flatten lists, sets and tuples") return cty.NilType, errors.New("can only flatten lists, sets and tuples")
} }
retVal, known := flattener(args[0]) // marks are attached to values, so ignore while determining type
retVal, _, known := flattener(args[0])
if !known { if !known {
return cty.DynamicPseudoType, nil return cty.DynamicPseudoType, nil
} }
@ -490,46 +500,58 @@ var FlattenFunc = function.New(&function.Spec{
}, },
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
inputList := args[0] inputList := args[0]
if inputList.LengthInt() == 0 {
return cty.EmptyTupleVal, nil if unmarked, marks := inputList.Unmark(); unmarked.LengthInt() == 0 {
return cty.EmptyTupleVal.WithMarks(marks), nil
} }
out, known := flattener(inputList) out, markses, known := flattener(inputList)
if !known { if !known {
return cty.UnknownVal(retType), nil return cty.UnknownVal(retType).WithMarks(markses...), nil
} }
return cty.TupleVal(out), nil return cty.TupleVal(out).WithMarks(markses...), nil
}, },
}) })
// Flatten until it's not a cty.List, and return whether the value is known. // Flatten until it's not a cty.List, and return whether the value is known.
// We can flatten lists with unknown values, as long as they are not // We can flatten lists with unknown values, as long as they are not
// lists themselves. // lists themselves.
func flattener(flattenList cty.Value) ([]cty.Value, bool) { func flattener(flattenList cty.Value) ([]cty.Value, []cty.ValueMarks, bool) {
var markses []cty.ValueMarks
flattenList, flattenListMarks := flattenList.Unmark()
if len(flattenListMarks) > 0 {
markses = append(markses, flattenListMarks)
}
if !flattenList.Length().IsKnown() { if !flattenList.Length().IsKnown() {
// If we don't know the length of what we're flattening then we can't // If we don't know the length of what we're flattening then we can't
// predict the length of our result yet either. // predict the length of our result yet either.
return nil, false return nil, markses, false
} }
out := make([]cty.Value, 0) out := make([]cty.Value, 0)
isKnown := true
for it := flattenList.ElementIterator(); it.Next(); { for it := flattenList.ElementIterator(); it.Next(); {
_, val := it.Element() _, val := it.Element()
if val.Type().IsListType() || val.Type().IsSetType() || val.Type().IsTupleType() { if val.Type().IsListType() || val.Type().IsSetType() || val.Type().IsTupleType() {
if !val.IsKnown() { if !val.IsKnown() {
return out, false isKnown = false
_, unknownMarks := val.Unmark()
markses = append(markses, unknownMarks)
continue
} }
res, known := flattener(val) res, resMarks, known := flattener(val)
if !known { markses = append(markses, resMarks...)
return res, known if known {
}
out = append(out, res...) out = append(out, res...)
} else {
isKnown = false
}
} else { } else {
out = append(out, val) out = append(out, val)
} }
} }
return out, true return out, markses, isKnown
} }
// KeysFunc is a function that takes a map and returns a sorted list of the map keys. // KeysFunc is a function that takes a map and returns a sorted list of the map keys.
@ -539,6 +561,7 @@ var KeysFunc = function.New(&function.Spec{
Name: "inputMap", Name: "inputMap",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowUnknown: true, AllowUnknown: true,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (cty.Type, error) { Type: func(args []cty.Value) (cty.Type, error) {
@ -563,7 +586,11 @@ var KeysFunc = function.New(&function.Spec{
} }
}, },
Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) {
m := args[0] // We must unmark the value before we can use ElementIterator on it, and
// then re-apply the same marks (possibly none) when we return. Since we
// don't mark map keys, we can throw away any nested marks, which would
// only apply to values.
m, marks := args[0].Unmark()
var keys []cty.Value var keys []cty.Value
switch { switch {
@ -576,28 +603,28 @@ var KeysFunc = function.New(&function.Spec{
} }
sort.Strings(names) // same ordering guaranteed by cty's ElementIterator sort.Strings(names) // same ordering guaranteed by cty's ElementIterator
if len(names) == 0 { if len(names) == 0 {
return cty.EmptyTupleVal, nil return cty.EmptyTupleVal.WithMarks(marks), nil
} }
keys = make([]cty.Value, len(names)) keys = make([]cty.Value, len(names))
for i, name := range names { for i, name := range names {
keys[i] = cty.StringVal(name) keys[i] = cty.StringVal(name)
} }
return cty.TupleVal(keys), nil return cty.TupleVal(keys).WithMarks(marks), nil
default: default:
if !m.IsKnown() { if !m.IsKnown() {
return cty.UnknownVal(retType), nil return cty.UnknownVal(retType).WithMarks(marks), nil
} }
// cty guarantees that ElementIterator will iterate in lexicographical // cty guarantees that ElementIterator will iterate in lexicographical
// order by key. // order by key.
for it := args[0].ElementIterator(); it.Next(); { for it := m.ElementIterator(); it.Next(); {
k, _ := it.Element() k, _ := it.Element()
keys = append(keys, k) keys = append(keys, k)
} }
if len(keys) == 0 { if len(keys) == 0 {
return cty.ListValEmpty(cty.String), nil return cty.ListValEmpty(cty.String).WithMarks(marks), nil
} }
return cty.ListVal(keys), nil return cty.ListVal(keys).WithMarks(marks), nil
} }
}, },
}) })
@ -608,14 +635,17 @@ var LookupFunc = function.New(&function.Spec{
{ {
Name: "inputMap", Name: "inputMap",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
{ {
Name: "key", Name: "key",
Type: cty.String, Type: cty.String,
AllowMarked: true,
}, },
{ {
Name: "default", Name: "default",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (ret cty.Type, err error) { Type: func(args []cty.Value) (ret cty.Type, err error) {
@ -627,7 +657,8 @@ var LookupFunc = function.New(&function.Spec{
return cty.DynamicPseudoType, nil return cty.DynamicPseudoType, nil
} }
key := args[1].AsString() keyVal, _ := args[1].Unmark()
key := keyVal.AsString()
if ty.HasAttribute(key) { if ty.HasAttribute(key) {
return args[0].GetAttr(key).Type(), nil return args[0].GetAttr(key).Type(), nil
} else if len(args) == 3 { } else if len(args) == 3 {
@ -649,28 +680,39 @@ var LookupFunc = function.New(&function.Spec{
} }
}, },
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
// leave default value marked
defaultVal := args[2] defaultVal := args[2]
mapVar := args[0] var markses []cty.ValueMarks
lookupKey := args[1].AsString()
// unmark collection, retain marks to reapply later
mapVar, mapMarks := args[0].Unmark()
markses = append(markses, mapMarks)
// include marks on the key in the result
keyVal, keyMarks := args[1].Unmark()
if len(keyMarks) > 0 {
markses = append(markses, keyMarks)
}
lookupKey := keyVal.AsString()
if !mapVar.IsWhollyKnown() { if !mapVar.IsWhollyKnown() {
return cty.UnknownVal(retType), nil return cty.UnknownVal(retType).WithMarks(markses...), nil
} }
if mapVar.Type().IsObjectType() { if mapVar.Type().IsObjectType() {
if mapVar.Type().HasAttribute(lookupKey) { if mapVar.Type().HasAttribute(lookupKey) {
return mapVar.GetAttr(lookupKey), nil return mapVar.GetAttr(lookupKey).WithMarks(markses...), nil
} }
} else if mapVar.HasIndex(cty.StringVal(lookupKey)) == cty.True { } else if mapVar.HasIndex(cty.StringVal(lookupKey)) == cty.True {
return mapVar.Index(cty.StringVal(lookupKey)), nil return mapVar.Index(cty.StringVal(lookupKey)).WithMarks(markses...), nil
} }
defaultVal, err = convert.Convert(defaultVal, retType) defaultVal, err = convert.Convert(defaultVal, retType)
if err != nil { if err != nil {
return cty.NilVal, err return cty.NilVal, err
} }
return defaultVal, nil return defaultVal.WithMarks(markses...), nil
}, },
}) })
@ -687,6 +729,7 @@ var MergeFunc = function.New(&function.Spec{
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowDynamicType: true, AllowDynamicType: true,
AllowNull: true, AllowNull: true,
AllowMarked: true,
}, },
Type: func(args []cty.Value) (cty.Type, error) { Type: func(args []cty.Value) (cty.Type, error) {
// empty args is accepted, so assume an empty object since we have no // empty args is accepted, so assume an empty object since we have no
@ -712,6 +755,8 @@ var MergeFunc = function.New(&function.Spec{
if !ty.IsMapType() && !ty.IsObjectType() { if !ty.IsMapType() && !ty.IsObjectType() {
return cty.NilType, fmt.Errorf("arguments must be maps or objects, got %#v", ty.FriendlyName()) return cty.NilType, fmt.Errorf("arguments must be maps or objects, got %#v", ty.FriendlyName())
} }
// marks are attached to values, so ignore while determining type
arg, _ = arg.Unmark()
switch { switch {
case ty.IsObjectType() && !arg.IsNull(): case ty.IsObjectType() && !arg.IsNull():
@ -761,11 +806,16 @@ var MergeFunc = function.New(&function.Spec{
}, },
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
outputMap := make(map[string]cty.Value) outputMap := make(map[string]cty.Value)
var markses []cty.ValueMarks // remember any marked maps/objects we find
for _, arg := range args { for _, arg := range args {
if arg.IsNull() { if arg.IsNull() {
continue continue
} }
arg, argMarks := arg.Unmark()
if len(argMarks) > 0 {
markses = append(markses, argMarks)
}
for it := arg.ElementIterator(); it.Next(); { for it := arg.ElementIterator(); it.Next(); {
k, v := it.Element() k, v := it.Element()
outputMap[k.AsString()] = v outputMap[k.AsString()] = v
@ -775,11 +825,11 @@ var MergeFunc = function.New(&function.Spec{
switch { switch {
case retType.IsMapType(): case retType.IsMapType():
if len(outputMap) == 0 { if len(outputMap) == 0 {
return cty.MapValEmpty(retType.ElementType()), nil return cty.MapValEmpty(retType.ElementType()).WithMarks(markses...), nil
} }
return cty.MapVal(outputMap), nil return cty.MapVal(outputMap).WithMarks(markses...), nil
case retType.IsObjectType(), retType.Equals(cty.DynamicPseudoType): case retType.IsObjectType(), retType.Equals(cty.DynamicPseudoType):
return cty.ObjectVal(outputMap), nil return cty.ObjectVal(outputMap).WithMarks(markses...), nil
default: default:
panic(fmt.Sprintf("unexpected return type: %#v", retType)) panic(fmt.Sprintf("unexpected return type: %#v", retType))
} }
@ -838,6 +888,7 @@ var SetProductFunc = function.New(&function.Spec{
VarParam: &function.Parameter{ VarParam: &function.Parameter{
Name: "sets", Name: "sets",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
Type: func(args []cty.Value) (retType cty.Type, err error) { Type: func(args []cty.Value) (retType cty.Type, err error) {
if len(args) < 2 { if len(args) < 2 {
@ -881,11 +932,15 @@ var SetProductFunc = function.New(&function.Spec{
}, },
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
ety := retType.ElementType() ety := retType.ElementType()
var retMarks cty.ValueMarks
total := 1 total := 1
for _, arg := range args { for _, arg := range args {
arg, marks := arg.Unmark()
retMarks = cty.NewValueMarks(retMarks, marks)
if !arg.Length().IsKnown() { if !arg.Length().IsKnown() {
return cty.UnknownVal(retType), nil return cty.UnknownVal(retType).Mark(marks), nil
} }
// Because of our type checking function, we are guaranteed that // Because of our type checking function, we are guaranteed that
@ -898,9 +953,9 @@ var SetProductFunc = function.New(&function.Spec{
// If any of the arguments was an empty collection then our result // If any of the arguments was an empty collection then our result
// is also an empty collection, which we'll short-circuit here. // is also an empty collection, which we'll short-circuit here.
if retType.IsListType() { if retType.IsListType() {
return cty.ListValEmpty(ety), nil return cty.ListValEmpty(ety).Mark(retMarks), nil
} }
return cty.SetValEmpty(ety), nil return cty.SetValEmpty(ety).Mark(retMarks), nil
} }
subEtys := ety.TupleElementTypes() subEtys := ety.TupleElementTypes()
@ -911,6 +966,8 @@ var SetProductFunc = function.New(&function.Spec{
s := 0 s := 0
argVals := make([][]cty.Value, len(args)) argVals := make([][]cty.Value, len(args))
for i, arg := range args { for i, arg := range args {
// We've already stored the marks in retMarks
arg, _ := arg.Unmark()
argVals[i] = arg.AsValueSlice() argVals[i] = arg.AsValueSlice()
} }
@ -950,9 +1007,9 @@ var SetProductFunc = function.New(&function.Spec{
} }
if retType.IsListType() { if retType.IsListType() {
return cty.ListVal(productVals), nil return cty.ListVal(productVals).WithMarks(retMarks), nil
} }
return cty.SetVal(productVals), nil return cty.SetVal(productVals).WithMarks(retMarks), nil
}, },
}) })
@ -1080,6 +1137,7 @@ var ValuesFunc = function.New(&function.Spec{
{ {
Name: "values", Name: "values",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (ret cty.Type, err error) { Type: func(args []cty.Value) (ret cty.Type, err error) {
@ -1112,6 +1170,13 @@ var ValuesFunc = function.New(&function.Spec{
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
mapVar := args[0] mapVar := args[0]
// We must unmark the value before we can use ElementIterator on it,
// and then re-apply the same marks (possibly none) when we return.
// (We leave the inner values just as they are, because we won't be
// doing anything with them aside from copying them verbatim into the
// result, marks and all.)
mapVar, marks := mapVar.Unmark()
// We can just iterate the map/object value here because cty guarantees // We can just iterate the map/object value here because cty guarantees
// that these types always iterate in key lexicographical order. // that these types always iterate in key lexicographical order.
var values []cty.Value var values []cty.Value
@ -1120,13 +1185,15 @@ var ValuesFunc = function.New(&function.Spec{
values = append(values, val) values = append(values, val)
} }
// All of the return paths must include .WithMarks(marks) so that we
// will preserve the markings of the overall map/object we were given.
if retType.IsTupleType() { if retType.IsTupleType() {
return cty.TupleVal(values), nil return cty.TupleVal(values).WithMarks(marks), nil
} }
if len(values) == 0 { if len(values) == 0 {
return cty.ListValEmpty(retType.ElementType()), nil return cty.ListValEmpty(retType.ElementType()).WithMarks(marks), nil
} }
return cty.ListVal(values), nil return cty.ListVal(values).WithMarks(marks), nil
}, },
}) })
@ -1137,10 +1204,12 @@ var ZipmapFunc = function.New(&function.Spec{
{ {
Name: "keys", Name: "keys",
Type: cty.List(cty.String), Type: cty.List(cty.String),
AllowMarked: true,
}, },
{ {
Name: "values", Name: "values",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
}, },
Type: func(args []cty.Value) (ret cty.Type, err error) { Type: func(args []cty.Value) (ret cty.Type, err error) {
@ -1158,6 +1227,13 @@ var ZipmapFunc = function.New(&function.Spec{
return cty.DynamicPseudoType, nil return cty.DynamicPseudoType, nil
} }
// NOTE: Marking of the keys list can't be represented in the
// result type, so the tuple type here will disclose the keys.
// This is unfortunate but is a common compromise with dynamic
// return types; the result from Impl will still reflect the marks
// from the keys list, so a mark-using caller should look out for
// that if it's important for their use-case.
keys, _ := keys.Unmark()
keysRaw := keys.AsValueSlice() keysRaw := keys.AsValueSlice()
valueTypesRaw := valuesTy.TupleElementTypes() valueTypesRaw := valuesTy.TupleElementTypes()
if len(keysRaw) != len(valueTypesRaw) { if len(keysRaw) != len(valueTypesRaw) {
@ -1165,6 +1241,7 @@ var ZipmapFunc = function.New(&function.Spec{
} }
atys := make(map[string]cty.Type, len(valueTypesRaw)) atys := make(map[string]cty.Type, len(valueTypesRaw))
for i, keyVal := range keysRaw { for i, keyVal := range keysRaw {
keyVal, _ = keyVal.Unmark()
if keyVal.IsNull() { if keyVal.IsNull() {
return cty.NilType, fmt.Errorf("keys list has null value at index %d", i) return cty.NilType, fmt.Errorf("keys list has null value at index %d", i)
} }
@ -1180,11 +1257,17 @@ var ZipmapFunc = function.New(&function.Spec{
Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) {
keys := args[0] keys := args[0]
values := args[1] values := args[1]
keys, keysMarks := keys.Unmark()
values, valuesMarks := values.Unmark()
// All of our return paths must pass through the merged marks from
// both the keys and the values, if any, using .WithMarks(retMarks)
retMarks := cty.NewValueMarks(keysMarks, valuesMarks)
if !keys.IsWhollyKnown() { if !keys.IsWhollyKnown() {
// Unknown map keys and object attributes are not supported, so // Unknown map keys and object attributes are not supported, so
// our entire result must be unknown in this case. // our entire result must be unknown in this case.
return cty.UnknownVal(retType), nil return cty.UnknownVal(retType).WithMarks(retMarks), nil
} }
// both keys and values are guaranteed to be shallowly-known here, // both keys and values are guaranteed to be shallowly-known here,
@ -1198,19 +1281,25 @@ var ZipmapFunc = function.New(&function.Spec{
i := 0 i := 0
for it := keys.ElementIterator(); it.Next(); { for it := keys.ElementIterator(); it.Next(); {
_, v := it.Element() _, v := it.Element()
v, vMarks := v.Unmark()
val := values.Index(cty.NumberIntVal(int64(i))) val := values.Index(cty.NumberIntVal(int64(i)))
output[v.AsString()] = val output[v.AsString()] = val
// We also need to accumulate the individual key marks on the
// returned map, because keys can't carry marks on their own.
retMarks = cty.NewValueMarks(retMarks, vMarks)
i++ i++
} }
switch { switch {
case retType.IsMapType(): case retType.IsMapType():
if len(output) == 0 { if len(output) == 0 {
return cty.MapValEmpty(retType.ElementType()), nil return cty.MapValEmpty(retType.ElementType()).WithMarks(retMarks), nil
} }
return cty.MapVal(output), nil return cty.MapVal(output).WithMarks(retMarks), nil
case retType.IsObjectType(): case retType.IsObjectType():
return cty.ObjectVal(output), nil return cty.ObjectVal(output).WithMarks(retMarks), nil
default: default:
// Should never happen because the type-check function should've // Should never happen because the type-check function should've
// caught any other case. // caught any other case.

View File

@ -13,6 +13,7 @@ var ConcatFunc = function.New(&function.Spec{
VarParam: &function.Parameter{ VarParam: &function.Parameter{
Name: "seqs", Name: "seqs",
Type: cty.DynamicPseudoType, Type: cty.DynamicPseudoType,
AllowMarked: true,
}, },
Type: func(args []cty.Value) (ret cty.Type, err error) { Type: func(args []cty.Value) (ret cty.Type, err error) {
if len(args) == 0 { if len(args) == 0 {
@ -75,6 +76,7 @@ var ConcatFunc = function.New(&function.Spec{
// given values will be lists and that they will either be of // given values will be lists and that they will either be of
// retType or of something we can convert to retType. // retType or of something we can convert to retType.
vals := make([]cty.Value, 0, len(args)) vals := make([]cty.Value, 0, len(args))
var markses []cty.ValueMarks // remember any marked lists we find
for i, list := range args { for i, list := range args {
list, err = convert.Convert(list, retType) list, err = convert.Convert(list, retType)
if err != nil { if err != nil {
@ -83,6 +85,11 @@ var ConcatFunc = function.New(&function.Spec{
return cty.NilVal, function.NewArgError(i, err) return cty.NilVal, function.NewArgError(i, err)
} }
list, listMarks := list.Unmark()
if len(listMarks) > 0 {
markses = append(markses, listMarks)
}
it := list.ElementIterator() it := list.ElementIterator()
for it.Next() { for it.Next() {
_, v := it.Element() _, v := it.Element()
@ -90,10 +97,10 @@ var ConcatFunc = function.New(&function.Spec{
} }
} }
if len(vals) == 0 { if len(vals) == 0 {
return cty.ListValEmpty(retType.ElementType()), nil return cty.ListValEmpty(retType.ElementType()).WithMarks(markses...), nil
} }
return cty.ListVal(vals), nil return cty.ListVal(vals).WithMarks(markses...), nil
case retType.IsTupleType(): case retType.IsTupleType():
// If retType is a tuple type then we could have a mixture of // If retType is a tuple type then we could have a mixture of
// lists and tuples but we know they all have known values // lists and tuples but we know they all have known values
@ -101,8 +108,14 @@ var ConcatFunc = function.New(&function.Spec{
// concatenating them all together will produce a tuple of // concatenating them all together will produce a tuple of
// retType because of the work we did in the Type function above. // retType because of the work we did in the Type function above.
vals := make([]cty.Value, 0, len(args)) vals := make([]cty.Value, 0, len(args))
var markses []cty.ValueMarks // remember any marked seqs we find
for _, seq := range args { for _, seq := range args {
seq, seqMarks := seq.Unmark()
if len(seqMarks) > 0 {
markses = append(markses, seqMarks)
}
// Both lists and tuples support ElementIterator, so this is easy. // Both lists and tuples support ElementIterator, so this is easy.
it := seq.ElementIterator() it := seq.ElementIterator()
for it.Next() { for it.Next() {
@ -111,7 +124,7 @@ var ConcatFunc = function.New(&function.Spec{
} }
} }
return cty.TupleVal(vals), nil return cty.TupleVal(vals).WithMarks(markses...), nil
default: default:
// should never happen if Type is working correctly above // should never happen if Type is working correctly above
panic("unsupported return type") panic("unsupported return type")

View File

@ -27,14 +27,32 @@ type marker struct {
type ValueMarks map[interface{}]struct{} type ValueMarks map[interface{}]struct{}
// NewValueMarks constructs a new ValueMarks set with the given mark values. // NewValueMarks constructs a new ValueMarks set with the given mark values.
//
// If any of the arguments are already ValueMarks values then they'll be merged
// into the result, rather than used directly as individual marks.
func NewValueMarks(marks ...interface{}) ValueMarks { func NewValueMarks(marks ...interface{}) ValueMarks {
if len(marks) == 0 { if len(marks) == 0 {
return nil return nil
} }
ret := make(ValueMarks, len(marks)) ret := make(ValueMarks, len(marks))
for _, v := range marks { for _, v := range marks {
if vm, ok := v.(ValueMarks); ok {
// Constructing a new ValueMarks with an existing ValueMarks
// implements a merge operation. (This can cause our result to
// have a larger size than we expected, but that's okay.)
for v := range vm {
ret[v] = struct{}{} ret[v] = struct{}{}
} }
continue
}
ret[v] = struct{}{}
}
if len(ret) == 0 {
// If we were merging ValueMarks values together and they were all
// empty then we'll avoid returning a zero-length map and return a
// nil instead, as is conventional.
return nil
}
return ret return ret
} }
@ -180,6 +198,9 @@ func (val Value) Mark(mark interface{}) Value {
for k, v := range mr.marks { for k, v := range mr.marks {
newMarker.marks[k] = v newMarker.marks[k] = v
} }
// unwrap the inner marked value, so we don't get multiple layers
// of marking.
newMarker.realV = mr.realV
} else { } else {
// It's not a marker yet, so we're creating the first mark. // It's not a marker yet, so we're creating the first mark.
newMarker.marks = make(ValueMarks, 1) newMarker.marks = make(ValueMarks, 1)

View File

@ -492,18 +492,23 @@ func (val Value) RawEquals(other Value) bool {
case ty.IsMapType(): case ty.IsMapType():
ety := ty.typeImpl.(typeMap).ElementTypeT ety := ty.typeImpl.(typeMap).ElementTypeT
if len(val.v.(map[string]interface{})) == len(other.v.(map[string]interface{})) { if !val.HasSameMarks(other) {
for k := range val.v.(map[string]interface{}) { return false
if _, ok := other.v.(map[string]interface{})[k]; !ok { }
valUn, _ := val.Unmark()
otherUn, _ := other.Unmark()
if len(valUn.v.(map[string]interface{})) == len(otherUn.v.(map[string]interface{})) {
for k := range valUn.v.(map[string]interface{}) {
if _, ok := otherUn.v.(map[string]interface{})[k]; !ok {
return false return false
} }
lhs := Value{ lhs := Value{
ty: ety, ty: ety,
v: val.v.(map[string]interface{})[k], v: valUn.v.(map[string]interface{})[k],
} }
rhs := Value{ rhs := Value{
ty: ety, ty: ety,
v: other.v.(map[string]interface{})[k], v: otherUn.v.(map[string]interface{})[k],
} }
eq := lhs.RawEquals(rhs) eq := lhs.RawEquals(rhs)
if !eq { if !eq {

View File

@ -82,7 +82,7 @@ multiply:
BGE loop BGE loop
bytes_between_0_and_15: bytes_between_0_and_15:
CMP $0, R5 CMP R5, $0
BEQ done BEQ done
MOVD $0, R16 // h0 MOVD $0, R16 // h0
MOVD $0, R17 // h1 MOVD $0, R17 // h1
@ -122,7 +122,7 @@ just1:
// Exactly 8 // Exactly 8
MOVD (R4), R16 MOVD (R4), R16
CMP $0, R17 CMP R17, $0
// Check if we've already set R17; if not // Check if we've already set R17; if not
// set 1 to indicate end of msg. // set 1 to indicate end of msg.
@ -151,7 +151,7 @@ less4:
ADD $2, R4 ADD $2, R4
less2: less2:
CMP $0, R5 CMP R5, $0
BEQ insert1 BEQ insert1
MOVBZ (R4), R21 MOVBZ (R4), R21
SLD R22, R21, R21 SLD R22, R21, R21
@ -168,7 +168,7 @@ carry:
// Add new values to h0, h1, h2 // Add new values to h0, h1, h2
ADDC R16, R8 ADDC R16, R8
ADDE R17, R9 ADDE R17, R9
ADDE $0, R10 ADDZE R10, R10
MOVD $16, R5 MOVD $16, R5
ADD R5, R4 ADD R5, R4
BR multiply BR multiply

View File

@ -38,7 +38,7 @@ RUN make
RUN make install RUN make install
WORKDIR /root WORKDIR /root
RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz RUN wget https://curl.se/download/curl-7.45.0.tar.gz
RUN tar -zxvf curl-7.45.0.tar.gz RUN tar -zxvf curl-7.45.0.tar.gz
WORKDIR /root/curl-7.45.0 WORKDIR /root/curl-7.45.0
RUN ./configure --with-ssl --with-nghttp2=/usr/local RUN ./configure --with-ssl --with-nghttp2=/usr/local

View File

@ -50,6 +50,7 @@ go_library(
"sys_linux_mips64.go", "sys_linux_mips64.go",
"sys_linux_mips64le.go", "sys_linux_mips64le.go",
"sys_linux_mipsle.go", "sys_linux_mipsle.go",
"sys_linux_ppc.go",
"sys_linux_ppc64.go", "sys_linux_ppc64.go",
"sys_linux_ppc64le.go", "sys_linux_ppc64le.go",
"sys_linux_riscv64.go", "sys_linux_riscv64.go",
@ -82,6 +83,7 @@ go_library(
"zsys_linux_mips64.go", "zsys_linux_mips64.go",
"zsys_linux_mips64le.go", "zsys_linux_mips64le.go",
"zsys_linux_mipsle.go", "zsys_linux_mipsle.go",
"zsys_linux_ppc.go",
"zsys_linux_ppc64.go", "zsys_linux_ppc64.go",
"zsys_linux_ppc64le.go", "zsys_linux_ppc64le.go",
"zsys_linux_riscv64.go", "zsys_linux_riscv64.go",

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
//go:build (arm || mips || mipsle || 386) && linux //go:build (arm || mips || mipsle || 386 || ppc) && linux
// +build arm mips mipsle 386 // +build arm mips mipsle 386 ppc
// +build linux // +build linux
package socket package socket

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
//go:build (arm || mips || mipsle || 386) && (darwin || dragonfly || freebsd || linux || netbsd || openbsd) //go:build (arm || mips || mipsle || 386 || ppc) && (darwin || dragonfly || freebsd || linux || netbsd || openbsd)
// +build arm mips mipsle 386 // +build arm mips mipsle 386 ppc
// +build darwin dragonfly freebsd linux netbsd openbsd // +build darwin dragonfly freebsd linux netbsd openbsd
package socket package socket

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
//go:build (arm || mips || mipsle || 386) && linux //go:build (arm || mips || mipsle || 386 || ppc) && linux
// +build arm mips mipsle 386 // +build arm mips mipsle 386 ppc
// +build linux // +build linux
package socket package socket

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
package socket package socket
@ -15,4 +15,7 @@ const (
sysAF_INET6 = unix.AF_INET6 sysAF_INET6 = unix.AF_INET6
sysSOCK_RAW = unix.SOCK_RAW sysSOCK_RAW = unix.SOCK_RAW
sizeofSockaddrInet4 = unix.SizeofSockaddrInet4
sizeofSockaddrInet6 = unix.SizeofSockaddrInet6
) )

View File

@ -1,18 +0,0 @@
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build zos
// +build zos
package socket
import "syscall"
const (
sysAF_UNSPEC = syscall.AF_UNSPEC
sysAF_INET = syscall.AF_INET
sysAF_INET6 = syscall.AF_INET6
sysSOCK_RAW = syscall.SOCK_RAW
)

View File

@ -0,0 +1,10 @@
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package socket
const (
sysRECVMMSG = 0x157
sysSENDMMSG = 0x15d
)

View File

@ -32,12 +32,12 @@ func marshalInetAddr(a net.Addr) []byte {
func marshalSockaddr(ip net.IP, port int, zone string) []byte { func marshalSockaddr(ip net.IP, port int, zone string) []byte {
if ip4 := ip.To4(); ip4 != nil { if ip4 := ip.To4(); ip4 != nil {
b := make([]byte, sizeofSockaddrInet) b := make([]byte, sizeofSockaddrInet4)
switch runtime.GOOS { switch runtime.GOOS {
case "android", "illumos", "linux", "solaris", "windows": case "android", "illumos", "linux", "solaris", "windows":
NativeEndian.PutUint16(b[:2], uint16(sysAF_INET)) NativeEndian.PutUint16(b[:2], uint16(sysAF_INET))
default: default:
b[0] = sizeofSockaddrInet b[0] = sizeofSockaddrInet4
b[1] = sysAF_INET b[1] = sysAF_INET
} }
binary.BigEndian.PutUint16(b[2:4], uint16(port)) binary.BigEndian.PutUint16(b[2:4], uint16(port))
@ -77,7 +77,7 @@ func parseInetAddr(b []byte, network string) (net.Addr, error) {
var ip net.IP var ip net.IP
var zone string var zone string
if af == sysAF_INET { if af == sysAF_INET {
if len(b) < sizeofSockaddrInet { if len(b) < sizeofSockaddrInet4 {
return nil, errors.New("short address") return nil, errors.New("short address")
} }
ip = make(net.IP, net.IPv4len) ip = make(net.IP, net.IPv4len)

View File

@ -15,6 +15,9 @@ const (
sysAF_INET6 = 0xa sysAF_INET6 = 0xa
sysSOCK_RAW = 0x3 sysSOCK_RAW = 0x3
sizeofSockaddrInet4 = 0x10
sizeofSockaddrInet6 = 0x1c
) )
func marshalInetAddr(ip net.IP, port int, zone string) []byte { func marshalInetAddr(ip net.IP, port int, zone string) []byte {

View File

@ -22,25 +22,8 @@ const (
sysAF_INET6 = windows.AF_INET6 sysAF_INET6 = windows.AF_INET6
sysSOCK_RAW = windows.SOCK_RAW sysSOCK_RAW = windows.SOCK_RAW
)
type sockaddrInet struct { sizeofSockaddrInet4 = 0x10
Family uint16
Port uint16
Addr [4]byte /* in_addr */
Zero [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const (
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c sizeofSockaddrInet6 = 0x1c
) )

View File

@ -34,27 +34,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]uint8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -24,27 +24,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -26,27 +26,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -24,27 +24,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -26,27 +26,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -26,27 +26,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -24,27 +24,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -26,27 +26,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -24,27 +24,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -26,27 +26,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Len uint8
Family uint8
Port uint16
Addr [4]byte /* in_addr */
Zero [8]int8
}
type sockaddrInet6 struct {
Len uint8
Family uint8
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x30 sizeofMsghdr = 0x30
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -29,25 +29,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -32,25 +32,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x38 sizeofMsghdr = 0x38
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -29,25 +29,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -32,25 +32,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x38 sizeofMsghdr = 0x38
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -29,25 +29,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -32,25 +32,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x38 sizeofMsghdr = 0x38
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -32,25 +32,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x38 sizeofMsghdr = 0x38
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -29,25 +29,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x8 sizeofIovec = 0x8
sizeofMsghdr = 0x1c sizeofMsghdr = 0x1c
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

View File

@ -0,0 +1,35 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs defs_linux.go
package socket
type iovec struct {
Base *byte
Len uint32
}
type msghdr struct {
Name *byte
Namelen uint32
Iov *iovec
Iovlen uint32
Control *byte
Controllen uint32
Flags int32
}
type mmsghdr struct {
Hdr msghdr
Len uint32
}
type cmsghdr struct {
Len uint32
Level int32
Type int32
}
const (
sizeofIovec = 0x8
sizeofMsghdr = 0x1c
)

View File

@ -32,25 +32,7 @@ type cmsghdr struct {
Type int32 Type int32
} }
type sockaddrInet struct {
Family uint16
Port uint16
Addr [4]byte /* in_addr */
X__pad [8]uint8
}
type sockaddrInet6 struct {
Family uint16
Port uint16
Flowinfo uint32
Addr [16]byte /* in6_addr */
Scope_id uint32
}
const ( const (
sizeofIovec = 0x10 sizeofIovec = 0x10
sizeofMsghdr = 0x38 sizeofMsghdr = 0x38
sizeofSockaddrInet = 0x10
sizeofSockaddrInet6 = 0x1c
) )

Some files were not shown because too many files have changed in this diff Show More