Amazon WorkSpaces Web API

The Amazon WorkSpaces Web API provides programmatic access to create and manage web portals, network settings, user access logging, user settings, browser settings, and trust store configurations for secure browser deployments. 58 operations covering portals, user settings, browser policies, network settings, trust stores, and IP access controls.

OpenAPI Specification

amazon-workspaces-web-openapi-original.yaml Raw ↑
openapi: 3.0.0
info:
  version: '2020-07-08'
  x-release: v4
  title: Amazon WorkSpaces Web
  description: 'WorkSpaces Web is a low cost, fully managed WorkSpace built specifically to facilitate secure, web-based workloads. WorkSpaces Web makes it easy for customers to safely provide their employees
    with access to internal websites and SaaS web applications without the administrative burden of appliances or specialized client software. WorkSpaces Web provides simple policy tools tailored for user
    interactions, while offloading common tasks like capacity management, scaling, and maintaining browser images.'
  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: [email protected]
    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: workspaces-web
  x-aws-signingName: workspaces-web
  x-origin:
  - contentType: application/json
    url: 'https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/workspaces-web-2020-07-08.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
externalDocs:
  description: Amazon Web Services documentation
  url: 'https://docs.aws.amazon.com/workspaces-web/'
servers:
- url: 'http://workspaces-web.{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 WorkSpaces Web multi-region endpoint
- url: 'https://workspaces-web.{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 WorkSpaces Web multi-region endpoint
- url: 'http://workspaces-web.{region}.amazonaws.com.cn'
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon WorkSpaces Web endpoint for China (Beijing) and China (Ningxia)
- url: 'https://workspaces-web.{region}.amazonaws.com.cn'
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon WorkSpaces Web endpoint for China (Beijing) and China (Ningxia)
x-hasEquivalentPaths: true
paths:
  '/portals/{portalArn}/browserSettings#browserSettingsArn':
    put:
      operationId: AssociateBrowserSettings
      description: Associates a browser settings resource with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateBrowserSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '485':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters:
      - name: browserSettingsArn
        in: query
        required: true
        description: The ARN of the browser settings.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate Browser Settings
    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'
  '/portals/{portalArn}/ipAccessSettings#ipAccessSettingsArn':
    put:
      operationId: AssociateIpAccessSettings
      description: Associates an IP access settings resource with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateIpAccessSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '485':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters:
      - name: ipAccessSettingsArn
        in: query
        required: true
        description: The ARN of the IP access settings.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate Ip Access Settings
    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'
  '/portals/{portalArn}/networkSettings#networkSettingsArn':
    put:
      operationId: AssociateNetworkSettings
      description: Associates a network settings resource with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateNetworkSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '485':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters:
      - name: networkSettingsArn
        in: query
        required: true
        description: The ARN of the network settings.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate Network Settings
    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'
  '/portals/{portalArn}/trustStores#trustStoreArn':
    put:
      operationId: AssociateTrustStore
      description: Associates a trust store with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateTrustStoreResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: trustStoreArn
        in: query
        required: true
        description: The ARN of the trust store.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate Trust Store
    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'
  '/portals/{portalArn}/userAccessLoggingSettings#userAccessLoggingSettingsArn':
    put:
      operationId: AssociateUserAccessLoggingSettings
      description: Associates a user access logging settings resource with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateUserAccessLoggingSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '485':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters:
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: userAccessLoggingSettingsArn
        in: query
        required: true
        description: The ARN of the user access logging settings.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate User Access Logging Settings
    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'
  '/portals/{portalArn}/userSettings#userSettingsArn':
    put:
      operationId: AssociateUserSettings
      description: Associates a user settings resource with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateUserSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '485':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters:
      - name: portalArn
        in: path
        required: true
        description: The ARN of the web portal.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      - name: userSettingsArn
        in: query
        required: true
        description: The ARN of the user settings.
        schema:
          type: string
          pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
          minLength: 20
          maxLength: 2048
      summary: Amazon WorkSpaces Web Associate User Settings
    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'
  /browserSettings:
    post:
      operationId: CreateBrowserSettings
      description: 'Creates a browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts
        a streaming session for the web portal. '
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrowserSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '485':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '486':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - browserPolicy
              properties:
                additionalEncryptionContext:
                  description: Additional encryption context of the browser settings.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/StringType'
                browserPolicy:
                  description: A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.
                  type: string
                  pattern: '\{[\S\s]*\}\s*'
                  minLength: 2
                  maxLength: 131072
                  format: password
                clientToken:
                  description: '<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent
                    request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p> <p>If you do not specify
                    a client token, one is automatically generated by the AWS SDK. </p>'
                  type: string
                  minLength: 1
                  maxLength: 512
                customerManagedKey:
                  description: The custom managed key of the browser settings.
                  type: string
                  pattern: '^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$'
                  minLength: 20
                  maxLength: 2048
                tags:
                  description: The tags to add to the browser settings resource. A tag is a key-value pair.
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
                  minItems: 0
                  maxItems: 200
      summary: Amazon WorkSpaces Web Create Browser Settings
    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'
    get:
      operationId: ListBrowserSettings
      description: Retrieves a list of browser settings.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBrowserSettingsResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to be included in the next page.
        schema:
          type: integer
          minimum: 1
      - name: nextToken
        in: query
        required: false
        description: The pagination token used to retrieve the next page of results for this operation.
        schema:
          type: string
          pattern: ^\S+$
          minLength: 1
          maxLength: 2048
      summary: Amazon WorkSpaces Web List Browser Settings
  /identityProviders:
    post:
      operationId: CreateIdentityProvider
      description: Creates an identity provider resource that is then associated with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIdentityProviderResponse'
        '480':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '485':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '486':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - identityProviderDetails
              - identityProviderName
              - identityProviderType
              - portalArn
              properties:
                clientToken:
                  description: '<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent
                    request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p> <p>If you do not specify
                    a client token, one is automatically generated by the AWS SDK.</p>'
                  type: string
                  minLength: 1
                  maxLength: 512
                identityProviderDetails:
                  description: '<p>The identity provider details. The following list describes the provider detail keys for each identity provider type. </p> <ul> <li> <p>For Google and Login with Amazon:</p>
                    <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For Facebook:</p>
                    <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>api_version</code> </p>
                    </li> </ul> </li> <li> <p>For Sign in with Apple:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>team_id</code> </p> </li> <li> <p> <code>key_id</code> </p> </li>
                    <li> <p> <code>private_key</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For OIDC providers:</p> <ul> <li> <p> <code>client_id</code> </p> </li>
                    <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>attributes_request_method</code> </p> </li> <li> <p> <code>oidc_issuer</code> </p> </li> <li> <p> <code>authorize_scopes</code>
                    </p> </li> <li> <p> <code>authorize_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>token_url</code> <i>if not
                    available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>attributes_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code>
                    key</i> </p> </li> <li> <p> <code>jwks_uri</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> </ul> </li> <li> <p>For SAML providers:</p>
                    <ul> <li> <p> <code>MetadataFile</code> OR <code>MetadataURL</code> </p> </li> <li> <p> <code>IDPSignout</code> (boolean) <i>optional</i> </p> </li> </ul> </li> </ul>'
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/StringType'
                identityProviderName:
                  description: The identity provider name.
                  type: string
                  pattern: '^[^_][\p{L}\p{M}\p{S}\p{N}\p{P}][^_]+$'
                  minLength: 1
                  maxLength: 32
                  format: password
                identityProviderType:
                  description: The identity provider type.
                  type: string
                  enum:
                  - SAML
                  - Facebook
                  - Google
                  - LoginWithAmazon
                  - SignInWithApple
                  - OIDC
                portalArn:
                  description: The ARN of the web portal.
                  type: string
                  pattern: '^arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+$'
                  minLength: 20
                  maxLength: 2048
      summary: Amazon WorkSpaces Web Create Identity Provider
    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'
  /ipAccessSettings:
    post:
      operationId: CreateIpAccessSettings
      description: Creates an IP access settings resource that can be associated with a web portal.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/sc

# --- truncated at 32 KB (233 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-workspaces-web/refs/heads/main/openapi/amazon-workspaces-web-openapi-original.yaml