зеркало из https://github.com/Azure/ARO-RP.git
vendor
This commit is contained in:
Родитель
4301a91a9f
Коммит
55653a3f26
|
@ -96,7 +96,7 @@
|
|||
version = "v1.0.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:44307b624b99d6621fb1e098733f62ad13ef0ac9ea123970e5f527e01caa0d9a"
|
||||
digest = "1:aeb79a5ad8ad5447e400c371d8e36b0e6fd798709f9a3865773daa488b1e7fce"
|
||||
name = "github.com/aws/aws-sdk-go"
|
||||
packages = [
|
||||
"aws",
|
||||
|
@ -142,8 +142,8 @@
|
|||
"service/sts/stsiface",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "cb07f15eaeb388725a2d4145cd5f0367f04a97e1"
|
||||
version = "v1.25.39"
|
||||
revision = "da1bcf347b8a39f8222e2799f772112761b6f25c"
|
||||
version = "v1.25.42"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:5f9ab5eeb3788ba8945f9acb2755fba44c3bfefdc95fae477bf6cdc790cab525"
|
||||
|
@ -336,7 +336,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:9fa2057f6f412ff540579ffdb6124b3d9eef7420d4940e1a7a12436018a84a45"
|
||||
digest = "1:7d1e36a62463ecf5953892815b31003e782915c40f3e1e826f931e95345a00b1"
|
||||
name = "github.com/gophercloud/gophercloud"
|
||||
packages = [
|
||||
".",
|
||||
|
@ -358,18 +358,18 @@
|
|||
"pagination",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "bee62241ad2c5b15b27906b87e7920a87b7652f4"
|
||||
revision = "20f58269748c805c35479c4e81572ad415193d0e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:d9bfa087ee01f521f964b82fdf179eeb2a52234455bd94068811ae2f6de7e677"
|
||||
digest = "1:509f2420155510595031f1ce65c0dda45dcd3b0d9774e010be954c1a353631e4"
|
||||
name = "github.com/gophercloud/utils"
|
||||
packages = [
|
||||
"env",
|
||||
"openstack/clientconfig",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "6e51b8944d05c5799af3037f5a5c59124bc67797"
|
||||
revision = "ab7861aa695c70efc7fbc14b1522f7338dcc13cc"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:cbec35fe4d5a4fba369a656a8cd65e244ea2c743007d8f6c1ccb132acf9d1296"
|
||||
|
@ -424,7 +424,7 @@
|
|||
name = "github.com/kubernetes/apimachinery"
|
||||
packages = ["pkg/util/rand"]
|
||||
pruneopts = "UT"
|
||||
revision = "41065c7a8c2a807d7fbd6d734a36200a76e5cacb"
|
||||
revision = "4c4803ed55e31c024ba6c245cba8fc441fb04edd"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:a2bfa52d08ed3100f934a39a3f927e9279f8a106633ff97e47bad7120a1ad07e"
|
||||
|
@ -548,7 +548,7 @@
|
|||
"operator/v1alpha1",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "082f8e2a947ea8b4ed15c9c0f7b190d1fd35e6bc"
|
||||
revision = "371e06d3a8a73b95b67bf6d0b7fb6259c67a5e62"
|
||||
|
||||
[[projects]]
|
||||
branch = "release-4.3"
|
||||
|
@ -560,7 +560,7 @@
|
|||
"config/clientset/versioned/typed/config/v1",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "2823239d2298214509c3536714f684101799e81b"
|
||||
revision = "f6563a70e19a12b2f240eaf4e716ef75baf7003e"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
@ -709,7 +709,7 @@
|
|||
name = "github.com/openshift/machine-config-operator"
|
||||
packages = ["pkg/apis/machineconfiguration.openshift.io/v1"]
|
||||
pruneopts = "UT"
|
||||
revision = "ea51a9f88458a528a5782ca170090c201dd32ace"
|
||||
revision = "a6a863218ba135404217da637751df8a55336c7c"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:e5d0bd87abc2781d14e274807a470acd180f0499f8bf5bb18606e9ec22ad9de9"
|
||||
|
@ -835,7 +835,7 @@
|
|||
"ssh/terminal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "4f8c1d86b1ba699e7a66cd649947ed270a74e0bb"
|
||||
revision = "ac88ee75c92c889b97e05591e9a39b6480c538b3"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
@ -852,7 +852,7 @@
|
|||
"trace",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "fc4aabc6c91483155dade6fbb627cc953a723260"
|
||||
revision = "ffdde105785063a81acd95bdf89ea53f6e0aac2d"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
@ -866,11 +866,11 @@
|
|||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"
|
||||
revision = "5d9234df094ce600ff541158d1491aa10d078a47"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:87f7dc29b0f36aa4651ee98363f8653bd85369ab62cbd81e998495d589692b2c"
|
||||
digest = "1:efd5367142eb275f599abcbc7fc7008ea3f01ce0305cd63d587743f6954603b8"
|
||||
name = "golang.org/x/sys"
|
||||
packages = [
|
||||
"cpu",
|
||||
|
@ -878,7 +878,7 @@
|
|||
"windows",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "bd437916bb0eb726b873ee8e9b2dcf212d32e2fd"
|
||||
revision = "8a8471f7e56d296bf6a05aa09520b111beb1937a"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1e7fe301d41aead2026c0ade066adcf5e60af7d355cd0f826193852190350d82"
|
||||
|
@ -920,7 +920,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:2f12deac21dd95601b0c44b46deaab1cd107b853ef6f2eea5893e8a72324c274"
|
||||
digest = "1:d5486f0dafe554a9bb667ef234a935c42a1e77353b9cbc4656cd4f955292efe5"
|
||||
name = "golang.org/x/tools"
|
||||
packages = [
|
||||
"go/ast/astutil",
|
||||
|
@ -935,7 +935,7 @@
|
|||
"internal/span",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "947d4aa89328ca3de223e23c6ed064660ff03347"
|
||||
revision = "b0650ceb63d94ec56d3a00dbdd5e37d944dbeabf"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:f3661f6218166acf60f5d551b44a537f7ecb8686be02ece061c5950cbfc9ba17"
|
||||
|
@ -1065,7 +1065,7 @@
|
|||
|
||||
[[projects]]
|
||||
branch = "origin-4.3-kubernetes-1.16.2"
|
||||
digest = "1:9f6d1e6ec2262d486c1287c5f2512a495576b7c5cea6c0c71ea74d53a5082f4a"
|
||||
digest = "1:551482dd26801d0494f7e1f0e9c744c3fe120d29cb21ad6e10ed40c84a94fb3a"
|
||||
name = "k8s.io/api"
|
||||
packages = [
|
||||
"admissionregistration/v1",
|
||||
|
@ -1108,12 +1108,12 @@
|
|||
"storage/v1beta1",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "a9f0da5a5acdf8d1cf06c95ab52e0e3152e4793c"
|
||||
revision = "68cd7e75043b233779fadbe637e0a72ec0fb4b82"
|
||||
source = "https://github.com/openshift/kubernetes-api"
|
||||
|
||||
[[projects]]
|
||||
branch = "origin-4.3-kubernetes-1.16.2"
|
||||
digest = "1:06603bc5d839ea2045de522c36635b2da862c591abad53e76460ab653b3c7ecc"
|
||||
digest = "1:cdcb015bfa5a065008eb54b8d02234b89c072737b649086979bad108e942ee34"
|
||||
name = "k8s.io/apimachinery"
|
||||
packages = [
|
||||
"pkg/api/errors",
|
||||
|
@ -1155,7 +1155,7 @@
|
|||
"third_party/forked/golang/reflect",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "9d6682b0f7a114f9b68f36a8adc391ee3f9add15"
|
||||
revision = "fcb08e9eefd278b7354a4fb7e11237b5e5c11921"
|
||||
source = "https://github.com/openshift/kubernetes-apimachinery"
|
||||
|
||||
[[projects]]
|
||||
|
@ -1265,7 +1265,7 @@
|
|||
"pkg/apis/awsproviderconfig/v1beta1",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "ce4e6b67555844fcfbf096de679552cfce8cbec7"
|
||||
revision = "87c20ae1e62a8e954843fa8a0e493b66caccc6c7"
|
||||
source = "https://github.com/openshift/cluster-api-provider-aws.git"
|
||||
|
||||
[[projects]]
|
||||
|
|
3
vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go
сгенерированный
поставляемый
3
vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go
сгенерированный
поставляемый
|
@ -90,6 +90,7 @@ import (
|
|||
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/internal/sdkio"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -142,7 +143,7 @@ const (
|
|||
|
||||
// DefaultBufSize limits buffer size from growing to an enormous
|
||||
// amount due to a faulty process.
|
||||
DefaultBufSize = 1024
|
||||
DefaultBufSize = int(8 * sdkio.KibiByte)
|
||||
|
||||
// DefaultTimeout default limit on time a process can run.
|
||||
DefaultTimeout = time.Duration(1) * time.Minute
|
||||
|
|
|
@ -31,7 +31,7 @@ func (c *EC2Metadata) getToken(duration time.Duration) (tokenOutput, error) {
|
|||
// Swap the unmarshalMetadataHandler with unmarshalTokenHandler on this request.
|
||||
req.Handlers.Unmarshal.Swap(unmarshalMetadataHandlerName, unmarshalTokenHandler)
|
||||
|
||||
ttl := strconv.FormatInt(int64(duration / time.Second),10)
|
||||
ttl := strconv.FormatInt(int64(duration/time.Second), 10)
|
||||
req.HTTPRequest.Header.Set(ttlHeader, ttl)
|
||||
|
||||
err := req.Send()
|
||||
|
@ -145,17 +145,17 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
|
|||
|
||||
// Region returns the region the instance is running in.
|
||||
func (c *EC2Metadata) Region() (string, error) {
|
||||
resp, err := c.GetMetadata("placement/availability-zone")
|
||||
ec2InstanceIdentityDocument, err := c.GetInstanceIdentityDocument()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
if len(resp) == 0 {
|
||||
return "", awserr.New("EC2MetadataError", "invalid Region response", nil)
|
||||
// extract region from the ec2InstanceIdentityDocument
|
||||
region := ec2InstanceIdentityDocument.Region
|
||||
if len(region) == 0 {
|
||||
return "", awserr.New("EC2MetadataError", "invalid region received for ec2metadata instance", nil)
|
||||
}
|
||||
|
||||
// returns region without the suffix. Eg: us-west-2a becomes us-west-2
|
||||
return resp[:len(resp)-1], nil
|
||||
// returns region
|
||||
return region, nil
|
||||
}
|
||||
|
||||
// Available returns if the application has access to the EC2 Metadata service.
|
||||
|
|
|
@ -158,6 +158,7 @@ type tokenOutput struct {
|
|||
var unmarshalTokenHandler = request.NamedHandler{
|
||||
Name: unmarshalTokenHandlerName,
|
||||
Fn: func(r *request.Request) {
|
||||
defer r.HTTPResponse.Body.Close()
|
||||
var b bytes.Buffer
|
||||
if _, err := io.Copy(&b, r.HTTPResponse.Body); err != nil {
|
||||
r.Error = awserr.NewRequestFailure(awserr.New(request.ErrCodeSerialization,
|
||||
|
|
|
@ -425,11 +425,7 @@ var awsPartition = partition{
|
|||
},
|
||||
"application-autoscaling": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "application-autoscaling",
|
||||
},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"ap-east-1": endpoint{},
|
||||
|
@ -560,11 +556,7 @@ var awsPartition = partition{
|
|||
},
|
||||
"autoscaling-plans": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "autoscaling-plans",
|
||||
},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"ap-northeast-1": endpoint{},
|
||||
|
@ -1133,12 +1125,15 @@ var awsPartition = partition{
|
|||
"datasync": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-north-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
|
@ -1167,6 +1162,7 @@ var awsPartition = partition{
|
|||
},
|
||||
},
|
||||
"me-south-1": endpoint{},
|
||||
"sa-east-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-1": endpoint{},
|
||||
|
@ -1223,7 +1219,8 @@ var awsPartition = partition{
|
|||
"discovery": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"us-west-2": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
"dms": service{
|
||||
|
@ -1523,6 +1520,7 @@ var awsPartition = partition{
|
|||
"elasticfilesystem": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
|
@ -1530,9 +1528,12 @@ var awsPartition = partition{
|
|||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-north-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"me-south-1": endpoint{},
|
||||
"sa-east-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-1": endpoint{},
|
||||
|
@ -2192,12 +2193,17 @@ var awsPartition = partition{
|
|||
|
||||
Endpoints: endpoints{
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-1": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
|
@ -2421,7 +2427,8 @@ var awsPartition = partition{
|
|||
"mgh": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"us-west-2": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
"mobileanalytics": service{
|
||||
|
@ -2850,6 +2857,7 @@ var awsPartition = partition{
|
|||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"sa-east-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-1": endpoint{},
|
||||
|
@ -3920,6 +3928,7 @@ var awsPartition = partition{
|
|||
},
|
||||
Endpoints: endpoints{
|
||||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
|
@ -4156,11 +4165,7 @@ var awscnPartition = partition{
|
|||
},
|
||||
"application-autoscaling": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com.cn",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "application-autoscaling",
|
||||
},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"cn-north-1": endpoint{},
|
||||
|
@ -4717,7 +4722,8 @@ var awsusgovPartition = partition{
|
|||
},
|
||||
"application-autoscaling": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "application-autoscaling",
|
||||
},
|
||||
|
@ -4854,6 +4860,7 @@ var awsusgovPartition = partition{
|
|||
Region: "us-gov-west-1",
|
||||
},
|
||||
},
|
||||
"us-gov-east-1": endpoint{},
|
||||
"us-gov-west-1": endpoint{},
|
||||
},
|
||||
},
|
||||
|
@ -5522,11 +5529,8 @@ var awsisoPartition = partition{
|
|||
},
|
||||
"application-autoscaling": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Hostname: "autoscaling.us-iso-east-1.c2s.ic.gov",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "application-autoscaling",
|
||||
},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"us-iso-east-1": endpoint{},
|
||||
|
@ -5854,11 +5858,8 @@ var awsisobPartition = partition{
|
|||
Services: services{
|
||||
"application-autoscaling": service{
|
||||
Defaults: endpoint{
|
||||
Hostname: "autoscaling.{region}.amazonaws.com",
|
||||
Hostname: "autoscaling.us-isob-east-1.sc2s.sgov.gov",
|
||||
Protocols: []string{"http", "https"},
|
||||
CredentialScope: credentialScope{
|
||||
Service: "application-autoscaling",
|
||||
},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"us-isob-east-1": endpoint{},
|
||||
|
|
|
@ -5,4 +5,4 @@ package aws
|
|||
const SDKName = "aws-sdk-go"
|
||||
|
||||
// SDKVersion is the version of this SDK
|
||||
const SDKVersion = "1.25.39"
|
||||
const SDKVersion = "1.25.42"
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -78,6 +78,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// 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
|
||||
|
@ -91,6 +93,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// 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
|
||||
//
|
||||
// The temporary security credentials created by AssumeRole can be used to make
|
||||
// API calls to any AWS service with the following exception: You cannot call
|
||||
// the AWS STS GetFederationToken or GetSessionToken API operations.
|
||||
|
@ -99,7 +103,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// 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 shouldn't exceed 2048 characters. Passing policies
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
// the session policies. You can use the role's temporary credentials in subsequent
|
||||
|
@ -131,6 +135,24 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Tags
|
||||
//
|
||||
// (Optional) You can pass tag key-value pairs to your session. These tags 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
|
||||
// tags. The administrator can also create granular permissions to allow you
|
||||
// to pass only specific session tags. For more information, see Tutorial: Using
|
||||
// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can set the session tags as transitive. Transitive tags persist during
|
||||
// role chaining. For more information, see Chaining Roles with Session Tags
|
||||
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Using MFA with AssumeRole
|
||||
//
|
||||
// (Optional) You can include multi-factor authentication (MFA) information
|
||||
|
@ -165,9 +187,18 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// message describes the specific error.
|
||||
//
|
||||
// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
|
||||
// The request was rejected because the policy document was too large. The error
|
||||
// message describes how big the policy document is, in packed form, as a percentage
|
||||
// of what the API allows.
|
||||
// The request was rejected because the total packed size of the session policies
|
||||
// and session tags combined was too large. An AWS conversion compresses the
|
||||
// session policy document, session policy ARNs, and session tags into a packed
|
||||
// binary format that has a separate limit. The error message indicates by percentage
|
||||
// how close the policies and tags are to the upper size limit. For more information,
|
||||
// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You could receive this error even though you meet other defined session policy
|
||||
// and session tag limits. For more information, see IAM and STS Entity Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// * ErrCodeRegionDisabledException "RegionDisabledException"
|
||||
// STS is not activated in the requested region for the account that is being
|
||||
|
@ -256,6 +287,8 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// an access key ID, a secret access key, and a security token. Applications
|
||||
// can use these temporary security credentials to sign calls to AWS services.
|
||||
//
|
||||
// Session Duration
|
||||
//
|
||||
// By default, the temporary security credentials created by AssumeRoleWithSAML
|
||||
// last for one hour. However, you can use the optional DurationSeconds parameter
|
||||
// to specify the duration of your session. Your role session lasts for the
|
||||
|
@ -271,6 +304,8 @@ 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Permissions
|
||||
//
|
||||
// The temporary security credentials created by AssumeRoleWithSAML can be used
|
||||
// to make API calls to any AWS service with the following exception: you cannot
|
||||
// call the STS GetFederationToken or GetSessionToken API operations.
|
||||
|
@ -279,7 +314,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// 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 shouldn't exceed 2048 characters. Passing policies
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
// the session policies. You can use the role's temporary credentials in subsequent
|
||||
|
@ -289,12 +324,6 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Before your application can call AssumeRoleWithSAML, you must configure your
|
||||
// SAML identity provider (IdP) to issue the claims required by AWS. Additionally,
|
||||
// you must use AWS Identity and Access Management (IAM) to create a SAML provider
|
||||
// entity in your AWS account that represents your identity provider. You must
|
||||
// also create an IAM role that specifies this SAML provider in its trust policy.
|
||||
//
|
||||
// Calling AssumeRoleWithSAML does not require the use of AWS security credentials.
|
||||
// The identity of the caller is validated by using keys in the metadata document
|
||||
// that is uploaded for the SAML provider entity for your identity provider.
|
||||
|
@ -302,8 +331,50 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail
|
||||
// logs. The entry includes the value in the NameID element of the SAML assertion.
|
||||
// We recommend that you use a NameIDType that is not associated with any personally
|
||||
// identifiable information (PII). For example, you could instead use the Persistent
|
||||
// Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).
|
||||
// identifiable information (PII). For example, you could instead use the persistent
|
||||
// identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).
|
||||
//
|
||||
// Tags
|
||||
//
|
||||
// (Optional) You can configure your IdP to pass attributes into your SAML assertion
|
||||
// as session tags. Each session tag consists of a key name and an associated
|
||||
// value. 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.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag keys can’t
|
||||
// exceed 128 characters and the values can’t exceed 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags 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
|
||||
// the role. When you do, session tags override the role's tags with the same
|
||||
// key.
|
||||
//
|
||||
// An administrator must grant you the permissions necessary to pass session
|
||||
// tags. The administrator can also create granular permissions to allow you
|
||||
// to pass only specific session tags. For more information, see Tutorial: Using
|
||||
// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can set the session tags as transitive. Transitive tags persist during
|
||||
// role chaining. For more information, see Chaining Roles with Session Tags
|
||||
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// SAML Configuration
|
||||
//
|
||||
// Before your application can call AssumeRoleWithSAML, you must configure your
|
||||
// SAML identity provider (IdP) to issue the claims required by AWS. Additionally,
|
||||
// you must use AWS Identity and Access Management (IAM) to create a SAML provider
|
||||
// entity in your AWS account that represents your identity provider. You must
|
||||
// also create an IAM role that specifies this SAML provider in its trust policy.
|
||||
//
|
||||
// For more information, see the following resources:
|
||||
//
|
||||
|
@ -332,9 +403,18 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// message describes the specific error.
|
||||
//
|
||||
// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
|
||||
// The request was rejected because the policy document was too large. The error
|
||||
// message describes how big the policy document is, in packed form, as a percentage
|
||||
// of what the API allows.
|
||||
// The request was rejected because the total packed size of the session policies
|
||||
// and session tags combined was too large. An AWS conversion compresses the
|
||||
// session policy document, session policy ARNs, and session tags into a packed
|
||||
// binary format that has a separate limit. The error message indicates by percentage
|
||||
// how close the policies and tags are to the upper size limit. For more information,
|
||||
// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You could receive this error even though you meet other defined session policy
|
||||
// and session tag limits. For more information, see IAM and STS Entity Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
|
||||
// The identity provider (IdP) reported that authentication failed. This might
|
||||
|
@ -456,6 +536,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// key ID, a secret access key, and a security token. Applications can use these
|
||||
// temporary security credentials to sign calls to AWS service API operations.
|
||||
//
|
||||
// Session Duration
|
||||
//
|
||||
// By default, the temporary security credentials created by AssumeRoleWithWebIdentity
|
||||
// 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
|
||||
|
@ -469,6 +551,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// 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
|
||||
//
|
||||
// The temporary security credentials created by AssumeRoleWithWebIdentity can
|
||||
// be used to make API calls to any AWS service with the following exception:
|
||||
// you cannot call the STS GetFederationToken or GetSessionToken API operations.
|
||||
|
@ -477,7 +561,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// 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 shouldn't exceed 2048 characters. Passing policies
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
// the session policies. You can use the role's temporary credentials in subsequent
|
||||
|
@ -487,6 +571,42 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Tags
|
||||
//
|
||||
// (Optional) You can configure your IdP to pass attributes into your web identity
|
||||
// token as session tags. Each session tag consists of a key name and an associated
|
||||
// value. 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.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag keys can’t
|
||||
// exceed 128 characters and the values can’t exceed 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags 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
|
||||
// the role. When you do, the session tag overrides the role tag with the same
|
||||
// key.
|
||||
//
|
||||
// An administrator must grant you the permissions necessary to pass session
|
||||
// tags. The administrator can also create granular permissions to allow you
|
||||
// to pass only specific session tags. For more information, see Tutorial: Using
|
||||
// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can set the session tags as transitive. Transitive tags persist during
|
||||
// role chaining. For more information, see Chaining Roles with Session Tags
|
||||
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Identities
|
||||
//
|
||||
// Before your application can call AssumeRoleWithWebIdentity, you must have
|
||||
// an identity token from a supported identity provider and create a role that
|
||||
// the application can assume. The role that your application assumes must trust
|
||||
|
@ -514,8 +634,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// * AWS SDK for iOS Developer Guide (http://aws.amazon.com/sdkforios/) and
|
||||
// AWS SDK for Android Developer Guide (http://aws.amazon.com/sdkforandroid/).
|
||||
// These toolkits contain sample apps that show how to invoke the identity
|
||||
// providers, and then how to use the information from these providers to
|
||||
// get and use temporary security credentials.
|
||||
// providers. The toolkits then show how to use the information from these
|
||||
// providers to get and use temporary security credentials.
|
||||
//
|
||||
// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications).
|
||||
// This article discusses web identity federation and shows an example of
|
||||
|
@ -535,9 +655,18 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// message describes the specific error.
|
||||
//
|
||||
// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
|
||||
// The request was rejected because the policy document was too large. The error
|
||||
// message describes how big the policy document is, in packed form, as a percentage
|
||||
// of what the API allows.
|
||||
// The request was rejected because the total packed size of the session policies
|
||||
// and session tags combined was too large. An AWS conversion compresses the
|
||||
// session policy document, session policy ARNs, and session tags into a packed
|
||||
// binary format that has a separate limit. The error message indicates by percentage
|
||||
// how close the policies and tags are to the upper size limit. For more information,
|
||||
// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You could receive this error even though you meet other defined session policy
|
||||
// and session tag limits. For more information, see IAM and STS Entity Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
|
||||
// The identity provider (IdP) reported that authentication failed. This might
|
||||
|
@ -547,11 +676,11 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// can also mean that the claim has expired or has been explicitly revoked.
|
||||
//
|
||||
// * ErrCodeIDPCommunicationErrorException "IDPCommunicationError"
|
||||
// The request could not be fulfilled because the non-AWS identity provider
|
||||
// (IDP) that was asked to verify the incoming identity token could not be reached.
|
||||
// This is often a transient error caused by network conditions. Retry the request
|
||||
// The request could not be fulfilled because the identity provider (IDP) that
|
||||
// was asked to verify the incoming identity token could not be reached. This
|
||||
// is often a transient error caused by network conditions. Retry the request
|
||||
// a limited number of times so that you don't exceed the request rate. If the
|
||||
// error persists, the non-AWS identity provider might be down or not responding.
|
||||
// error persists, the identity provider might be down or not responding.
|
||||
//
|
||||
// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken"
|
||||
// The web identity token that was passed could not be validated by AWS. Get
|
||||
|
@ -676,9 +805,9 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
|
|||
//
|
||||
// Returned Error Codes:
|
||||
// * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException"
|
||||
// This error is returned if the message passed to DecodeAuthorizationMessage
|
||||
// was invalid. This can happen if the token contains invalid characters, such
|
||||
// as linebreaks.
|
||||
// The error returned if the message passed to DecodeAuthorizationMessage was
|
||||
// invalid. This can happen if the token contains invalid characters, such as
|
||||
// linebreaks.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
|
||||
func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) {
|
||||
|
@ -763,7 +892,8 @@ func (c *STS) GetAccessKeyInfoRequest(input *GetAccessKeyInfoInput) (req *reques
|
|||
// pull a credentials report (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html)
|
||||
// to learn which IAM user owns the keys. To learn who requested the temporary
|
||||
// credentials for an ASIA access key, view the STS events in your CloudTrail
|
||||
// logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html).
|
||||
// logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// This operation does not indicate the state of the access key. The key might
|
||||
// be active, inactive, or deleted. Active keys might not have permissions to
|
||||
|
@ -850,7 +980,8 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ
|
|||
// sts:GetCallerIdentity action, you can still perform this operation. Permissions
|
||||
// are not required because the same information is returned when an IAM user
|
||||
// or role is denied access. To view an example response, see I Am Not Authorized
|
||||
// to Perform: iam:DeleteVirtualMFADevice (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa).
|
||||
// to Perform: iam:DeleteVirtualMFADevice (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// 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
|
||||
|
@ -942,7 +1073,8 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
|
|||
// 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).
|
||||
// (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
|
||||
|
@ -952,41 +1084,67 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
|
|||
// 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
|
||||
// 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).
|
||||
//
|
||||
// The temporary security credentials created by GetFederationToken can be used
|
||||
// to make API calls to any AWS service with the following exceptions:
|
||||
//
|
||||
// * You cannot use these credentials to call any IAM API operations.
|
||||
//
|
||||
// * You cannot call any STS API operations except GetCallerIdentity.
|
||||
// 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 shouldn't exceed 2048 characters.
|
||||
// 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. The only exception
|
||||
// is when the credentials are used to access a resource that has a resource-based
|
||||
// policy that specifically references the federated user session in the Principal
|
||||
// element of the policy. 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)
|
||||
// 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
|
||||
// tags. The administrator can also create granular permissions to allow you
|
||||
// to pass only specific session tags. For more information, see Tutorial: Using
|
||||
// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Tag key–value pairs are not case sensitive, but case is preserved. This
|
||||
// means that you cannot have separate Department and department tag keys. Assume
|
||||
// that the user that you are federating has the Department=Marketing tag and
|
||||
// you pass the department=engineering session tag. Department and department
|
||||
// are not saved as separate tags, and the session tag passed in the request
|
||||
// takes precedence over the user tag.
|
||||
//
|
||||
// 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
|
||||
// the error.
|
||||
|
@ -1000,9 +1158,18 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
|
|||
// message describes the specific error.
|
||||
//
|
||||
// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge"
|
||||
// The request was rejected because the policy document was too large. The error
|
||||
// message describes how big the policy document is, in packed form, as a percentage
|
||||
// of what the API allows.
|
||||
// The request was rejected because the total packed size of the session policies
|
||||
// and session tags combined was too large. An AWS conversion compresses the
|
||||
// session policy document, session policy ARNs, and session tags into a packed
|
||||
// binary format that has a separate limit. The error message indicates by percentage
|
||||
// how close the policies and tags are to the upper size limit. For more information,
|
||||
// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You could receive this error even though you meet other defined session policy
|
||||
// and session tag limits. For more information, see IAM and STS Entity Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// * ErrCodeRegionDisabledException "RegionDisabledException"
|
||||
// STS is not activated in the requested region for the account that is being
|
||||
|
@ -1091,6 +1258,8 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
|
|||
// 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.
|
||||
//
|
||||
// Session Duration
|
||||
//
|
||||
// The GetSessionToken operation must be called by using the long-term AWS security
|
||||
// credentials of the AWS account root user or an IAM user. Credentials that
|
||||
// are created by IAM users are valid for the duration that you specify. This
|
||||
|
@ -1099,6 +1268,8 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
|
|||
// based on account credentials can range from 900 seconds (15 minutes) up to
|
||||
// 3,600 seconds (1 hour), with a default of 1 hour.
|
||||
//
|
||||
// Permissions
|
||||
//
|
||||
// The temporary security credentials created by GetSessionToken can be used
|
||||
// to make API calls to any AWS service with the following exceptions:
|
||||
//
|
||||
|
@ -1213,16 +1384,16 @@ type AssumeRoleInput struct {
|
|||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -1231,15 +1402,15 @@ type AssumeRoleInput struct {
|
|||
//
|
||||
// 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
|
||||
// policies shouldn't exceed 2048 characters. For more information about ARNs,
|
||||
// policies can't exceed 2,048 characters. For more information about ARNs,
|
||||
// see Amazon 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.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -1284,6 +1455,41 @@ type AssumeRoleInput struct {
|
|||
// also include underscores or any of the following characters: =,.@-
|
||||
SerialNumber *string `min:"9" type:"string"`
|
||||
|
||||
// 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,
|
||||
// see Tagging AWS STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plain
|
||||
// text session tag keys can’t exceed 128 characters, and the values can’t
|
||||
// exceed 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags 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
|
||||
// to the role. When you do, session tags override a role tag with the same
|
||||
// key.
|
||||
//
|
||||
// Tag key–value pairs are not case sensitive, but case is preserved. This
|
||||
// means that you cannot have separate Department and department tag keys. Assume
|
||||
// that the role has the Department=Marketing tag and you pass the department=engineering
|
||||
// session tag. Department and department are not saved as separate tags, and
|
||||
// the session tag passed in the request takes precedence over the role tag.
|
||||
//
|
||||
// Additionally, if you used temporary credentials to perform this operation,
|
||||
// the new session inherits any transitive session tags from the calling session.
|
||||
// If you pass a session tag with the same key as an inherited tag, the operation
|
||||
// fails. To view the inherited tags for a session, see the AWS CloudTrail logs.
|
||||
// For more information, see Viewing Session Tags in CloudTrail (https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs)
|
||||
// in the IAM User Guide.
|
||||
Tags []*Tag `type:"list"`
|
||||
|
||||
// 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
|
||||
// for MFA). If the role being assumed requires MFA and if the TokenCode value
|
||||
|
@ -1292,6 +1498,19 @@ type AssumeRoleInput struct {
|
|||
// The format for this parameter, as described by its regex pattern, is a sequence
|
||||
// of six numeric digits.
|
||||
TokenCode *string `min:"6" type:"string"`
|
||||
|
||||
// A list of keys for session tags that you want to set as transitive. If you
|
||||
// set a tag key as transitive, the corresponding key and value passes to subsequent
|
||||
// sessions in a role chain. For more information, see Chaining Roles with Session
|
||||
// Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// This parameter is optional. When you set session tags as transitive, the
|
||||
// session policy and session tags packed binary limit is not affected.
|
||||
//
|
||||
// If you choose not to specify a transitive tag key, then no tags are passed
|
||||
// from this session to any subsequent sessions.
|
||||
TransitiveTagKeys []*string `type:"list"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
|
@ -1344,6 +1563,16 @@ func (s *AssumeRoleInput) Validate() error {
|
|||
}
|
||||
}
|
||||
}
|
||||
if s.Tags != nil {
|
||||
for i, v := range s.Tags {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
if err := v.Validate(); err != nil {
|
||||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
|
@ -1393,12 +1622,24 @@ func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput {
|
|||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *AssumeRoleInput) SetTags(v []*Tag) *AssumeRoleInput {
|
||||
s.Tags = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTokenCode sets the TokenCode field's value.
|
||||
func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput {
|
||||
s.TokenCode = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTransitiveTagKeys sets the TransitiveTagKeys field's value.
|
||||
func (s *AssumeRoleInput) SetTransitiveTagKeys(v []*string) *AssumeRoleInput {
|
||||
s.TransitiveTagKeys = v
|
||||
return s
|
||||
}
|
||||
|
||||
// Contains the response to a successful AssumeRole request, including temporary
|
||||
// AWS credentials that can be used to make AWS requests.
|
||||
type AssumeRoleOutput struct {
|
||||
|
@ -1418,9 +1659,10 @@ type AssumeRoleOutput struct {
|
|||
// We strongly recommend that you make no assumptions about the maximum size.
|
||||
Credentials *Credentials `type:"structure"`
|
||||
|
||||
// A percentage value that indicates the size of the policy in packed form.
|
||||
// The service rejects any policy with a packed size greater than 100 percent,
|
||||
// which means the policy exceeded the allowed space.
|
||||
// A percentage value that indicates the packed size of the session policies
|
||||
// and session tags combined passed in the request. The request fails if the
|
||||
// packed size is greater than 100 percent, which means the policies and tags
|
||||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
}
|
||||
|
||||
|
@ -1491,16 +1733,16 @@ type AssumeRoleWithSAMLInput struct {
|
|||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -1509,15 +1751,15 @@ type AssumeRoleWithSAMLInput struct {
|
|||
//
|
||||
// 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
|
||||
// policies shouldn't exceed 2048 characters. For more information about ARNs,
|
||||
// policies can't exceed 2,048 characters. For more information about ARNs,
|
||||
// see Amazon 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.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -1673,9 +1915,10 @@ type AssumeRoleWithSAMLOutput struct {
|
|||
// ) )
|
||||
NameQualifier *string `type:"string"`
|
||||
|
||||
// A percentage value that indicates the size of the policy in packed form.
|
||||
// The service rejects any policy with a packed size greater than 100 percent,
|
||||
// which means the policy exceeded the allowed space.
|
||||
// A percentage value that indicates the packed size of the session policies
|
||||
// and session tags combined passed in the request. The request fails if the
|
||||
// packed size is greater than 100 percent, which means the policies and tags
|
||||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
|
||||
// The value of the NameID element in the Subject element of the SAML assertion.
|
||||
|
@ -1786,16 +2029,16 @@ type AssumeRoleWithWebIdentityInput struct {
|
|||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -1804,15 +2047,15 @@ type AssumeRoleWithWebIdentityInput struct {
|
|||
//
|
||||
// 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
|
||||
// policies shouldn't exceed 2048 characters. For more information about ARNs,
|
||||
// policies can't exceed 2,048 characters. For more information about ARNs,
|
||||
// see Amazon 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.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -1983,9 +2226,10 @@ type AssumeRoleWithWebIdentityOutput struct {
|
|||
// We strongly recommend that you make no assumptions about the maximum size.
|
||||
Credentials *Credentials `type:"structure"`
|
||||
|
||||
// A percentage value that indicates the size of the policy in packed form.
|
||||
// The service rejects any policy with a packed size greater than 100 percent,
|
||||
// which means the policy exceeded the allowed space.
|
||||
// A percentage value that indicates the packed size of the session policies
|
||||
// and session tags combined passed in the request. The request fails if the
|
||||
// packed size is greater than 100 percent, which means the policies and tags
|
||||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
|
||||
// The issuing authority of the web identity token presented. For OpenID Connect
|
||||
|
@ -2057,7 +2301,7 @@ type AssumedRoleUser struct {
|
|||
// The ARN of the temporary security credentials that are returned from the
|
||||
// AssumeRole action. For more information about ARNs and how to use them in
|
||||
// policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
|
||||
// in Using IAM.
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Arn is a required field
|
||||
Arn *string `min:"20" type:"string" required:"true"`
|
||||
|
@ -2225,7 +2469,7 @@ type FederatedUser struct {
|
|||
// The ARN that specifies the federated user that is associated with the credentials.
|
||||
// For more information about ARNs and how to use them in policies, see IAM
|
||||
// Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
|
||||
// in Using IAM.
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Arn is a required field
|
||||
Arn *string `min:"20" type:"string" required:"true"`
|
||||
|
@ -2265,7 +2509,7 @@ type GetAccessKeyInfoInput struct {
|
|||
// The identifier of an access key.
|
||||
//
|
||||
// This parameter allows (through its regex pattern) a string of characters
|
||||
// that can consist of any upper- or lowercased letter or digit.
|
||||
// that can consist of any upper- or lowercase letter or digit.
|
||||
//
|
||||
// AccessKeyId is a required field
|
||||
AccessKeyId *string `min:"16" type:"string" required:"true"`
|
||||
|
@ -2418,10 +2662,7 @@ type GetFederationTokenInput struct {
|
|||
// use as managed session policies.
|
||||
//
|
||||
// This parameter is optional. However, if you do not pass any session policies,
|
||||
// then the resulting federated user session has no permissions. The only exception
|
||||
// is when the credentials are used to access a resource that has a resource-based
|
||||
// policy that specifically references the federated user session in the Principal
|
||||
// element of the 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
|
||||
|
@ -2431,17 +2672,23 @@ type GetFederationTokenInput struct {
|
|||
// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The resulting credentials can be used 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
|
||||
// that are granted by the session policies.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -2452,16 +2699,13 @@ type GetFederationTokenInput struct {
|
|||
// 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 shouldn't exceed 2048 characters. You can provide
|
||||
// and managed session policies can't exceed 2,048 characters. You can provide
|
||||
// up to 10 managed policy ARNs. For more information about ARNs, see Amazon
|
||||
// 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.
|
||||
//
|
||||
// This parameter is optional. However, if you do not pass any session policies,
|
||||
// then the resulting federated user session has no permissions. The only exception
|
||||
// is when the credentials are used to access a resource that has a resource-based
|
||||
// policy that specifically references the federated user session in the Principal
|
||||
// element of the 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
|
||||
|
@ -2471,12 +2715,46 @@ type GetFederationTokenInput struct {
|
|||
// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The characters in this parameter count towards the 2048 character session
|
||||
// policy guideline. However, an AWS conversion compresses the session policies
|
||||
// into a packed binary format that has a separate limit. This is the enforced
|
||||
// limit. The PackedPolicySize response element indicates by percentage how
|
||||
// close the policy is to the upper size limit.
|
||||
// The resulting credentials can be used 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
|
||||
// that are granted by the session policies.
|
||||
//
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
PolicyArns []*PolicyDescriptorType `type:"list"`
|
||||
|
||||
// A list of session tags. Each session tag consists of a key name and an associated
|
||||
// value. 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.
|
||||
//
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plain
|
||||
// text session tag keys can’t exceed 128 characters and the values can’t
|
||||
// exceed 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// 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
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags 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
|
||||
// to the user you are federating. When you do, session tags override a user
|
||||
// tag with the same key.
|
||||
//
|
||||
// Tag key–value pairs are not case sensitive, but case is preserved. This
|
||||
// means that you cannot have separate Department and department tag keys. Assume
|
||||
// that the role has the Department=Marketing tag and you pass the department=engineering
|
||||
// session tag. Department and department are not saved as separate tags, and
|
||||
// the session tag passed in the request takes precedence over the role tag.
|
||||
Tags []*Tag `type:"list"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
|
@ -2514,6 +2792,16 @@ func (s *GetFederationTokenInput) Validate() error {
|
|||
}
|
||||
}
|
||||
}
|
||||
if s.Tags != nil {
|
||||
for i, v := range s.Tags {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
if err := v.Validate(); err != nil {
|
||||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
|
@ -2545,6 +2833,12 @@ func (s *GetFederationTokenInput) SetPolicyArns(v []*PolicyDescriptorType) *GetF
|
|||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *GetFederationTokenInput) SetTags(v []*Tag) *GetFederationTokenInput {
|
||||
s.Tags = v
|
||||
return s
|
||||
}
|
||||
|
||||
// Contains the response to a successful GetFederationToken request, including
|
||||
// temporary AWS credentials that can be used to make AWS requests.
|
||||
type GetFederationTokenOutput struct {
|
||||
|
@ -2563,9 +2857,10 @@ type GetFederationTokenOutput struct {
|
|||
// an Amazon S3 bucket policy.
|
||||
FederatedUser *FederatedUser `type:"structure"`
|
||||
|
||||
// A percentage value indicating the size of the policy in packed form. The
|
||||
// service rejects policies for which the packed size is greater than 100 percent
|
||||
// of the allowed value.
|
||||
// A percentage value that indicates the packed size of the session policies
|
||||
// and session tags combined passed in the request. The request fails if the
|
||||
// packed size is greater than 100 percent, which means the policies and tags
|
||||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
}
|
||||
|
||||
|
@ -2748,3 +3043,73 @@ func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType {
|
|||
s.Arn = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// You can pass custom key-value pair attributes when you assume a role or federate
|
||||
// a user. These are called session tags. You can then use the session tags
|
||||
// to control access to resources. For more information, see Tagging AWS STS
|
||||
// Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
type Tag struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The key for a session tag.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag keys can’t
|
||||
// exceed 128 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Key is a required field
|
||||
Key *string `min:"1" type:"string" required:"true"`
|
||||
|
||||
// The value for a session tag.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag values can’t
|
||||
// exceed 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)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Value is a required field
|
||||
Value *string `type:"string" required:"true"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
func (s Tag) String() string {
|
||||
return awsutil.Prettify(s)
|
||||
}
|
||||
|
||||
// GoString returns the string representation
|
||||
func (s Tag) GoString() string {
|
||||
return s.String()
|
||||
}
|
||||
|
||||
// Validate inspects the fields of the type to determine if they are valid.
|
||||
func (s *Tag) Validate() error {
|
||||
invalidParams := request.ErrInvalidParams{Context: "Tag"}
|
||||
if s.Key == nil {
|
||||
invalidParams.Add(request.NewErrParamRequired("Key"))
|
||||
}
|
||||
if s.Key != nil && len(*s.Key) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("Key", 1))
|
||||
}
|
||||
if s.Value == nil {
|
||||
invalidParams.Add(request.NewErrParamRequired("Value"))
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetKey sets the Key field's value.
|
||||
func (s *Tag) SetKey(v string) *Tag {
|
||||
s.Key = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetValue sets the Value field's value.
|
||||
func (s *Tag) SetValue(v string) *Tag {
|
||||
s.Value = &v
|
||||
return s
|
||||
}
|
||||
|
|
|
@ -14,11 +14,11 @@ const (
|
|||
// ErrCodeIDPCommunicationErrorException for service response error code
|
||||
// "IDPCommunicationError".
|
||||
//
|
||||
// The request could not be fulfilled because the non-AWS identity provider
|
||||
// (IDP) that was asked to verify the incoming identity token could not be reached.
|
||||
// This is often a transient error caused by network conditions. Retry the request
|
||||
// The request could not be fulfilled because the identity provider (IDP) that
|
||||
// was asked to verify the incoming identity token could not be reached. This
|
||||
// is often a transient error caused by network conditions. Retry the request
|
||||
// a limited number of times so that you don't exceed the request rate. If the
|
||||
// error persists, the non-AWS identity provider might be down or not responding.
|
||||
// error persists, the identity provider might be down or not responding.
|
||||
ErrCodeIDPCommunicationErrorException = "IDPCommunicationError"
|
||||
|
||||
// ErrCodeIDPRejectedClaimException for service response error code
|
||||
|
@ -34,9 +34,9 @@ const (
|
|||
// ErrCodeInvalidAuthorizationMessageException for service response error code
|
||||
// "InvalidAuthorizationMessageException".
|
||||
//
|
||||
// This error is returned if the message passed to DecodeAuthorizationMessage
|
||||
// was invalid. This can happen if the token contains invalid characters, such
|
||||
// as linebreaks.
|
||||
// The error returned if the message passed to DecodeAuthorizationMessage was
|
||||
// invalid. This can happen if the token contains invalid characters, such as
|
||||
// linebreaks.
|
||||
ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException"
|
||||
|
||||
// ErrCodeInvalidIdentityTokenException for service response error code
|
||||
|
@ -56,9 +56,18 @@ const (
|
|||
// ErrCodePackedPolicyTooLargeException for service response error code
|
||||
// "PackedPolicyTooLarge".
|
||||
//
|
||||
// The request was rejected because the policy document was too large. The error
|
||||
// message describes how big the policy document is, in packed form, as a percentage
|
||||
// of what the API allows.
|
||||
// The request was rejected because the total packed size of the session policies
|
||||
// and session tags combined was too large. An AWS conversion compresses the
|
||||
// session policy document, session policy ARNs, and session tags into a packed
|
||||
// binary format that has a separate limit. The error message indicates by percentage
|
||||
// how close the policies and tags are to the upper size limit. For more information,
|
||||
// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You could receive this error even though you meet other defined session policy
|
||||
// and session tag limits. For more information, see IAM and STS Entity Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge"
|
||||
|
||||
// ErrCodeRegionDisabledException for service response error code
|
||||
|
|
|
@ -8,6 +8,9 @@ IMPROVEMENTS
|
|||
* Added `AccessRule` to `identity/v3/applicationcredentials` [GH-1758](https://github.com/gophercloud/gophercloud/pull/1758)
|
||||
* Gophercloud no longer returns an error when multiple endpoints are found. Instead, it will choose the first endpoint and discard the others [GH-1766](https://github.com/gophercloud/gophercloud/pull/1766).
|
||||
* Added `networking/v2/extensions/fwaas_v2/rules.Create` [GH-1768](https://github.com/gophercloud/gophercloud/pull/1768).
|
||||
* Added `networking/v2/extensions/fwaas_v2/rules.Delete` [GH-1771](https://github.com/gophercloud/gophercloud/pull/1771).
|
||||
* Added `loadbalancer/v2/providers.List` [GH-1765](https://github.com/gophercloud/gophercloud/pull/1765).
|
||||
* Added `networking/v2/extensions/fwaas_v2/rules.Get` [GH-1772](https://github.com/gophercloud/gophercloud/pull/1772).
|
||||
|
||||
## 0.6.0 (October 17, 2019)
|
||||
|
||||
|
|
36
vendor/github.com/gophercloud/utils/openstack/clientconfig/requests.go
сгенерированный
поставляемый
36
vendor/github.com/gophercloud/utils/openstack/clientconfig/requests.go
сгенерированный
поставляемый
|
@ -57,6 +57,10 @@ type ClientOpts struct {
|
|||
// when authenticating directly with AuthInfo.
|
||||
RegionName string
|
||||
|
||||
// EndpointType specifies whether to use the public, internal, or
|
||||
// admin endpoint of a service.
|
||||
EndpointType string
|
||||
|
||||
// YAMLOpts provides the ability to pass a customized set
|
||||
// of options and methods for loading the YAML file.
|
||||
// It takes a YAMLOptsBuilder interface that is defined
|
||||
|
@ -284,6 +288,17 @@ func GetCloudFromYAML(opts *ClientOpts) (*Cloud, error) {
|
|||
// clouds-public.yml
|
||||
// https://github.com/openstack/openstacksdk/tree/master/openstack/config/vendors
|
||||
|
||||
// Both Interface and EndpointType are valid settings in clouds.yaml,
|
||||
// but we want to standardize on EndpointType for simplicity.
|
||||
//
|
||||
// If only Interface was set, we copy that to EndpointType to use as the setting.
|
||||
// But in all other cases, EndpointType is used and Interface is cleared.
|
||||
if cloud.Interface != "" && cloud.EndpointType == "" {
|
||||
cloud.EndpointType = cloud.Interface
|
||||
}
|
||||
|
||||
cloud.Interface = ""
|
||||
|
||||
return cloud, nil
|
||||
}
|
||||
|
||||
|
@ -738,8 +753,27 @@ func NewServiceClient(service string, opts *ClientOpts) (*gophercloud.ServiceCli
|
|||
region = v
|
||||
}
|
||||
|
||||
// Determine the endpoint type to use.
|
||||
// First, check if the OS_INTERFACE environment variable is set.
|
||||
var endpointType string
|
||||
if v := env.Getenv(envPrefix + "INTERFACE"); v != "" {
|
||||
endpointType = v
|
||||
}
|
||||
|
||||
// Next, check if the cloud entry sets an endpoint type.
|
||||
if v := cloud.EndpointType; v != "" {
|
||||
endpointType = v
|
||||
}
|
||||
|
||||
// Finally, see if one was specified in the ClientOpts.
|
||||
// If so, this takes precedence.
|
||||
if v := opts.EndpointType; v != "" {
|
||||
endpointType = v
|
||||
}
|
||||
|
||||
eo := gophercloud.EndpointOpts{
|
||||
Region: region,
|
||||
Region: region,
|
||||
Availability: GetEndpointType(endpointType),
|
||||
}
|
||||
|
||||
switch service {
|
||||
|
|
6
vendor/github.com/gophercloud/utils/openstack/clientconfig/results.go
сгенерированный
поставляемый
6
vendor/github.com/gophercloud/utils/openstack/clientconfig/results.go
сгенерированный
поставляемый
|
@ -23,6 +23,12 @@ type Cloud struct {
|
|||
RegionName string `yaml:"region_name" json:"region_name"`
|
||||
Regions []interface{} `yaml:"regions" json:"regions"`
|
||||
|
||||
// EndpointType and Interface both specify whether to use the public, internal,
|
||||
// or admin interface of a service. They should be considered synonymous, but
|
||||
// EndpointType will take precedence when both are specified.
|
||||
EndpointType string `yaml:"endpoint_type" json:"endpoint_type"`
|
||||
Interface string `yaml:"interface" json:"interface"`
|
||||
|
||||
// API Version overrides.
|
||||
IdentityAPIVersion string `yaml:"identity_api_version" json:"identity_api_version"`
|
||||
VolumeAPIVersion string `yaml:"volume_api_version" json:"volume_api_version"`
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
"path/filepath"
|
||||
"reflect"
|
||||
|
||||
"github.com/gophercloud/gophercloud"
|
||||
"github.com/gophercloud/utils/env"
|
||||
)
|
||||
|
||||
|
@ -160,3 +161,15 @@ func fileExists(filename string) bool {
|
|||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// GetEndpointType is a helper method to determine the endpoint type
|
||||
// requested by the user.
|
||||
func GetEndpointType(endpointType string) gophercloud.Availability {
|
||||
if endpointType == "internal" || endpointType == "internalURL" {
|
||||
return gophercloud.AvailabilityInternal
|
||||
}
|
||||
if endpointType == "admin" || endpointType == "adminURL" {
|
||||
return gophercloud.AvailabilityAdmin
|
||||
}
|
||||
return gophercloud.AvailabilityPublic
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -415,4 +415,5 @@ const (
|
|||
SYS_FSMOUNT = 4432
|
||||
SYS_FSPICK = 4433
|
||||
SYS_PIDFD_OPEN = 4434
|
||||
SYS_CLONE3 = 4435
|
||||
)
|
||||
|
|
|
@ -345,4 +345,5 @@ const (
|
|||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
)
|
||||
|
|
|
@ -345,4 +345,5 @@ const (
|
|||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
)
|
||||
|
|
|
@ -415,4 +415,5 @@ const (
|
|||
SYS_FSMOUNT = 4432
|
||||
SYS_FSPICK = 4433
|
||||
SYS_PIDFD_OPEN = 4434
|
||||
SYS_CLONE3 = 4435
|
||||
)
|
||||
|
|
|
@ -256,7 +256,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -427,7 +427,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2041,6 +2041,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2055,6 +2056,7 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2663,7 +2665,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2743,7 +2745,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -256,7 +256,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -428,7 +428,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2054,6 +2054,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2068,6 +2069,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2677,7 +2680,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2757,7 +2760,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -260,7 +260,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -431,7 +431,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2032,6 +2032,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2046,6 +2047,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2654,7 +2657,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2734,7 +2737,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -257,7 +257,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -429,7 +429,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2033,6 +2033,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2047,6 +2048,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2656,7 +2659,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2736,7 +2739,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -259,7 +259,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -430,7 +430,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2038,6 +2038,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2052,6 +2053,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2660,7 +2663,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2740,7 +2743,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -257,7 +257,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -429,7 +429,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2036,6 +2036,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2050,6 +2051,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2659,7 +2662,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2739,7 +2742,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -257,7 +257,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -429,7 +429,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2036,6 +2036,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2050,6 +2051,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2659,7 +2662,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2739,7 +2742,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -259,7 +259,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -430,7 +430,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2038,6 +2038,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2052,6 +2053,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2660,7 +2663,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2740,7 +2743,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -258,7 +258,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -430,7 +430,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2043,6 +2043,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2057,6 +2058,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2666,7 +2669,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2746,7 +2749,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -258,7 +258,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -430,7 +430,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2043,6 +2043,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2057,6 +2058,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2666,7 +2669,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2746,7 +2749,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -257,7 +257,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -429,7 +429,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2061,6 +2061,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2075,6 +2076,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2684,7 +2687,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2764,7 +2767,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -256,7 +256,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -428,7 +428,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2057,6 +2057,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2071,6 +2072,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2680,7 +2683,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2760,7 +2763,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -260,7 +260,7 @@ type RawSockaddrRFCOMM struct {
|
|||
type RawSockaddrCAN struct {
|
||||
Family uint16
|
||||
Ifindex int32
|
||||
Addr [8]byte
|
||||
Addr [16]byte
|
||||
}
|
||||
|
||||
type RawSockaddrALG struct {
|
||||
|
@ -432,7 +432,7 @@ const (
|
|||
SizeofSockaddrHCI = 0x6
|
||||
SizeofSockaddrL2 = 0xe
|
||||
SizeofSockaddrRFCOMM = 0xa
|
||||
SizeofSockaddrCAN = 0x10
|
||||
SizeofSockaddrCAN = 0x18
|
||||
SizeofSockaddrALG = 0x58
|
||||
SizeofSockaddrVM = 0x10
|
||||
SizeofSockaddrXDP = 0x10
|
||||
|
@ -2038,6 +2038,7 @@ type XDPRingOffset struct {
|
|||
Producer uint64
|
||||
Consumer uint64
|
||||
Desc uint64
|
||||
Flags uint64
|
||||
}
|
||||
|
||||
type XDPMmapOffsets struct {
|
||||
|
@ -2052,6 +2053,8 @@ type XDPUmemReg struct {
|
|||
Len uint64
|
||||
Size uint32
|
||||
Headroom uint32
|
||||
Flags uint32
|
||||
_ [4]byte
|
||||
}
|
||||
|
||||
type XDPStatistics struct {
|
||||
|
@ -2661,7 +2664,7 @@ const (
|
|||
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
|
||||
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
|
||||
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
|
||||
DEVLINK_CMD_MAX = 0x3c
|
||||
DEVLINK_CMD_MAX = 0x44
|
||||
DEVLINK_PORT_TYPE_NOTSET = 0x0
|
||||
DEVLINK_PORT_TYPE_AUTO = 0x1
|
||||
DEVLINK_PORT_TYPE_ETH = 0x2
|
||||
|
@ -2741,7 +2744,7 @@ const (
|
|||
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
|
||||
DEVLINK_ATTR_PAD = 0x3d
|
||||
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
|
||||
DEVLINK_ATTR_MAX = 0x80
|
||||
DEVLINK_ATTR_MAX = 0x89
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
|
||||
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
|
||||
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
|
||||
|
|
|
@ -13,9 +13,10 @@ import (
|
|||
// It also carries the FileSet that produced the positions, so that it is
|
||||
// self contained.
|
||||
type Range struct {
|
||||
FileSet *token.FileSet
|
||||
Start token.Pos
|
||||
End token.Pos
|
||||
FileSet *token.FileSet
|
||||
Start token.Pos
|
||||
End token.Pos
|
||||
Converter Converter
|
||||
}
|
||||
|
||||
// TokenConverter is a Converter backed by a token file set and file.
|
||||
|
@ -64,33 +65,56 @@ func (r Range) Span() (Span, error) {
|
|||
if f == nil {
|
||||
return Span{}, fmt.Errorf("file not found in FileSet")
|
||||
}
|
||||
s := Span{}
|
||||
var s Span
|
||||
var err error
|
||||
s.v.Start.Offset, err = offset(f, r.Start)
|
||||
var startFilename string
|
||||
startFilename, s.v.Start.Line, s.v.Start.Column, err = position(f, r.Start)
|
||||
if err != nil {
|
||||
return Span{}, err
|
||||
}
|
||||
s.v.URI = FileURI(startFilename)
|
||||
if r.End.IsValid() {
|
||||
s.v.End.Offset, err = offset(f, r.End)
|
||||
var endFilename string
|
||||
endFilename, s.v.End.Line, s.v.End.Column, err = position(f, r.End)
|
||||
if err != nil {
|
||||
return Span{}, err
|
||||
}
|
||||
}
|
||||
// In the presence of line directives, a single File can have sections from
|
||||
// multiple file names.
|
||||
filename := f.Position(r.Start).Filename
|
||||
if r.End.IsValid() {
|
||||
if endFilename := f.Position(r.End).Filename; filename != endFilename {
|
||||
return Span{}, fmt.Errorf("span begins in file %q but ends in %q", filename, endFilename)
|
||||
// In the presence of line directives, a single File can have sections from
|
||||
// multiple file names.
|
||||
if endFilename != startFilename {
|
||||
return Span{}, fmt.Errorf("span begins in file %q but ends in %q", startFilename, endFilename)
|
||||
}
|
||||
}
|
||||
s.v.URI = FileURI(filename)
|
||||
|
||||
s.v.Start.clean()
|
||||
s.v.End.clean()
|
||||
s.v.clean()
|
||||
converter := NewTokenConverter(r.FileSet, f)
|
||||
return s.WithPosition(converter)
|
||||
if r.Converter != nil {
|
||||
return s.WithOffset(r.Converter)
|
||||
}
|
||||
if startFilename != f.Name() {
|
||||
return Span{}, fmt.Errorf("must supply Converter for file %q containing lines from %q", f.Name(), startFilename)
|
||||
}
|
||||
return s.WithOffset(NewTokenConverter(r.FileSet, f))
|
||||
}
|
||||
|
||||
func position(f *token.File, pos token.Pos) (string, int, int, error) {
|
||||
off, err := offset(f, pos)
|
||||
if err != nil {
|
||||
return "", 0, 0, err
|
||||
}
|
||||
return positionFromOffset(f, off)
|
||||
}
|
||||
|
||||
func positionFromOffset(f *token.File, offset int) (string, int, int, error) {
|
||||
if offset > f.Size() {
|
||||
return "", 0, 0, fmt.Errorf("offset %v is past the end of the file %v", offset, f.Size())
|
||||
}
|
||||
pos := f.Pos(offset)
|
||||
p := f.Position(pos)
|
||||
if offset == f.Size() {
|
||||
return p.Filename, p.Line + 1, 1, nil
|
||||
}
|
||||
return p.Filename, p.Line, p.Column, nil
|
||||
}
|
||||
|
||||
// offset is a copy of the Offset function in go/token, but with the adjustment
|
||||
|
@ -118,22 +142,16 @@ func (s Span) Range(converter *TokenConverter) (Range, error) {
|
|||
return Range{}, fmt.Errorf("end offset %v is past the end of the file %v", s.End(), converter.file.Size())
|
||||
}
|
||||
return Range{
|
||||
FileSet: converter.fset,
|
||||
Start: converter.file.Pos(s.Start().Offset()),
|
||||
End: converter.file.Pos(s.End().Offset()),
|
||||
FileSet: converter.fset,
|
||||
Start: converter.file.Pos(s.Start().Offset()),
|
||||
End: converter.file.Pos(s.End().Offset()),
|
||||
Converter: converter,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (l *TokenConverter) ToPosition(offset int) (int, int, error) {
|
||||
if offset > l.file.Size() {
|
||||
return 0, 0, fmt.Errorf("offset %v is past the end of the file %v", offset, l.file.Size())
|
||||
}
|
||||
pos := l.file.Pos(offset)
|
||||
p := l.fset.Position(pos)
|
||||
if offset == l.file.Size() {
|
||||
return p.Line + 1, 1, nil
|
||||
}
|
||||
return p.Line, p.Column, nil
|
||||
_, line, col, err := positionFromOffset(l.file, offset)
|
||||
return line, col, err
|
||||
}
|
||||
|
||||
func (l *TokenConverter) ToOffset(line, col int) (int, error) {
|
||||
|
|
|
@ -4660,6 +4660,12 @@ const (
|
|||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
const (
|
||||
// NamespaceTerminatingCause is returned as a defaults.cause item when a change is
|
||||
// forbidden due to the namespace being terminated.
|
||||
NamespaceTerminatingCause metav1.CauseType = "NamespaceTerminating"
|
||||
)
|
||||
|
||||
type NamespaceConditionType string
|
||||
|
||||
// These are valid conditions of a namespace.
|
||||
|
|
|
@ -70,6 +70,28 @@ func (e *StatusError) DebugError() (string, []interface{}) {
|
|||
return "server response object: %#v", []interface{}{e.ErrStatus}
|
||||
}
|
||||
|
||||
// HasStatusCause returns true if the provided error has a details cause
|
||||
// with the provided type name.
|
||||
func HasStatusCause(err error, name metav1.CauseType) bool {
|
||||
_, ok := StatusCause(err, name)
|
||||
return ok
|
||||
}
|
||||
|
||||
// StatusCause returns the named cause from the provided error if it exists and
|
||||
// the error is of the type APIStatus. Otherwise it returns false.
|
||||
func StatusCause(err error, name metav1.CauseType) (metav1.StatusCause, bool) {
|
||||
apierr, ok := err.(APIStatus)
|
||||
if !ok || apierr == nil || apierr.Status().Details == nil {
|
||||
return metav1.StatusCause{}, false
|
||||
}
|
||||
for _, cause := range apierr.Status().Details.Causes {
|
||||
if cause.Type == name {
|
||||
return cause, true
|
||||
}
|
||||
}
|
||||
return metav1.StatusCause{}, false
|
||||
}
|
||||
|
||||
// UnexpectedObjectError can be returned by FromObject if it's passed a non-status object.
|
||||
type UnexpectedObjectError struct {
|
||||
Object runtime.Object
|
||||
|
|
Загрузка…
Ссылка в новой задаче