{
  "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": {
    "AddClientIDToOpenIDConnectProvider": {
      "input": {
        "type": "structure",
        "required": [
          "OpenIDConnectProviderArn",
          "ClientID"
        ],
        "members": {
          "OpenIDConnectProviderArn": {},
          "ClientID": {}
        }
      }
    },
    "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": "Sb"
          },
          "NewPassword": {
            "shape": "Sb"
          }
        }
      }
    },
    "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": "Sp"
          }
        }
      }
    },
    "CreateInstanceProfile": {
      "input": {
        "type": "structure",
        "required": [
          "InstanceProfileName"
        ],
        "members": {
          "InstanceProfileName": {},
          "Path": {}
        }
      },
      "output": {
        "resultWrapper": "CreateInstanceProfileResult",
        "type": "structure",
        "required": [
          "InstanceProfile"
        ],
        "members": {
          "InstanceProfile": {
            "shape": "St"
          }
        }
      }
    },
    "CreateLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName",
          "Password"
        ],
        "members": {
          "UserName": {},
          "Password": {
            "shape": "Sb"
          },
          "PasswordResetRequired": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "resultWrapper": "CreateLoginProfileResult",
        "type": "structure",
        "required": [
          "LoginProfile"
        ],
        "members": {
          "LoginProfile": {
            "shape": "S10"
          }
        }
      }
    },
    "CreateOpenIDConnectProvider": {
      "input": {
        "type": "structure",
        "required": [
          "Url",
          "ThumbprintList"
        ],
        "members": {
          "Url": {},
          "ClientIDList": {
            "shape": "S13"
          },
          "ThumbprintList": {
            "shape": "S14"
          }
        }
      },
      "output": {
        "resultWrapper": "CreateOpenIDConnectProviderResult",
        "type": "structure",
        "members": {
          "OpenIDConnectProviderArn": {}
        }
      }
    },
    "CreateRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName",
          "AssumeRolePolicyDocument"
        ],
        "members": {
          "Path": {},
          "RoleName": {},
          "AssumeRolePolicyDocument": {}
        }
      },
      "output": {
        "resultWrapper": "CreateRoleResult",
        "type": "structure",
        "required": [
          "Role"
        ],
        "members": {
          "Role": {
            "shape": "Sv"
          }
        }
      }
    },
    "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": "S1f"
          }
        }
      }
    },
    "CreateVirtualMFADevice": {
      "input": {
        "type": "structure",
        "required": [
          "VirtualMFADeviceName"
        ],
        "members": {
          "Path": {},
          "VirtualMFADeviceName": {}
        }
      },
      "output": {
        "resultWrapper": "CreateVirtualMFADeviceResult",
        "type": "structure",
        "required": [
          "VirtualMFADevice"
        ],
        "members": {
          "VirtualMFADevice": {
            "shape": "S1j"
          }
        }
      }
    },
    "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": {}
        }
      }
    },
    "DeleteOpenIDConnectProvider": {
      "input": {
        "type": "structure",
        "required": [
          "OpenIDConnectProviderArn"
        ],
        "members": {
          "OpenIDConnectProviderArn": {}
        }
      }
    },
    "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": {}
        }
      }
    },
    "GetAccountAuthorizationDetails": {
      "input": {
        "type": "structure",
        "members": {
          "Filter": {
            "type": "list",
            "member": {}
          },
          "MaxItems": {
            "type": "integer"
          },
          "Marker": {}
        }
      },
      "output": {
        "resultWrapper": "GetAccountAuthorizationDetailsResult",
        "type": "structure",
        "members": {
          "UserDetailList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Path": {},
                "UserName": {},
                "UserId": {},
                "Arn": {},
                "CreateDate": {
                  "type": "timestamp"
                },
                "UserPolicyList": {
                  "shape": "S2i"
                },
                "GroupList": {
                  "type": "list",
                  "member": {}
                }
              }
            }
          },
          "GroupDetailList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Path": {},
                "GroupName": {},
                "GroupId": {},
                "Arn": {},
                "CreateDate": {
                  "type": "timestamp"
                },
                "GroupPolicyList": {
                  "shape": "S2i"
                }
              }
            }
          },
          "RoleDetailList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Path": {},
                "RoleName": {},
                "RoleId": {},
                "Arn": {},
                "CreateDate": {
                  "type": "timestamp"
                },
                "AssumeRolePolicyDocument": {},
                "InstanceProfileList": {
                  "shape": "S2p"
                },
                "RolePolicyList": {
                  "shape": "S2i"
                }
              }
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "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": "Sp"
          },
          "Users": {
            "shape": "S35"
          },
          "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": "St"
          }
        }
      }
    },
    "GetLoginProfile": {
      "input": {
        "type": "structure",
        "required": [
          "UserName"
        ],
        "members": {
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "GetLoginProfileResult",
        "type": "structure",
        "required": [
          "LoginProfile"
        ],
        "members": {
          "LoginProfile": {
            "shape": "S10"
          }
        }
      }
    },
    "GetOpenIDConnectProvider": {
      "input": {
        "type": "structure",
        "required": [
          "OpenIDConnectProviderArn"
        ],
        "members": {
          "OpenIDConnectProviderArn": {}
        }
      },
      "output": {
        "resultWrapper": "GetOpenIDConnectProviderResult",
        "type": "structure",
        "members": {
          "Url": {},
          "ClientIDList": {
            "shape": "S13"
          },
          "ThumbprintList": {
            "shape": "S14"
          },
          "CreateDate": {
            "type": "timestamp"
          }
        }
      }
    },
    "GetRole": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {}
        }
      },
      "output": {
        "resultWrapper": "GetRoleResult",
        "type": "structure",
        "required": [
          "Role"
        ],
        "members": {
          "Role": {
            "shape": "Sv"
          }
        }
      }
    },
    "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": "S3n"
              },
              "CertificateBody": {},
              "CertificateChain": {}
            }
          }
        }
      }
    },
    "GetUser": {
      "input": {
        "type": "structure",
        "members": {
          "UserName": {}
        }
      },
      "output": {
        "resultWrapper": "GetUserResult",
        "type": "structure",
        "required": [
          "User"
        ],
        "members": {
          "User": {
            "shape": "S1f"
          }
        }
      }
    },
    "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": "S43"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListGroups": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListGroupsResult",
        "type": "structure",
        "required": [
          "Groups"
        ],
        "members": {
          "Groups": {
            "shape": "S47"
          },
          "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": "S47"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListInstanceProfiles": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListInstanceProfilesResult",
        "type": "structure",
        "required": [
          "InstanceProfiles"
        ],
        "members": {
          "InstanceProfiles": {
            "shape": "S2p"
          },
          "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": "S2p"
          },
          "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": {}
        }
      }
    },
    "ListOpenIDConnectProviders": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "resultWrapper": "ListOpenIDConnectProvidersResult",
        "type": "structure",
        "members": {
          "OpenIDConnectProviderList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Arn": {}
              }
            }
          }
        }
      }
    },
    "ListRolePolicies": {
      "input": {
        "type": "structure",
        "required": [
          "RoleName"
        ],
        "members": {
          "RoleName": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListRolePoliciesResult",
        "type": "structure",
        "required": [
          "PolicyNames"
        ],
        "members": {
          "PolicyNames": {
            "shape": "S43"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListRoles": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListRolesResult",
        "type": "structure",
        "required": [
          "Roles"
        ],
        "members": {
          "Roles": {
            "shape": "Su"
          },
          "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": "S3n"
            }
          },
          "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": "S50"
            }
          },
          "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": "S43"
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "Marker": {}
        }
      }
    },
    "ListUsers": {
      "input": {
        "type": "structure",
        "members": {
          "PathPrefix": {},
          "Marker": {},
          "MaxItems": {
            "type": "integer"
          }
        }
      },
      "output": {
        "resultWrapper": "ListUsersResult",
        "type": "structure",
        "required": [
          "Users"
        ],
        "members": {
          "Users": {
            "shape": "S35"
          },
          "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": "S1j"
            }
          },
          "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": {}
        }
      }
    },
    "RemoveClientIDFromOpenIDConnectProvider": {
      "input": {
        "type": "structure",
        "required": [
          "OpenIDConnectProviderArn",
          "ClientID"
        ],
        "members": {
          "OpenIDConnectProviderArn": {},
          "ClientID": {}
        }
      }
    },
    "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": "Sb"
          },
          "PasswordResetRequired": {
            "type": "boolean"
          }
        }
      }
    },
    "UpdateOpenIDConnectProviderThumbprint": {
      "input": {
        "type": "structure",
        "required": [
          "OpenIDConnectProviderArn",
          "ThumbprintList"
        ],
        "members": {
          "OpenIDConnectProviderArn": {},
          "ThumbprintList": {
            "shape": "S14"
          }
        }
      }
    },
    "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": "S3n"
          }
        }
      }
    },
    "UploadSigningCertificate": {
      "input": {
        "type": "structure",
        "required": [
          "CertificateBody"
        ],
        "members": {
          "UserName": {},
          "CertificateBody": {}
        }
      },
      "output": {
        "resultWrapper": "UploadSigningCertificateResult",
        "type": "structure",
        "required": [
          "Certificate"
        ],
        "members": {
          "Certificate": {
            "shape": "S50"
          }
        }
      }
    }
  },
  "shapes": {
    "Sb": {
      "type": "string",
      "sensitive": true
    },
    "Sp": {
      "type": "structure",
      "required": [
        "Path",
        "GroupName",
        "GroupId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "GroupName": {},
        "GroupId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        }
      }
    },
    "St": {
      "type": "structure",
      "required": [
        "Path",
        "InstanceProfileName",
        "InstanceProfileId",
        "Arn",
        "CreateDate",
        "Roles"
      ],
      "members": {
        "Path": {},
        "InstanceProfileName": {},
        "InstanceProfileId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "Roles": {
          "shape": "Su"
        }
      }
    },
    "Su": {
      "type": "list",
      "member": {
        "shape": "Sv"
      }
    },
    "Sv": {
      "type": "structure",
      "required": [
        "Path",
        "RoleName",
        "RoleId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "RoleName": {},
        "RoleId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "AssumeRolePolicyDocument": {}
      }
    },
    "S10": {
      "type": "structure",
      "required": [
        "UserName",
        "CreateDate"
      ],
      "members": {
        "UserName": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "PasswordResetRequired": {
          "type": "boolean"
        }
      }
    },
    "S13": {
      "type": "list",
      "member": {}
    },
    "S14": {
      "type": "list",
      "member": {}
    },
    "S1f": {
      "type": "structure",
      "required": [
        "Path",
        "UserName",
        "UserId",
        "Arn",
        "CreateDate"
      ],
      "members": {
        "Path": {},
        "UserName": {},
        "UserId": {},
        "Arn": {},
        "CreateDate": {
          "type": "timestamp"
        },
        "PasswordLastUsed": {
          "type": "timestamp"
        }
      }
    },
    "S1j": {
      "type": "structure",
      "required": [
        "SerialNumber"
      ],
      "members": {
        "SerialNumber": {},
        "Base32StringSeed": {
          "shape": "S1l"
        },
        "QRCodePNG": {
          "shape": "S1l"
        },
        "User": {
          "shape": "S1f"
        },
        "EnableDate": {
          "type": "timestamp"
        }
      }
    },
    "S1l": {
      "type": "blob",
      "sensitive": true
    },
    "S2i": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "PolicyName": {},
          "PolicyDocument": {}
        }
      }
    },
    "S2p": {
      "type": "list",
      "member": {
        "shape": "St"
      }
    },
    "S35": {
      "type": "list",
      "member": {
        "shape": "S1f"
      }
    },
    "S3n": {
      "type": "structure",
      "required": [
        "Path",
        "ServerCertificateName",
        "ServerCertificateId",
        "Arn"
      ],
      "members": {
        "Path": {},
        "ServerCertificateName": {},
        "ServerCertificateId": {},
        "Arn": {},
        "UploadDate": {
          "type": "timestamp"
        },
        "Expiration": {
          "type": "timestamp"
        }
      }
    },
    "S43": {
      "type": "list",
      "member": {}
    },
    "S47": {
      "type": "list",
      "member": {
        "shape": "Sp"
      }
    },
    "S50": {
      "type": "structure",
      "required": [
        "UserName",
        "CertificateId",
        "CertificateBody",
        "Status"
      ],
      "members": {
        "UserName": {},
        "CertificateId": {},
        "CertificateBody": {},
        "Status": {},
        "UploadDate": {
          "type": "timestamp"
        }
      }
    }
  }
}