types

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessKey

type AccessKey struct {
	UserName        string `xml:",omitempty"`
	AccessKeyId     string
	Status          string
	SecretAccessKey string
	CreateDate      time.Time
}

type AccessKeyEntry

type AccessKeyEntry struct {
	AccessKeyId     string
	SecretAccessKey string
	Status          string
	CreateDate      time.Time
	LastUsedDate    time.Time
	LastUsedService string
	LastUsedRegion  string
}

AccessKeyEntry is the storage representation of an access key belonging to a User. It is never marshaled to XML directly; it round-trips through JSON for the internal and Vault storers.

type AccessKeyLastUsed

type AccessKeyLastUsed struct {
	LastUsedDate *time.Time `xml:",omitempty"`
	ServiceName  string
	Region       string
}

type AccessKeyMetadata

type AccessKeyMetadata struct {
	UserName    string `xml:",omitempty"`
	AccessKeyId string
	Status      string
	CreateDate  time.Time
}

type AccessKeyMetadataList

type AccessKeyMetadataList struct {
	Members []AccessKeyMetadata `xml:"member"`
}

type ActionResponse

type ActionResponse interface {
	SetRequestID(string)
}

type AddClientIDToOpenIDConnectProviderResponse

type AddClientIDToOpenIDConnectProviderResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ AddClientIDToOpenIDConnectProviderResponse"`
	ResponseMetadata ResponseMetadata
}

func (*AddClientIDToOpenIDConnectProviderResponse) SetRequestID

func (r *AddClientIDToOpenIDConnectProviderResponse) SetRequestID(requestID string)

type AssumeRoleWithWebIdentityResponse

type AssumeRoleWithWebIdentityResponse struct {
	XMLName          xml.Name                        `xml:"https://sts.amazonaws.com/doc/2011-06-15/ AssumeRoleWithWebIdentityResponse"`
	Result           AssumeRoleWithWebIdentityResult `xml:"AssumeRoleWithWebIdentityResult"`
	ResponseMetadata ResponseMetadata
}

func (*AssumeRoleWithWebIdentityResponse) SetRequestID

func (r *AssumeRoleWithWebIdentityResponse) SetRequestID(requestID string)

type AssumeRoleWithWebIdentityResult

type AssumeRoleWithWebIdentityResult struct {
	Audience                    string `xml:",omitempty"`
	AssumedRoleUser             AssumedRoleUser
	Provider                    string
	Credentials                 Credentials
	SubjectFromWebIdentityToken string
	// PackedPolicySize is a percentage indicating how close the request's
	// session policy came to its size quota; nil (and therefore omitted,
	// matching AWS) when no session Policy parameter was supplied.
	PackedPolicySize *int64 `xml:",omitempty"`
}

type AssumedRoleUser

type AssumedRoleUser struct {
	AssumedRoleId string
	Arn           string
}

AssumedRoleUser identifies the principal produced by assuming a role.

type CreateAccessKeyResponse

type CreateAccessKeyResponse struct {
	XMLName          xml.Name              `xml:"https://iam.amazonaws.com/doc/2010-05-08/ CreateAccessKeyResponse"`
	Result           CreateAccessKeyResult `xml:"CreateAccessKeyResult"`
	ResponseMetadata ResponseMetadata
}

func (*CreateAccessKeyResponse) SetRequestID

func (r *CreateAccessKeyResponse) SetRequestID(requestID string)

type CreateAccessKeyResult

type CreateAccessKeyResult struct {
	AccessKey AccessKey
}

type CreateOpenIDConnectProviderResponse

type CreateOpenIDConnectProviderResponse struct {
	XMLName          xml.Name                          `xml:"https://iam.amazonaws.com/doc/2010-05-08/ CreateOpenIDConnectProviderResponse"`
	Result           CreateOpenIDConnectProviderResult `xml:"CreateOpenIDConnectProviderResult"`
	ResponseMetadata ResponseMetadata
}

func (*CreateOpenIDConnectProviderResponse) SetRequestID

func (r *CreateOpenIDConnectProviderResponse) SetRequestID(requestID string)

type CreateOpenIDConnectProviderResult

type CreateOpenIDConnectProviderResult struct {
	OpenIDConnectProviderArn string `xml:"OpenIDConnectProviderArn"`
	Tags                     []Tag  `xml:"Tags>member,omitempty"`
}

