213 lines
		
	
	
	
		
			7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
	
		
			7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
const smithy = @import("smithy.zig");
 | 
						|
 | 
						|
pub const sts: struct {
 | 
						|
    version: []const u8 = "2011-06-15",
 | 
						|
    sdk_id: []const u8 = "STS",
 | 
						|
    arn_namespace: []const u8 = "sts",
 | 
						|
    endpoint_prefix: []const u8 = "sts",
 | 
						|
    sigv4_name: []const u8 = "sts",
 | 
						|
    aws_protocol: smithy.AwsProtocol = smithy.AwsProtocol.query,
 | 
						|
    assume_role: struct {
 | 
						|
        action_name: []const u8 = "AssumeRole",
 | 
						|
        Request: type = struct {
 | 
						|
            role_session_name: []const u8,
 | 
						|
            transitive_tag_keys: ?[][]const u8 = null,
 | 
						|
            serial_number: ?[]const u8 = null,
 | 
						|
            token_code: ?[]const u8 = null,
 | 
						|
            tags: ?[]struct {
 | 
						|
                value: []const u8,
 | 
						|
                key: []const u8,
 | 
						|
            } = null,
 | 
						|
            policy_arns: ?[]struct {
 | 
						|
                arn: ?[]const u8 = null,
 | 
						|
            } = null,
 | 
						|
            role_arn: []const u8,
 | 
						|
            source_identity: ?[]const u8 = null,
 | 
						|
            duration_seconds: ?i64 = null,
 | 
						|
            policy: ?[]const u8 = null,
 | 
						|
            external_id: ?[]const u8 = null,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            credentials: struct {
 | 
						|
                access_key_id: []const u8,
 | 
						|
                secret_access_key: []const u8,
 | 
						|
                session_token: []const u8,
 | 
						|
                expiration: i64,
 | 
						|
            },
 | 
						|
            source_identity: []const u8,
 | 
						|
            assumed_role_user: struct {
 | 
						|
                assumed_role_id: []const u8,
 | 
						|
                arn: []const u8,
 | 
						|
            },
 | 
						|
            packed_policy_size: i64,
 | 
						|
        },
 | 
						|
        ServiceError: type = error{
 | 
						|
            ExpiredToken,
 | 
						|
            MalformedPolicyDocument,
 | 
						|
            PackedPolicyTooLarge,
 | 
						|
            RegionDisabled,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    assume_role_with_saml: struct {
 | 
						|
        action_name: []const u8 = "AssumeRoleWithSAML",
 | 
						|
        Request: type = struct {
 | 
						|
            policy_arns: ?[]struct {
 | 
						|
                arn: ?[]const u8 = null,
 | 
						|
            } = null,
 | 
						|
            role_arn: []const u8,
 | 
						|
            principal_arn: []const u8,
 | 
						|
            saml_assertion: []const u8,
 | 
						|
            duration_seconds: ?i64 = null,
 | 
						|
            policy: ?[]const u8 = null,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            credentials: struct {
 | 
						|
                access_key_id: []const u8,
 | 
						|
                secret_access_key: []const u8,
 | 
						|
                session_token: []const u8,
 | 
						|
                expiration: i64,
 | 
						|
            },
 | 
						|
            packed_policy_size: i64,
 | 
						|
            subject_type: []const u8,
 | 
						|
            name_qualifier: []const u8,
 | 
						|
            source_identity: []const u8,
 | 
						|
            assumed_role_user: struct {
 | 
						|
                assumed_role_id: []const u8,
 | 
						|
                arn: []const u8,
 | 
						|
            },
 | 
						|
            issuer: []const u8,
 | 
						|
            audience: []const u8,
 | 
						|
            subject: []const u8,
 | 
						|
        },
 | 
						|
        ServiceError: type = error{
 | 
						|
            ExpiredToken,
 | 
						|
            IDPRejectedClaim,
 | 
						|
            InvalidIdentityToken,
 | 
						|
            MalformedPolicyDocument,
 | 
						|
            PackedPolicyTooLarge,
 | 
						|
            RegionDisabled,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    assume_role_with_web_identity: struct {
 | 
						|
        action_name: []const u8 = "AssumeRoleWithWebIdentity",
 | 
						|
        Request: type = struct {
 | 
						|
            role_session_name: []const u8,
 | 
						|
            duration_seconds: ?i64 = null,
 | 
						|
            policy_arns: ?[]struct {
 | 
						|
                arn: ?[]const u8 = null,
 | 
						|
            } = null,
 | 
						|
            role_arn: []const u8,
 | 
						|
            provider_id: ?[]const u8 = null,
 | 
						|
            web_identity_token: []const u8,
 | 
						|
            policy: ?[]const u8 = null,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            subject_from_web_identity_token: []const u8,
 | 
						|
            credentials: struct {
 | 
						|
                access_key_id: []const u8,
 | 
						|
                secret_access_key: []const u8,
 | 
						|
                session_token: []const u8,
 | 
						|
                expiration: i64,
 | 
						|
            },
 | 
						|
            provider: []const u8,
 | 
						|
            packed_policy_size: i64,
 | 
						|
            source_identity: []const u8,
 | 
						|
            assumed_role_user: struct {
 | 
						|
                assumed_role_id: []const u8,
 | 
						|
                arn: []const u8,
 | 
						|
            },
 | 
						|
            audience: []const u8,
 | 
						|
        },
 | 
						|
        ServiceError: type = error{
 | 
						|
            ExpiredToken,
 | 
						|
            IDPCommunicationError,
 | 
						|
            IDPRejectedClaim,
 | 
						|
            InvalidIdentityToken,
 | 
						|
            MalformedPolicyDocument,
 | 
						|
            PackedPolicyTooLarge,
 | 
						|
            RegionDisabled,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    decode_authorization_message: struct {
 | 
						|
        action_name: []const u8 = "DecodeAuthorizationMessage",
 | 
						|
        Request: type = struct {
 | 
						|
            encoded_message: []const u8,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            decoded_message: []const u8,
 | 
						|
        },
 | 
						|
        ServiceError: type = error{InvalidAuthorizationMessage},
 | 
						|
    } = .{},
 | 
						|
    get_access_key_info: struct {
 | 
						|
        action_name: []const u8 = "GetAccessKeyInfo",
 | 
						|
        Request: type = struct {
 | 
						|
            access_key_id: []const u8,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            account: []const u8,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    get_caller_identity: struct {
 | 
						|
        action_name: []const u8 = "GetCallerIdentity",
 | 
						|
        Request: type = struct {
 | 
						|
            pub fn metaInfo(self: @This()) struct { service: @TypeOf(sts), action: @TypeOf(sts.get_caller_identity) } {
 | 
						|
                return .{ .service = sts, .action = sts.get_caller_identity };
 | 
						|
            }
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            user_id: []const u8,
 | 
						|
            arn: []const u8,
 | 
						|
            account: []const u8,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    get_federation_token: struct {
 | 
						|
        action_name: []const u8 = "GetFederationToken",
 | 
						|
        Request: type = struct {
 | 
						|
            policy_arns: ?[]struct {
 | 
						|
                arn: ?[]const u8 = null,
 | 
						|
            } = null,
 | 
						|
            name: []const u8,
 | 
						|
            tags: ?[]struct {
 | 
						|
                value: []const u8,
 | 
						|
                key: []const u8,
 | 
						|
            } = null,
 | 
						|
            duration_seconds: ?i64 = null,
 | 
						|
            policy: ?[]const u8 = null,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            credentials: struct {
 | 
						|
                access_key_id: []const u8,
 | 
						|
                secret_access_key: []const u8,
 | 
						|
                session_token: []const u8,
 | 
						|
                expiration: i64,
 | 
						|
            },
 | 
						|
            federated_user: struct {
 | 
						|
                arn: []const u8,
 | 
						|
                federated_user_id: []const u8,
 | 
						|
            },
 | 
						|
            packed_policy_size: i64,
 | 
						|
        },
 | 
						|
        ServiceError: type = error{
 | 
						|
            MalformedPolicyDocument,
 | 
						|
            PackedPolicyTooLarge,
 | 
						|
            RegionDisabled,
 | 
						|
        },
 | 
						|
    } = .{},
 | 
						|
    get_session_token: struct {
 | 
						|
        action_name: []const u8 = "GetSessionToken",
 | 
						|
        Request: type = struct {
 | 
						|
            duration_seconds: ?i64 = null,
 | 
						|
            serial_number: ?[]const u8 = null,
 | 
						|
            token_code: ?[]const u8 = null,
 | 
						|
        },
 | 
						|
        Response: type = struct {
 | 
						|
            credentials: struct {
 | 
						|
                access_key_id: []const u8,
 | 
						|
                secret_access_key: []const u8,
 | 
						|
                session_token: []const u8,
 | 
						|
                expiration: i64,
 | 
						|
            },
 | 
						|
        },
 | 
						|
        ServiceError: type = error{RegionDisabled},
 | 
						|
    } = .{},
 | 
						|
} = .{}; // end of service: sts
 |