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
 |