type CreateRoleResponse

type CreateRoleResponse struct {
	XMLName          xml.Name         `xml:"https://iam.amazonaws.com/doc/2010-05-08/ CreateRoleResponse"`
	Result           CreateRoleResult `xml:"CreateRoleResult"`
	ResponseMetadata ResponseMetadata
}

func (*CreateRoleResponse) SetRequestID

func (r *CreateRoleResponse) SetRequestID(requestID string)

type CreateRoleResult

type CreateRoleResult struct {
	Role *Role
}

type CreateUserResponse

type CreateUserResponse struct {
	XMLName          xml.Name         `xml:"https://iam.amazonaws.com/doc/2010-05-08/ CreateUserResponse"`
	Result           CreateUserResult `xml:"CreateUserResult"`
	ResponseMetadata ResponseMetadata
}

func (*CreateUserResponse) SetRequestID

func (r *CreateUserResponse) SetRequestID(requestID string)

type CreateUserResult

type CreateUserResult struct {
	User User
}

type Credentials

type Credentials struct {
	AccessKeyId     string
	SecretAccessKey string
	SessionToken    string
	Expiration      time.Time
}

Credentials is the temporary security credential set returned by AssumeRoleWithWebIdentity.

type DeleteAccessKeyResponse

type DeleteAccessKeyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteAccessKeyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteAccessKeyResponse) SetRequestID

func (r *DeleteAccessKeyResponse) SetRequestID(requestID string)

type DeleteOpenIDConnectProviderResponse

type DeleteOpenIDConnectProviderResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteOpenIDConnectProviderResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteOpenIDConnectProviderResponse) SetRequestID

func (r *DeleteOpenIDConnectProviderResponse) SetRequestID(requestID string)

type DeleteRolePolicyResponse

type DeleteRolePolicyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteRolePolicyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteRolePolicyResponse) SetRequestID

func (r *DeleteRolePolicyResponse) SetRequestID(requestID string)

type DeleteRoleResponse

type DeleteRoleResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteRoleResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteRoleResponse) SetRequestID

func (r *DeleteRoleResponse) SetRequestID(requestID string)

type DeleteUserPolicyResponse

type DeleteUserPolicyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteUserPolicyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteUserPolicyResponse) SetRequestID

func (r *DeleteUserPolicyResponse) SetRequestID(requestID string)

type DeleteUserResponse

type DeleteUserResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ DeleteUserResponse"`
	ResponseMetadata ResponseMetadata
}

func (*DeleteUserResponse) SetRequestID

func (r *DeleteUserResponse) SetRequestID(requestID string)

type GetAccessKeyLastUsedResponse

