{
  "metadata": {
    "apiVersion": "2010-05-08",
    "endpointPrefix": "iam",
    "globalEndpoint": "iam.amazonaws.com",
    "serviceAbbreviation": "IAM",
    "serviceFullName": "AWS Identity and Access Management",
    "signatureVersion": "v4",
    "xmlNamespace": "https://iam.amazonaws.com/doc/2010-05-08/",
    "protocol": "query"
  },
  "operations": {
    "AddRoleToInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName",
          "RoleName"
        ],
        "members": {
          "InstanceProfileName": {},
          "RoleName": {}
        }
      }
    },
    "AddUserToGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName",
          "UserName"
        ],
        "members": {
          "GroupName": {},
          "UserName": {}
        }
      }
    },
    "ChangePassword": {
      "input": {
        "type": "structure",
        "required": [
          "OldPassword",
          "NewPassword"
        ],
        "members": {
          "OldPassword": {
            "shape": "S8"
          },
          "NewPassword": {
            "shape": "S8"
          }
        }
      }
    },
    "CreateAccessKey": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "CreateAccessKeyResult",
        "type": "structure",
        "required": [
          "AccessKey"
        ],
        "members": {
          "AccessKey": {
            "type": "structure",
            "required": [
              "UserName",
              "AccessKeyId",
              "Status",
              "SecretAccessKey"
            ],
            "members": {
              "UserName": {},
              "AccessKeyId": {},
              "Status": {},
              "SecretAccessKey": {
                "type": "string",
                "sensitive": true
              },
              "CreateDate": {
                "type": "timestamp"
              }
            }
          }
        }
      }
    },
    "CreateAccountAlias": {
      "input": {
        "type": "structure",
        "required": [
          "AccountAlias"
        ],
        "members": {
          "AccountAlias": {}
        }
      }
    },
    "CreateGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName"
        ],
        "members": {
          "Path": {},
          "GroupName": {}
        }
      },
      "output": {
        "resultWrapper": "CreateGroupResult",
        "type": "structure",
        "required": [
          "Group"
        ],
        "members": {
          "Group": {
            "shape": "Sm"
          }
        }
      }
    },
    "CreateInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName"
        ],
        "members": {
          "InstanceProfileName": {},
          "Path": {}
        }
      },
      "output": {
        "resultWrapper": "CreateInstanceProfileResult",
        "type": "structure",
        "required": [
          "InstanceProfile"
        ],
        "members": {
          "InstanceProfile": {
            "shape": "Sr"
          }
        }
      }
    },
    "CreateLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "Password"
        ],
        "members": {
          "UserName": {},
          "Password": {
            "shape": "S8"
          },
          "PasswordResetRequired": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "resultWrapper": "CreateLoginProfileResult",
        "type": "structure",
        "required": [
          "LoginProfile"
        ],
        "members": {
          "LoginProfile": {
            "shape": "Sy"
          }
        }
      }
    },
    "CreateRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "AssumeRolePolicyDocument"
        ],
        "members": {
          "Path": {},
          "RoleName": {},
          "AssumeRolePolicyDocument": {}
        }
      },
      "output": {
        "resultWrapper": "CreateRoleResult",
        "type": "structure",
        "required": [
          "Role"
        ],
        "members": {
          "Role": {
            "shape": "St"
          }
        }
      }
    },
    "CreateSAMLProvider": {
      "input": {
        "type": "structure",
        "required": [
          "SAMLMetadataDocument",
          "Name"
        ],
        "members": {
          "SAMLMetadataDocument": {},
          "Name": {}
        }
      },
      "output": {
        "resultWrapper": "CreateSAMLProviderResult",
        "type": "structure",
        "members": {
          "SAMLProviderArn": {}
        }
      }
    },
    "CreateUser": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "Path": {},
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "CreateUserResult",
        "type": "structure",
        "members": {
          "User": {
            "shape": "S17"
          }
        }
      }
    },
    "CreateVirtualMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "VirtualMFADeviceName"
        ],
        "members": {
          "Path": {},
          "VirtualMFADeviceName": {}
        }
      },
      "output": {
        "resultWrapper": "CreateVirtualMFADeviceResult",
        "type": "structure",
        "required": [
          "VirtualMFADevice"
        ],
        "members": {
          "VirtualMFADevice": {
            "shape": "S1b"
          }
        }
      }
    },
    "DeactivateMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "SerialNumber"
        ],
        "members": {
          "UserName": {},
          "SerialNumber": {}
        }
      }
    },
    "DeleteAccessKey": {
      "input": {
        "type": "structure",
        "required": [
          "AccessKeyId"
        ],
        "members": {
          "UserName": {},
          "AccessKeyId": {}
        }
      }
    },
    "DeleteAccountAlias": {
      "input": {
        "type": "structure",
        "required": [
          "AccountAlias"
        ],
        "members": {
          "AccountAlias": {}
        }
      }
    },
    "DeleteAccountPasswordPolicy": {},
    "DeleteGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName"
        ],
        "members": {
          "GroupName": {}
        }
      }
    },
    "DeleteGroupPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName",
          "PolicyName"
        ],
        "members": {
          "GroupName": {},
          "PolicyName": {}
        }
      }
    },
    "DeleteInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName"
        ],
        "members": {
          "InstanceProfileName": {}
        }
      }
    },
    "DeleteLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {}
        }
      }
    },
    "DeleteRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {}
        }
      }
    },
    "DeleteRolePolicy": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "PolicyName"
        ],
        "members": {
          "RoleName": {},
          "PolicyName": {}
        }
      }
    },
    "DeleteSAMLProvider": {
      "input": {
        "type": "structure",
        "required": [
          "SAMLProviderArn"
        ],
        "members": {
          "SAMLProviderArn": {}
        }
      }
    },
    "DeleteServerCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "ServerCertificateName"
        ],
        "members": {
          "ServerCertificateName": {}
        }
      }
    },
    "DeleteSigningCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateId"
        ],
        "members": {
          "UserName": {},
          "CertificateId": {}
        }
      }
    },
    "DeleteUser": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {}
        }
      }
    },
    "DeleteUserPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "PolicyName"
        ],
        "members": {
          "UserName": {},
          "PolicyName": {}
        }
      }
    },
    "DeleteVirtualMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "SerialNumber"
        ],
        "members": {
          "SerialNumber": {}
        }
      }
    },
    "EnableMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "SerialNumber",
          "AuthenticationCode1",
          "AuthenticationCode2"
        ],
        "members": {
          "UserName": {},
          "SerialNumber": {},
          "AuthenticationCode1": {},
          "AuthenticationCode2": {}
        }
      }
    },
    "GenerateCredentialReport": {
      "output": {
        "resultWrapper": "GenerateCredentialReportResult",
        "type": "structure",
        "members": {
          "State": {},
          "Description": {}
        }
      }
    },
    "GetAccountPasswordPolicy": {
      "output": {
        "resultWrapper": "GetAccountPasswordPolicyResult",
        "type": "structure",
        "required": [
          "PasswordPolicy"
        ],
        "members": {
          "PasswordPolicy": {
            "type": "structure",
            "members": {
              "MinimumPasswordLength": {
                "type": "integer"
              },
              "RequireSymbols": {
                "type": "boolean"
              },
              "RequireNumbers": {
                "type": "boolean"
              },
              "RequireUppercaseCharacters": {
                "type": "boolean"
              },
              "RequireLowercaseCharacters": {
                "type": "boolean"
              },
              "AllowUsersToChangePassword": {
                "type": "boolean"
              },
              "ExpirePasswords": {
                "type": "boolean"
              },
              "MaxPasswordAge": {
                "type": "integer"
              },
              "PasswordReusePrevention": {
                "type": "integer"
              },
              "HardExpiry": {
                "type": "boolean"
              }
            }
          }
        }
      }
    },
    "GetAccountSummary": {
      "output": {
        "resultWrapper": "GetAccountSummaryResult",
        "type": "structure",
        "members": {
          "SummaryMap": {
            "type": "map",
            "key": {},
            "value": {
              "type": "integer"
            }
          }
        }
      }
    },
    "GetCredentialReport": {
      "output": {
        "resultWrapper": "GetCredentialReportResult",
        "type": "structure",
        "members": {
          "Content": {
            "type": "blob"
          },
          "ReportFormat": {},
          "GeneratedTime": {
            "type": "timestamp"
          }
        }
      }
    },
    "GetGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName"
        ],
        "members": {
          "GroupName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "GetGroupResult",
        "type": "structure",
        "required": [
          "Group",
          "Users"
        ],
        "members": {
          "Group": {
            "shape": "Sm"
          },
          "Users": {
            "shape": "S2i"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "GetGroupPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName",
          "PolicyName"
        ],
        "members": {
          "GroupName": {},
          "PolicyName": {}
        }
      },
      "output": {
        "resultWrapper": "GetGroupPolicyResult",
        "type": "structure",
        "required": [
          "GroupName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "GroupName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "GetInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName"
        ],
        "members": {
          "InstanceProfileName": {}
        }
      },
      "output": {
        "resultWrapper": "GetInstanceProfileResult",
        "type": "structure",
        "required": [
          "InstanceProfile"
        ],
        "members": {
          "InstanceProfile": {
            "shape": "Sr"
          }
        }
      }
    },
    "GetLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "GetLoginProfileResult",
        "type": "structure",
        "required": [
          "LoginProfile"
        ],
        "members": {
          "LoginProfile": {
            "shape": "Sy"
          }
        }
      }
    },
    "GetRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {}
        }
      },
      "output": {
        "resultWrapper": "GetRoleResult",
        "type": "structure",
        "required": [
          "Role"
        ],
        "members": {
          "Role": {
            "shape": "St"
          }
        }
      }
    },
    "GetRolePolicy": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "PolicyName"
        ],
        "members": {
          "RoleName": {},
          "PolicyName": {}
        }
      },
      "output": {
        "resultWrapper": "GetRolePolicyResult",
        "type": "structure",
        "required": [
          "RoleName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "RoleName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "GetSAMLProvider": {
      "input": {
        "type": "structure",
        "required": [
          "SAMLProviderArn"
        ],
        "members": {
          "SAMLProviderArn": {}
        }
      },
      "output": {
        "resultWrapper": "GetSAMLProviderResult",
        "type": "structure",
        "members": {
          "SAMLMetadataDocument": {},
          "CreateDate": {
            "type": "timestamp"
          },
          "ValidUntil": {
            "type": "timestamp"
          }
        }
      }
    },
    "GetServerCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "ServerCertificateName"
        ],
        "members": {
          "ServerCertificateName": {}
        }
      },
      "output": {
        "resultWrapper": "GetServerCertificateResult",
        "type": "structure",
        "required": [
          "ServerCertificate"
        ],
        "members": {
          "ServerCertificate": {
            "type": "structure",
            "required": [
              "ServerCertificateMetadata",
              "CertificateBody"
            ],
            "members": {
              "ServerCertificateMetadata": {
                "shape": "S2y"
              },
              "CertificateBody": {},
              "CertificateChain": {}
            }
          }
        }
      }
    },
    "GetUser": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "GetUserResult",
        "type": "structure",
        "required": [
          "User"
        ],
        "members": {
          "User": {
            "shape": "S17"
          }
        }
      }
    },
    "GetUserPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "PolicyName"
        ],
        "members": {
          "UserName": {},
          "PolicyName": {}
        }
      },
      "output": {
        "resultWrapper": "GetUserPolicyResult",
        "type": "structure",
        "required": [
          "UserName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "UserName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "ListAccessKeys": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListAccessKeysResult",
        "type": "structure",
        "required": [
          "AccessKeyMetadata"
        ],
        "members": {
          "AccessKeyMetadata": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "UserName": {},
                "AccessKeyId": {},
                "Status": {},
                "CreateDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListAccountAliases": {
      "input": {
        "type": "structure",
        "members": {
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListAccountAliasesResult",
        "type": "structure",
        "required": [
          "AccountAliases"
        ],
        "members": {
          "AccountAliases": {
            "type": "list",
            "member": {}
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListGroupPolicies": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName"
        ],
        "members": {
          "GroupName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListGroupPoliciesResult",
        "type": "structure",
        "required": [
          "PolicyNames"
        ],
        "members": {
          "PolicyNames": {
            "shape": "S3e"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListGroups": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListGroupsResult",
        "type": "structure",
        "required": [
          "Groups"
        ],
        "members": {
          "Groups": {
            "shape": "S3i"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListGroupsForUser": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListGroupsForUserResult",
        "type": "structure",
        "required": [
          "Groups"
        ],
        "members": {
          "Groups": {
            "shape": "S3i"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListInstanceProfiles": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListInstanceProfilesResult",
        "type": "structure",
        "required": [
          "InstanceProfiles"
        ],
        "members": {
          "InstanceProfiles": {
            "shape": "S3n"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListInstanceProfilesForRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListInstanceProfilesForRoleResult",
        "type": "structure",
        "required": [
          "InstanceProfiles"
        ],
        "members": {
          "InstanceProfiles": {
            "shape": "S3n"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListMFADevices": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListMFADevicesResult",
        "type": "structure",
        "required": [
          "MFADevices"
        ],
        "members": {
          "MFADevices": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "UserName",
                "SerialNumber",
                "EnableDate"
              ],
              "members": {
                "UserName": {},
                "SerialNumber": {},
                "EnableDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListRolePolicies": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListRolePoliciesResult",
        "type": "structure",
        "required": [
          "PolicyNames"
        ],
        "members": {
          "PolicyNames": {
            "shape": "S3e"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListRoles": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListRolesResult",
        "type": "structure",
        "required": [
          "Roles"
        ],
        "members": {
          "Roles": {
            "shape": "Ss"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListSAMLProviders": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "resultWrapper": "ListSAMLProvidersResult",
        "type": "structure",
        "members": {
          "SAMLProviderList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {},
                "ValidUntil": {
                  "type": "timestamp"
                },
                "CreateDate": {
                  "type": "timestamp"
                }
              }
            }
          }
        }
      }
    },
    "ListServerCertificates": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListServerCertificatesResult",
        "type": "structure",
        "required": [
          "ServerCertificateMetadataList"
        ],
        "members": {
          "ServerCertificateMetadataList": {
            "type": "list",
            "member": {
              "shape": "S2y"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListSigningCertificates": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListSigningCertificatesResult",
        "type": "structure",
        "required": [
          "Certificates"
        ],
        "members": {
          "Certificates": {
            "type": "list",
            "member": {
              "shape": "S48"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListUserPolicies": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListUserPoliciesResult",
        "type": "structure",
        "required": [
          "PolicyNames"
        ],
        "members": {
          "PolicyNames": {
            "shape": "S3e"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListUsers": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListUsersResult",
        "type": "structure",
        "required": [
          "Users"
        ],
        "members": {
          "Users": {
            "shape": "S2i"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListVirtualMFADevices": {
      "input": {
        "type": "structure",
        "members": {
          "AssignmentStatus": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListVirtualMFADevicesResult",
        "type": "structure",
        "required": [
          "VirtualMFADevices"
        ],
        "members": {
          "VirtualMFADevices": {
            "type": "list",
            "member": {
              "shape": "S1b"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "PutGroupPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "GroupName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "PutRolePolicy": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "RoleName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "PutUserPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "PolicyName",
          "PolicyDocument"
        ],
        "members": {
          "UserName": {},
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "RemoveRoleFromInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName",
          "RoleName"
        ],
        "members": {
          "InstanceProfileName": {},
          "RoleName": {}
        }
      }
    },
    "RemoveUserFromGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName",
          "UserName"
        ],
        "members": {
          "GroupName": {},
          "UserName": {}
        }
      }
    },
    "ResyncMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "SerialNumber",
          "AuthenticationCode1",
          "AuthenticationCode2"
        ],
        "members": {
          "UserName": {},
          "SerialNumber": {},
          "AuthenticationCode1": {},
          "AuthenticationCode2": {}
        }
      }
    },
    "UpdateAccessKey": {
      "input": {
        "type": "structure",
        "required": [
          "AccessKeyId",
          "Status"
        ],
        "members": {
          "UserName": {},
          "AccessKeyId": {},
          "Status": {}
        }
      }
    },
    "UpdateAccountPasswordPolicy": {
      "input": {
        "type": "structure",
        "members": {
          "MinimumPasswordLength": {
            "type": "integer"
          },
          "RequireSymbols": {
            "type": "boolean"
          },
          "RequireNumbers": {
            "type": "boolean"
          },
          "RequireUppercaseCharacters": {
            "type": "boolean"
          },
          "RequireLowercaseCharacters": {
            "type": "boolean"
          },
          "AllowUsersToChangePassword": {
            "type": "boolean"
          },
          "MaxPasswordAge": {
            "type": "integer"
          },
          "PasswordReusePrevention": {
            "type": "integer"
          },
          "HardExpiry": {
            "type": "boolean"
          }
        }
      }
    },
    "UpdateAssumeRolePolicy": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "PolicyDocument"
        ],
        "members": {
          "RoleName": {},
          "PolicyDocument": {}
        }
      }
    },
    "UpdateGroup": {
      "input": {
        "type": "structure",
        "required": [
          "GroupName"
        ],
        "members": {
          "GroupName": {},
          "NewPath": {},
          "NewGroupName": {}
        }
      }
    },
    "UpdateLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {},
          "Password": {
            "shape": "S8"
          },
          "PasswordResetRequired": {
            "type": "boolean"
          }
        }
      }
    },
    "UpdateSAMLProvider": {
      "input": {
        "type": "structure",
        "required": [
          "SAMLMetadataDocument",
          "SAMLProviderArn"
        ],
        "members": {
          "SAMLMetadataDocument": {},
          "SAMLProviderArn": {}
        }
      },
      "output": {
        "resultWrapper": "UpdateSAMLProviderResult",
        "type": "structure",
        "members": {
          "SAMLProviderArn": {}
        }
      }
    },
    "UpdateServerCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "ServerCertificateName"
        ],
        "members": {
          "ServerCertificateName": {},
          "NewPath": {},
          "NewServerCertificateName": {}
        }
      }
    },
    "UpdateSigningCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateId",
          "Status"
        ],
        "members": {
          "UserName": {},
          "CertificateId": {},
          "Status": {}
        }
      }
    },
    "UpdateUser": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {},
          "NewPath": {},
          "NewUserName": {}
        }
      }
    },
    "UploadServerCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "ServerCertificateName",
          "CertificateBody",
          "PrivateKey"
        ],
        "members": {
          "Path": {},
          "ServerCertificateName": {},
          "CertificateBody": {},
          "PrivateKey": {
            "type": "string",
            "sensitive": true
          },
          "CertificateChain": {}
        }
      },
      "output": {
        "resultWrapper": "UploadServerCertificateResult",
        "type": "structure",
        "members": {
          "ServerCertificateMetadata": {
            "shape": "S2y"
          }
        }
      }
    },
    "UploadSigningCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateBody"
        ],
        "members": {
          "UserName": {},
          "CertificateBody": {}
        }
      },
      "output": {
        "resultWrapper": "UploadSigningCertificateResult",
        "type": "structure",
        "required": [
          "Certificate"
        ],
        "members": {
          "Certificate": {
            "shape": "S48"
          }
        }
      }
    }
  },
  "shapes": {
    "S8": {
      "type": "string",
      "sensitive": true
    },
    "Sm": {
      "type": "structure",
      "required": [
        "Path",
        "GroupName",
        "GroupId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "GroupName": {},
        "GroupId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        }
      }
    },
    "Sr": {
      "type": "structure",
      "required": [
        "Path",
        "InstanceProfileName",
        "InstanceProfileId",
        "Arn",
        "CreateDate",
        "Roles"
      ],
      "members": {
        "Path": {},
        "InstanceProfileName": {},
        "InstanceProfileId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "Roles": {
          "shape": "Ss"
        }
      }
    },
    "Ss": {
      "type": "list",
      "member": {
        "shape": "St"
      }
    },
    "St": {
      "type": "structure",
      "required": [
        "Path",
        "RoleName",
        "RoleId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "RoleName": {},
        "RoleId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "AssumeRolePolicyDocument": {}
      }
    },
    "Sy": {
      "type": "structure",
      "required": [
        "UserName",
        "CreateDate"
      ],
      "members": {
        "UserName": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "PasswordResetRequired": {
          "type": "boolean"
        }
      }
    },
    "S17": {
      "type": "structure",
      "required": [
        "Path",
        "UserName",
        "UserId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "UserName": {},
        "UserId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        }
      }
    },
    "S1b": {
      "type": "structure",
      "required": [
        "SerialNumber"
      ],
      "members": {
        "SerialNumber": {},
        "Base32StringSeed": {
          "shape": "S1d"
        },
        "QRCodePNG": {
          "shape": "S1d"
        },
        "User": {
          "shape": "S17"
        },
        "EnableDate": {
          "type": "timestamp"
        }
      }
    },
    "S1d": {
      "type": "blob",
      "sensitive": true
    },
    "S2i": {
      "type": "list",
      "member": {
        "shape": "S17"
      }
    },
    "S2y": {
      "type": "structure",
      "required": [
        "Path",
        "ServerCertificateName",
        "ServerCertificateId",
        "Arn"
      ],
      "members": {
        "Path": {},
        "ServerCertificateName": {},
        "ServerCertificateId": {},
        "Arn": {},
        "UploadDate": {
          "type": "timestamp"
        },
        "Expiration": {
          "type": "timestamp"
        }
      }
    },
    "S3e": {
      "type": "list",
      "member": {}
    },
    "S3i": {
      "type": "list",
      "member": {
        "shape": "Sm"
      }
    },
    "S3n": {
      "type": "list",
      "member": {
        "shape": "Sr"
      }
    },
    "S48": {
      "type": "structure",
      "required": [
        "UserName",
        "CertificateId",
        "CertificateBody",
        "Status"
      ],
      "members": {
        "UserName": {},
        "CertificateId": {},
        "CertificateBody": {},
        "Status": {},
        "UploadDate": {
          "type": "timestamp"
        }
      }
    }
  }
}