{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2017-10-01",
    "endpointPrefix": "workmail",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceFullName": "Amazon WorkMail",
    "serviceId": "WorkMail",
    "signatureVersion": "v4",
    "targetPrefix": "WorkMailService",
    "uid": "workmail-2017-10-01"
  },
  "operations": {
    "AssociateDelegateToResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId",
          "EntityId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {},
          "EntityId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "AssociateMemberToGroup": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "GroupId",
          "MemberId"
        ],
        "members": {
          "OrganizationId": {},
          "GroupId": {},
          "MemberId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "CreateAlias": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "Alias"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "Alias": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "CreateGroup": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Name"
        ],
        "members": {
          "OrganizationId": {},
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "GroupId": {}
        }
      },
      "idempotent": true
    },
    "CreateResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Name",
          "Type"
        ],
        "members": {
          "OrganizationId": {},
          "Name": {},
          "Type": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceId": {}
        }
      },
      "idempotent": true
    },
    "CreateUser": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Name",
          "DisplayName",
          "Password"
        ],
        "members": {
          "OrganizationId": {},
          "Name": {},
          "DisplayName": {},
          "Password": {
            "shape": "Sl"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "UserId": {}
        }
      },
      "idempotent": true
    },
    "DeleteAccessControlRule": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Name"
        ],
        "members": {
          "OrganizationId": {},
          "Name": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteAlias": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "Alias"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "Alias": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeleteGroup": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "GroupId"
        ],
        "members": {
          "OrganizationId": {},
          "GroupId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeleteMailboxPermissions": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "GranteeId"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "GranteeId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeleteResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeleteRetentionPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Id"
        ],
        "members": {
          "OrganizationId": {},
          "Id": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeleteUser": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "UserId"
        ],
        "members": {
          "OrganizationId": {},
          "UserId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DeregisterFromWorkMail": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DescribeGroup": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "GroupId"
        ],
        "members": {
          "OrganizationId": {},
          "GroupId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "GroupId": {},
          "Name": {},
          "Email": {},
          "State": {},
          "EnabledDate": {
            "type": "timestamp"
          },
          "DisabledDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeOrganization": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "OrganizationId": {},
          "Alias": {},
          "State": {},
          "DirectoryId": {},
          "DirectoryType": {},
          "DefaultMailDomain": {},
          "CompletedDate": {
            "type": "timestamp"
          },
          "ErrorMessage": {},
          "ARN": {}
        }
      },
      "idempotent": true
    },
    "DescribeResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceId": {},
          "Email": {},
          "Name": {},
          "Type": {},
          "BookingOptions": {
            "shape": "S1f"
          },
          "State": {},
          "EnabledDate": {
            "type": "timestamp"
          },
          "DisabledDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeUser": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "UserId"
        ],
        "members": {
          "OrganizationId": {},
          "UserId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "UserId": {},
          "Name": {},
          "Email": {},
          "DisplayName": {},
          "State": {},
          "UserRole": {},
          "EnabledDate": {
            "type": "timestamp"
          },
          "DisabledDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DisassociateDelegateFromResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId",
          "EntityId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {},
          "EntityId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "DisassociateMemberFromGroup": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "GroupId",
          "MemberId"
        ],
        "members": {
          "OrganizationId": {},
          "GroupId": {},
          "MemberId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "GetAccessControlEffect": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "IpAddress",
          "Action",
          "UserId"
        ],
        "members": {
          "OrganizationId": {},
          "IpAddress": {},
          "Action": {},
          "UserId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Effect": {},
          "MatchedRules": {
            "type": "list",
            "member": {}
          }
        }
      }
    },
    "GetDefaultRetentionPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Id": {},
          "Name": {},
          "Description": {},
          "FolderConfigurations": {
            "shape": "S1w"
          }
        }
      },
      "idempotent": true
    },
    "GetMailboxDetails": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "UserId"
        ],
        "members": {
          "OrganizationId": {},
          "UserId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "MailboxQuota": {
            "type": "integer"
          },
          "MailboxSize": {
            "type": "double"
          }
        }
      },
      "idempotent": true
    },
    "ListAccessControlRules": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Rules": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Name": {},
                "Effect": {},
                "Description": {},
                "IpRanges": {
                  "shape": "S2a"
                },
                "NotIpRanges": {
                  "shape": "S2a"
                },
                "Actions": {
                  "shape": "S2c"
                },
                "NotActions": {
                  "shape": "S2c"
                },
                "UserIds": {
                  "shape": "S2d"
                },
                "NotUserIds": {
                  "shape": "S2d"
                },
                "DateCreated": {
                  "type": "timestamp"
                },
                "DateModified": {
                  "type": "timestamp"
                }
              }
            }
          }
        }
      }
    },
    "ListAliases": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Aliases": {
            "type": "list",
            "member": {}
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListGroupMembers": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "GroupId"
        ],
        "members": {
          "OrganizationId": {},
          "GroupId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Members": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Name": {},
                "Type": {},
                "State": {},
                "EnabledDate": {
                  "type": "timestamp"
                },
                "DisabledDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListGroups": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Groups": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Email": {},
                "Name": {},
                "State": {},
                "EnabledDate": {
                  "type": "timestamp"
                },
                "DisabledDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListMailboxPermissions": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Permissions": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "GranteeId",
                "GranteeType",
                "PermissionValues"
              ],
              "members": {
                "GranteeId": {},
                "GranteeType": {},
                "PermissionValues": {
                  "shape": "S2w"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListOrganizations": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "OrganizationSummaries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "OrganizationId": {},
                "Alias": {},
                "ErrorMessage": {},
                "State": {}
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListResourceDelegates": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Delegates": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "Id",
                "Type"
              ],
              "members": {
                "Id": {},
                "Type": {}
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListResources": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Resources": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Email": {},
                "Name": {},
                "Type": {},
                "State": {},
                "EnabledDate": {
                  "type": "timestamp"
                },
                "DisabledDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListTagsForResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN"
        ],
        "members": {
          "ResourceARN": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Tags": {
            "shape": "S3c"
          }
        }
      }
    },
    "ListUsers": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId"
        ],
        "members": {
          "OrganizationId": {},
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Users": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Email": {},
                "Name": {},
                "DisplayName": {},
                "State": {},
                "UserRole": {},
                "EnabledDate": {
                  "type": "timestamp"
                },
                "DisabledDate": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "PutAccessControlRule": {
      "input": {
        "type": "structure",
        "required": [
          "Name",
          "Effect",
          "Description",
          "OrganizationId"
        ],
        "members": {
          "Name": {},
          "Effect": {},
          "Description": {},
          "IpRanges": {
            "shape": "S2a"
          },
          "NotIpRanges": {
            "shape": "S2a"
          },
          "Actions": {
            "shape": "S2c"
          },
          "NotActions": {
            "shape": "S2c"
          },
          "UserIds": {
            "shape": "S2d"
          },
          "NotUserIds": {
            "shape": "S2d"
          },
          "OrganizationId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "PutMailboxPermissions": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "GranteeId",
          "PermissionValues"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "GranteeId": {},
          "PermissionValues": {
            "shape": "S2w"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "PutRetentionPolicy": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "Name",
          "FolderConfigurations"
        ],
        "members": {
          "OrganizationId": {},
          "Id": {},
          "Name": {},
          "Description": {},
          "FolderConfigurations": {
            "shape": "S1w"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "RegisterToWorkMail": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "Email"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "Email": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "ResetPassword": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "UserId",
          "Password"
        ],
        "members": {
          "OrganizationId": {},
          "UserId": {},
          "Password": {
            "shape": "Sl"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "TagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN",
          "Tags"
        ],
        "members": {
          "ResourceARN": {},
          "Tags": {
            "shape": "S3c"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UntagResource": {
      "input": {
        "type": "structure",
        "required": [
          "ResourceARN",
          "TagKeys"
        ],
        "members": {
          "ResourceARN": {},
          "TagKeys": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateMailboxQuota": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "UserId",
          "MailboxQuota"
        ],
        "members": {
          "OrganizationId": {},
          "UserId": {},
          "MailboxQuota": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "UpdatePrimaryEmailAddress": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "EntityId",
          "Email"
        ],
        "members": {
          "OrganizationId": {},
          "EntityId": {},
          "Email": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "UpdateResource": {
      "input": {
        "type": "structure",
        "required": [
          "OrganizationId",
          "ResourceId"
        ],
        "members": {
          "OrganizationId": {},
          "ResourceId": {},
          "Name": {},
          "BookingOptions": {
            "shape": "S1f"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    }
  },
  "shapes": {
    "Sl": {
      "type": "string",
      "sensitive": true
    },
    "S1f": {
      "type": "structure",
      "members": {
        "AutoAcceptRequests": {
          "type": "boolean"
        },
        "AutoDeclineRecurringRequests": {
          "type": "boolean"
        },
        "AutoDeclineConflictingRequests": {
          "type": "boolean"
        }
      }
    },
    "S1w": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Name",
          "Action"
        ],
        "members": {
          "Name": {},
          "Action": {},
          "Period": {
            "type": "integer"
          }
        }
      }
    },
    "S2a": {
      "type": "list",
      "member": {}
    },
    "S2c": {
      "type": "list",
      "member": {}
    },
    "S2d": {
      "type": "list",
      "member": {}
    },
    "S2w": {
      "type": "list",
      "member": {}
    },
    "S3c": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "Key",
          "Value"
        ],
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    }
  }
}