openapi: 3.0.0 info: version: '2017-10-01' x-release: v4 title: 'Amazon WorkMail #X Amz Target=WorkMailService.AssociateDelegateToResource #X Amz Target=WorkMailService.AssociateDelegateToResource #X Amz Target=WorkMailService.UpdateImpersonationRole API' description:
WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.
The WorkMail API is designed for the following scenarios:
Listing and describing organizations
Managing users
Managing groups
Managing resources
All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.
x-logo: url: https://twitter.com/awscloud/profile_image?size=original backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: workmail x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/workmail-2017-10-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://workmail.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon WorkMail multi-region endpoint - url: https://workmail.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon WorkMail multi-region endpoint - url: http://workmail.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon WorkMail endpoint for China (Beijing) and China (Ningxia) - url: https://workmail.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon WorkMail endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=WorkMailService.UpdateImpersonationRole' paths: /#X-Amz-Target=WorkMailService.UpdateImpersonationRole: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: UpdateImpersonationRole description: Updates an impersonation role for the given WorkMail organization. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateImpersonationRoleResponse' '480': description: InvalidParameterException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterException' '481': description: OrganizationNotFoundException content: application/json: schema: $ref: '#/components/schemas/OrganizationNotFoundException' '482': description: OrganizationStateException content: application/json: schema: $ref: '#/components/schemas/OrganizationStateException' '483': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '484': description: EntityNotFoundException content: application/json: schema: $ref: '#/components/schemas/EntityNotFoundException' '485': description: EntityStateException content: application/json: schema: $ref: '#/components/schemas/EntityStateException' '486': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateImpersonationRoleRequest' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - WorkMailService.UpdateImpersonationRole summary: Amazon WorkMail Update Impersonation Role tags: - '#X Amz Target=WorkMailService.UpdateImpersonationRole' components: schemas: ImpersonationRuleId: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 ResourceNotFoundException: {} AccessEffect: type: string enum: - ALLOW - DENY EntityIdentifier: type: string pattern: '[a-zA-Z0-9._%+@-]+' minLength: 1 maxLength: 256 EntityStateException: {} ImpersonationRuleDescription: type: string pattern: '[^\x00-\x09\x0B\x0C\x0E-\x1F\x7F\x3C\x3E\x5C]+' minLength: 1 maxLength: 256 OrganizationId: type: string pattern: ^m-[0-9a-f]{32}$ minLength: 34 maxLength: 34 OrganizationStateException: {} InvalidParameterException: {} OrganizationNotFoundException: {} ImpersonationRoleId: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 LimitExceededException: {} UpdateImpersonationRoleResponse: type: object properties: {} ImpersonationRoleDescription: type: string pattern: '[^\x00-\x09\x0B\x0C\x0E-\x1F\x7F\x3C\x3E\x5C]+' minLength: 1 maxLength: 256 ImpersonationRuleList: type: array items: $ref: '#/components/schemas/ImpersonationRule' minItems: 0 maxItems: 10 TargetUsers: type: array items: $ref: '#/components/schemas/EntityIdentifier' minItems: 1 maxItems: 10 UpdateImpersonationRoleRequest: type: object required: - OrganizationId - ImpersonationRoleId - Name - Type - Rules title: UpdateImpersonationRoleRequest properties: OrganizationId: allOf: - $ref: '#/components/schemas/OrganizationId' - description: The WorkMail organization that contains the impersonation role to update. ImpersonationRoleId: allOf: - $ref: '#/components/schemas/ImpersonationRoleId' - description: The ID of the impersonation role to update. Name: allOf: - $ref: '#/components/schemas/ImpersonationRoleName' - description: The updated impersonation role name. Type: allOf: - $ref: '#/components/schemas/ImpersonationRoleType' - description: The updated impersonation role type. Description: allOf: - $ref: '#/components/schemas/ImpersonationRoleDescription' - description: The updated impersonation role description. Rules: allOf: - $ref: '#/components/schemas/ImpersonationRuleList' - description: The updated list of rules. ImpersonationRuleName: type: string pattern: '[^\x00-\x1F\x7F\x3C\x3E\x5C]+' minLength: 1 maxLength: 64 ImpersonationRule: type: object required: - ImpersonationRuleId - Effect properties: ImpersonationRuleId: allOf: - $ref: '#/components/schemas/ImpersonationRuleId' - description: The identifier of the rule. Name: allOf: - $ref: '#/components/schemas/ImpersonationRuleName' - description: The rule name. Description: allOf: - $ref: '#/components/schemas/ImpersonationRuleDescription' - description: The rule description. Effect: allOf: - $ref: '#/components/schemas/AccessEffect' - description: The effect of the rule when it matches the input. Allowed effect values areALLOW or DENY.
TargetUsers:
allOf:
- $ref: '#/components/schemas/TargetUsers'
- description: A list of user IDs that match the rule.
NotTargetUsers:
allOf:
- $ref: '#/components/schemas/TargetUsers'
- description: A list of user IDs that don't match the rule.
description: The rules for the given impersonation role.
EntityNotFoundException: {}
ImpersonationRoleName:
type: string
pattern: '[^\x00-\x1F\x7F\x3C\x3E\x5C]+'
minLength: 1
maxLength: 64
ImpersonationRoleType:
type: string
enum:
- FULL_ACCESS
- READ_ONLY
parameters:
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
securitySchemes:
hmac:
type: apiKey
name: Authorization
in: header
description: Amazon Signature authorization v4
x-amazon-apigateway-authtype: awsSigv4
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/workmail/
x-hasEquivalentPaths: true