type GetAccessKeyLastUsedResponse struct {
	XMLName          xml.Name                   `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetAccessKeyLastUsedResponse"`
	Result           GetAccessKeyLastUsedResult `xml:"GetAccessKeyLastUsedResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetAccessKeyLastUsedResponse) SetRequestID

func (r *GetAccessKeyLastUsedResponse) SetRequestID(requestID string)

type GetAccessKeyLastUsedResult

type GetAccessKeyLastUsedResult struct {
	UserName          string `xml:",omitempty"`
	AccessKeyLastUsed AccessKeyLastUsed
}

type GetCallerIdentityResponse

type GetCallerIdentityResponse struct {
	XMLName          xml.Name                `xml:"https://sts.amazonaws.com/doc/2011-06-15/ GetCallerIdentityResponse"`
	Result           GetCallerIdentityResult `xml:"GetCallerIdentityResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetCallerIdentityResponse) SetRequestID

func (r *GetCallerIdentityResponse) SetRequestID(requestID string)

type GetCallerIdentityResult

type GetCallerIdentityResult struct {
	Arn     string
	UserId  string
	Account string
}

type GetOpenIDConnectProviderResponse

type GetOpenIDConnectProviderResponse struct {
	XMLName          xml.Name                       `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetOpenIDConnectProviderResponse"`
	Result           GetOpenIDConnectProviderResult `xml:"GetOpenIDConnectProviderResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetOpenIDConnectProviderResponse) SetRequestID

func (r *GetOpenIDConnectProviderResponse) SetRequestID(requestID string)

type GetOpenIDConnectProviderResult

type GetOpenIDConnectProviderResult struct {
	Url            string    `xml:",omitempty"`
	ClientIDList   []string  `xml:"ClientIDList>member,omitempty"`
	ThumbprintList []string  `xml:"ThumbprintList>member,omitempty"`
	CreateDate     time.Time `xml:"CreateDate"`
	Tags           []Tag     `xml:"Tags>member,omitempty"`
}

type GetRolePolicyResponse

type GetRolePolicyResponse struct {
	XMLName          xml.Name            `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetRolePolicyResponse"`
	Result           GetRolePolicyResult `xml:"GetRolePolicyResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetRolePolicyResponse) SetRequestID

func (r *GetRolePolicyResponse) SetRequestID(requestID string)

type GetRolePolicyResult

type GetRolePolicyResult struct {
	RoleName       string
	PolicyName     string
	PolicyDocument string
}

type GetRoleResponse

type GetRoleResponse struct {
	XMLName          xml.Name      `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetRoleResponse"`
	Result           GetRoleResult `xml:"GetRoleResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetRoleResponse) SetRequestID

func (r *GetRoleResponse) SetRequestID(requestID string)

type GetRoleResult

type GetRoleResult struct {
	Role *Role
}

type GetUserPolicyResponse

type GetUserPolicyResponse struct {
	XMLName          xml.Name            `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetUserPolicyResponse"`
	Result           GetUserPolicyResult `xml:"GetUserPolicyResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetUserPolicyResponse) SetRequestID

func (r *GetUserPolicyResponse) SetRequestID(requestID string)

type GetUserPolicyResult

type GetUserPolicyResult struct {
	UserName       string
	PolicyName     string
	PolicyDocument string
}

GetUserPolicyResult's PolicyDocument must be RFC 3986 percent-encoded by the caller before assignment — see iamutil.EncodePolicyDocument. Real IAM returns PolicyDocument URL-encoded; xml.Marshal does not do this encoding on its own.

type GetUserResponse

type GetUserResponse struct {
	XMLName          xml.Name      `xml:"https://iam.amazonaws.com/doc/2010-05-08/ GetUserResponse"`
	Result           GetUserResult `xml:"GetUserResult"`
	ResponseMetadata ResponseMetadata
}

func (*GetUserResponse) SetRequestID

func (r *GetUserResponse) SetRequestID(requestID string)

type GetUserResult

type GetUserResult struct {
	User User
}

type Identity

type Identity struct {
	IsRoot  bool
	User    *User
	Role    *Role
	Session *Session

	// IdentityPolicies are the inline policies to evaluate for
	// authorization: the User's own policies, or the assumed Role's
	// policies for a Session. Unset (nil) when IsRoot.
	IdentityPolicies []PolicyEntry

	// SessionPolicy is the session's own inline policy document (the
	// AssumeRoleWithWebIdentity Policy parameter), or "" if none was
	// supplied. Only ever set alongside Session.
	SessionPolicy string
}

Identity is the caller identity the auth middleware resolves for a request, shared across the auth middleware, the policy middleware, and controllers (GetCallerIdentity) so the access key only ever needs to be resolved once per request.

Exactly one of IsRoot, User, or Session is set:

  • IsRoot: the configured root credential. Bypasses policy evaluation entirely, matching real AWS's root user.
  • User: a long-term (AKIA…) IAM user credential. IdentityPolicies holds that user's own inline policy documents.
  • Session: a temporary (ASIA…) credential minted by AssumeRoleWithWebIdentity. Role is the assumed role; IdentityPolicies holds the role's inline policy documents, and SessionPolicy — if non-empty — is an additional filter that can only narrow, never widen, what the role otherwise allows (Effective permissions = Role identity-based permissions ∩ Session policy permissions).

type ListAccessKeysResponse

type ListAccessKeysResponse struct {
	XMLName          xml.Name             `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListAccessKeysResponse"`
	Result           ListAccessKeysResult `xml:"ListAccessKeysResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListAccessKeysResponse) SetRequestID

func (r *ListAccessKeysResponse) SetRequestID(requestID string)

type ListAccessKeysResult

type ListAccessKeysResult struct {
	AccessKeyMetadata AccessKeyMetadataList
	IsTruncated       bool
	Marker            string `xml:",omitempty"`
}

type ListOpenIDConnectProviderTagsResponse

type ListOpenIDConnectProviderTagsResponse struct {
	XMLName          xml.Name                            `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListOpenIDConnectProviderTagsResponse"`
	Result           ListOpenIDConnectProviderTagsResult `xml:"ListOpenIDConnectProviderTagsResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListOpenIDConnectProviderTagsResponse) SetRequestID

func (r *ListOpenIDConnectProviderTagsResponse) SetRequestID(requestID string)

type ListOpenIDConnectProviderTagsResult

type ListOpenIDConnectProviderTagsResult struct {
	Tags        Tags
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListOpenIDConnectProvidersResponse

type ListOpenIDConnectProvidersResponse struct {
	XMLName          xml.Name                         `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListOpenIDConnectProvidersResponse"`
	Result           ListOpenIDConnectProvidersResult `xml:"ListOpenIDConnectProvidersResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListOpenIDConnectProvidersResponse) SetRequestID

func (r *ListOpenIDConnectProvidersResponse) SetRequestID(requestID string)

type ListOpenIDConnectProvidersResult

type ListOpenIDConnectProvidersResult struct {
	OpenIDConnectProviderList OpenIDConnectProviderList
}

type ListRolePoliciesResponse

type ListRolePoliciesResponse struct {
	XMLName          xml.Name               `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListRolePoliciesResponse"`
	Result           ListRolePoliciesResult `xml:"ListRolePoliciesResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListRolePoliciesResponse) SetRequestID

func (r *ListRolePoliciesResponse) SetRequestID(requestID string)

type ListRolePoliciesResult

type ListRolePoliciesResult struct {
	PolicyNames PolicyNameList
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListRoleTagsResponse

type ListRoleTagsResponse struct {
	XMLName          xml.Name           `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListRoleTagsResponse"`
	Result           ListRoleTagsResult `xml:"ListRoleTagsResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListRoleTagsResponse) SetRequestID

func (r *ListRoleTagsResponse) SetRequestID(requestID string)

type ListRoleTagsResult

type ListRoleTagsResult struct {
	Tags        Tags
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListRolesResponse

type ListRolesResponse struct {
	XMLName          xml.Name        `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListRolesResponse"`
	Result           ListRolesResult `xml:"ListRolesResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListRolesResponse) SetRequestID

func (r *ListRolesResponse) SetRequestID(requestID string)

type ListRolesResult

type ListRolesResult struct {
	Roles       Roles
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListUserPoliciesResponse

type ListUserPoliciesResponse struct {
	XMLName          xml.Name               `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListUserPoliciesResponse"`
	Result           ListUserPoliciesResult `xml:"ListUserPoliciesResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListUserPoliciesResponse) SetRequestID

func (r *ListUserPoliciesResponse) SetRequestID(requestID string)

type ListUserPoliciesResult

type ListUserPoliciesResult struct {
	PolicyNames PolicyNameList
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListUserTagsResponse

type ListUserTagsResponse struct {
	XMLName          xml.Name           `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListUserTagsResponse"`
	Result           ListUserTagsResult `xml:"ListUserTagsResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListUserTagsResponse) SetRequestID

func (r *ListUserTagsResponse) SetRequestID(requestID string)

type ListUserTagsResult

type ListUserTagsResult struct {
	Tags        Tags
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type ListUsersResponse

type ListUsersResponse struct {
	XMLName          xml.Name        `xml:"https://iam.amazonaws.com/doc/2010-05-08/ ListUsersResponse"`
	Result           ListUsersResult `xml:"ListUsersResult"`
	ResponseMetadata ResponseMetadata
}

func (*ListUsersResponse) SetRequestID

func (r *ListUsersResponse) SetRequestID(requestID string)

type ListUsersResult

type ListUsersResult struct {
	Users       Users
	IsTruncated bool
	Marker      string `xml:",omitempty"`
}

type OIDCProvider

type OIDCProvider struct {
	// Arn is the full arn:aws:iam::<account>:oidc-provider/<url> ARN.
	Arn string `json:"arn"`
	// Url is stored WITHOUT the "https://" scheme prefix. This is both the
	// ARN's resource-path suffix and the exact string
	// GetOpenIDConnectProvider echoes back in its own Url field. It is never
	// case-folded or otherwise normalized
	Url            string    `json:"url"`
	ClientIDList   []string  `json:"clientIDList,omitempty"`
	ThumbprintList []string  `json:"thumbprintList,omitempty"`
	CreateDate     time.Time `json:"createDate"`
	Tags           []Tag     `json:"tags,omitempty"`
}

OIDCProvider is the storage-layer representation of an IAM OIDC identity provider. Unlike Role, it is never marshaled to XML directly — each real IAM action returns a different subset of its fields — so it is copied field-by-field into the narrower XML result types

type OpenIDConnectProviderList

type OpenIDConnectProviderList struct {
	Members []OpenIDConnectProviderListEntry `xml:"member"`
}

type OpenIDConnectProviderListEntry

type OpenIDConnectProviderListEntry struct {
	Arn string `xml:"Arn"`
}

type Policies

type Policies struct {
	Inline []PolicyEntry `json:"inline,omitempty"`
}

Policies holds every kind of policy attached to an identity (user, role ...) Inline is the only populated field for now

type PolicyEntry

type PolicyEntry struct {
	PolicyName     string
	PolicyDocument string
	CreateDate     time.Time
	UpdateDate     time.Time
}

PolicyEntry is the storage representation of a single inline policy. It round-trips through JSON for the internal and Vault storers and is never marshaled to XML directly — mirrors AccessKeyEntry. PolicyDocument holds the exact bytes submitted by the caller (after validation), not a re-serialized form

type PolicyNameList

type PolicyNameList struct {
	Members []string `xml:"member"`
}

type PutRolePolicyResponse

type PutRolePolicyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ PutRolePolicyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*PutRolePolicyResponse) SetRequestID

func (r *PutRolePolicyResponse) SetRequestID(requestID string)

type PutUserPolicyResponse

type PutUserPolicyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ PutUserPolicyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*PutUserPolicyResponse) SetRequestID

func (r *PutUserPolicyResponse) SetRequestID(requestID string)

type RemoveClientIDFromOpenIDConnectProviderResponse

type RemoveClientIDFromOpenIDConnectProviderResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ RemoveClientIDFromOpenIDConnectProviderResponse"`
	ResponseMetadata ResponseMetadata
}

func (*RemoveClientIDFromOpenIDConnectProviderResponse) SetRequestID

func (r *RemoveClientIDFromOpenIDConnectProviderResponse) SetRequestID(requestID string)

type ResponseMetadata

type ResponseMetadata struct {
	RequestID string `xml:"RequestId"`
}

type Role

type Role struct {
	Path                     string    `xml:",omitempty"`
	RoleName                 string    `xml:",omitempty"`
	RoleID                   string    `xml:"RoleId"`
	Arn                      string    `xml:"Arn"`
	CreateDate               time.Time `xml:"CreateDate"`
	AssumeRolePolicyDocument string    `xml:",omitempty"`
	Description              string    `xml:",omitempty"`
	MaxSessionDuration       int32     `xml:"MaxSessionDuration,omitempty"`
	RoleLastUsed             *RoleLastUsed
	Tags                     []Tag    `xml:"Tags>member,omitempty"`
	Policies                 Policies `xml:"-"` // unused until role inline-policy CRUD exists; see DeleteRole conflict check
}

func (*Role) EnsureRoleLastUsed

func (r *Role) EnsureRoleLastUsed()

EnsureRoleLastUsed defaults RoleLastUsed to a never-used value if unset, without clobbering an already-set one. A zero LastUsedDate is normalized away to nil: a role stored before last-used tracking existed persists the zero time, which must still report as never used.

type RoleLastUsed

type RoleLastUsed struct {
	LastUsedDate *time.Time `xml:",omitempty"`
	Region       string     `xml:",omitempty"`
}

RoleLastUsed reports when, and in which region, a role was last used. LastUsedDate is a pointer so a never-used role renders as the empty <RoleLastUsed></RoleLastUsed> element AWS returns, rather than as a role used at the zero time.

type Roles

type Roles struct {
	Members []Role `xml:"member"`
}

type Session

type Session struct {
	AccessKeyId     string    `json:"accessKeyId"`
	SecretAccessKey string    `json:"secretAccessKey"`
	SessionToken    string    `json:"sessionToken"`
	RoleArn         string    `json:"roleArn"`
	RoleName        string    `json:"roleName"`
	RoleID          string    `json:"roleId"`
	RoleSessionName string    `json:"roleSessionName"`
	Provider        string    `json:"provider"`
	Audience        string    `json:"audience"`
	Subject         string    `json:"subject"`
	CreateDate      time.Time `json:"createDate"`
	Expiration      time.Time `json:"expiration"`
	// Policy is the optional inline session policy document supplied via
	// AssumeRoleWithWebIdentity's Policy parameter, or "" if none was
	// supplied. It can only narrow, never widen, the assumed role's own
	// permissions.
	Policy string `json:"policy,omitempty"`
}

Session is the storage-layer representation of a temporary credential set minted by AssumeRoleWithWebIdentity. It is never marshaled to XML directly — GetCallerIdentity and (in a later change) S3 request authentication read it back by AccessKeyId to resolve the calling identity.

type Tag

type Tag struct {
	Key   string
	Value string
}

type TagOpenIDConnectProviderResponse

type TagOpenIDConnectProviderResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ TagOpenIDConnectProviderResponse"`
	ResponseMetadata ResponseMetadata
}

func (*TagOpenIDConnectProviderResponse) SetRequestID

func (r *TagOpenIDConnectProviderResponse) SetRequestID(requestID string)

type TagRoleResponse

type TagRoleResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ TagRoleResponse"`
	ResponseMetadata ResponseMetadata
}

func (*TagRoleResponse) SetRequestID

func (r *TagRoleResponse) SetRequestID(requestID string)

type TagUserResponse

type TagUserResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ TagUserResponse"`
	ResponseMetadata ResponseMetadata
}

func (*TagUserResponse) SetRequestID

func (r *TagUserResponse) SetRequestID(requestID string)

type Tags

type Tags struct {
	Members []Tag `xml:"member"`
}

Tags is the XML wrapper for a tag list, rendering as <Tags><member>…</member></Tags> — and, when empty, as <Tags/> rather than being omitted, matching AWS's response for an untagged user.

type UntagOpenIDConnectProviderResponse

type UntagOpenIDConnectProviderResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UntagOpenIDConnectProviderResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UntagOpenIDConnectProviderResponse) SetRequestID

func (r *UntagOpenIDConnectProviderResponse) SetRequestID(requestID string)

type UntagRoleResponse

type UntagRoleResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UntagRoleResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UntagRoleResponse) SetRequestID

func (r *UntagRoleResponse) SetRequestID(requestID string)

type UntagUserResponse

type UntagUserResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UntagUserResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UntagUserResponse) SetRequestID

func (r *UntagUserResponse) SetRequestID(requestID string)

type UpdateAccessKeyResponse

type UpdateAccessKeyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UpdateAccessKeyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UpdateAccessKeyResponse) SetRequestID

func (r *UpdateAccessKeyResponse) SetRequestID(requestID string)

type UpdateAssumeRolePolicyResponse

type UpdateAssumeRolePolicyResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UpdateAssumeRolePolicyResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UpdateAssumeRolePolicyResponse) SetRequestID

func (r *UpdateAssumeRolePolicyResponse) SetRequestID(requestID string)

type UpdateOpenIDConnectProviderThumbprintResponse

type UpdateOpenIDConnectProviderThumbprintResponse struct {
	XMLName          xml.Name `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UpdateOpenIDConnectProviderThumbprintResponse"`
	ResponseMetadata ResponseMetadata
}

func (*UpdateOpenIDConnectProviderThumbprintResponse) SetRequestID

func (r *UpdateOpenIDConnectProviderThumbprintResponse) SetRequestID(requestID string)

type UpdateUserResponse

type UpdateUserResponse struct {
	XMLName          xml.Name         `xml:"https://iam.amazonaws.com/doc/2010-05-08/ UpdateUserResponse"`
	Result           UpdateUserResult `xml:"UpdateUserResult"`
	ResponseMetadata ResponseMetadata
}

func (*UpdateUserResponse) SetRequestID

func (r *UpdateUserResponse) SetRequestID(requestID string)

type UpdateUserResult

type UpdateUserResult struct {
	User *User
}

type User

type User struct {
	Path       string           `xml:",omitempty"`
	UserName   string           `xml:",omitempty"`
	UserID     string           `xml:"UserId"`
	Arn        string           `xml:"Arn"`
	CreateDate time.Time        `xml:"CreateDate"`
	Tags       []Tag            `xml:"Tags>member,omitempty"`
	AccessKeys []AccessKeyEntry `xml:"-"`
	Policies   Policies         `xml:"-"`
}

type Users

type Users struct {
	Members []User `xml:"member"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL