{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2018-09-25",
    "endpointPrefix":"worklink",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceAbbreviation":"WorkLink",
    "serviceFullName":"Amazon WorkLink",
    "serviceId":"WorkLink",
    "signatureVersion":"v4",
    "signingName":"worklink",
    "uid":"worklink-2018-09-25"
  },
  "operations":{
    "AssociateWebsiteCertificateAuthority":{
      "name":"AssociateWebsiteCertificateAuthority",
      "http":{
        "method":"POST",
        "requestUri":"/associateWebsiteCertificateAuthority"
      },
      "input":{"shape":"AssociateWebsiteCertificateAuthorityRequest"},
      "output":{"shape":"AssociateWebsiteCertificateAuthorityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Imports the root certificate of a certificate authority (CA) used to obtain TLS certificates used by associated websites within the company network.</p>"
    },
    "CreateFleet":{
      "name":"CreateFleet",
      "http":{
        "method":"POST",
        "requestUri":"/createFleet"
      },
      "input":{"shape":"CreateFleetRequest"},
      "output":{"shape":"CreateFleetResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ResourceAlreadyExistsException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Creates a fleet. A fleet consists of resources and the configuration that delivers associated websites to authorized users who download and set up the Amazon WorkLink app.</p>"
    },
    "DeleteFleet":{
      "name":"DeleteFleet",
      "http":{
        "method":"POST",
        "requestUri":"/deleteFleet"
      },
      "input":{"shape":"DeleteFleetRequest"},
      "output":{"shape":"DeleteFleetResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Deletes a fleet. Prevents users from accessing previously associated websites. </p>"
    },
    "DescribeAuditStreamConfiguration":{
      "name":"DescribeAuditStreamConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/describeAuditStreamConfiguration"
      },
      "input":{"shape":"DescribeAuditStreamConfigurationRequest"},
      "output":{"shape":"DescribeAuditStreamConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Describes the configuration for delivering audit streams to the customer account.</p>"
    },
    "DescribeCompanyNetworkConfiguration":{
      "name":"DescribeCompanyNetworkConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/describeCompanyNetworkConfiguration"
      },
      "input":{"shape":"DescribeCompanyNetworkConfigurationRequest"},
      "output":{"shape":"DescribeCompanyNetworkConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Describes the networking configuration to access the internal websites associated with the specified fleet.</p>"
    },
    "DescribeDevice":{
      "name":"DescribeDevice",
      "http":{
        "method":"POST",
        "requestUri":"/describeDevice"
      },
      "input":{"shape":"DescribeDeviceRequest"},
      "output":{"shape":"DescribeDeviceResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Provides information about a user's device.</p>"
    },
    "DescribeDevicePolicyConfiguration":{
      "name":"DescribeDevicePolicyConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/describeDevicePolicyConfiguration"
      },
      "input":{"shape":"DescribeDevicePolicyConfigurationRequest"},
      "output":{"shape":"DescribeDevicePolicyConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Describes the device policy configuration for the specified fleet.</p>"
    },
    "DescribeFleetMetadata":{
      "name":"DescribeFleetMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/describeFleetMetadata"
      },
      "input":{"shape":"DescribeFleetMetadataRequest"},
      "output":{"shape":"DescribeFleetMetadataResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Provides basic information for the specified fleet, excluding identity provider, networking, and device configuration details.</p>"
    },
    "DescribeIdentityProviderConfiguration":{
      "name":"DescribeIdentityProviderConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/describeIdentityProviderConfiguration"
      },
      "input":{"shape":"DescribeIdentityProviderConfigurationRequest"},
      "output":{"shape":"DescribeIdentityProviderConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Describes the identity provider configuration of the specified fleet.</p>"
    },
    "DescribeWebsiteCertificateAuthority":{
      "name":"DescribeWebsiteCertificateAuthority",
      "http":{
        "method":"POST",
        "requestUri":"/describeWebsiteCertificateAuthority"
      },
      "input":{"shape":"DescribeWebsiteCertificateAuthorityRequest"},
      "output":{"shape":"DescribeWebsiteCertificateAuthorityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Provides information about the certificate authority.</p>"
    },
    "DisassociateWebsiteCertificateAuthority":{
      "name":"DisassociateWebsiteCertificateAuthority",
      "http":{
        "method":"POST",
        "requestUri":"/disassociateWebsiteCertificateAuthority"
      },
      "input":{"shape":"DisassociateWebsiteCertificateAuthorityRequest"},
      "output":{"shape":"DisassociateWebsiteCertificateAuthorityResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Removes a certificate authority (CA).</p>"
    },
    "ListDevices":{
      "name":"ListDevices",
      "http":{
        "method":"POST",
        "requestUri":"/listDevices"
      },
      "input":{"shape":"ListDevicesRequest"},
      "output":{"shape":"ListDevicesResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Retrieves a list of devices registered with the specified fleet.</p>"
    },
    "ListFleets":{
      "name":"ListFleets",
      "http":{
        "method":"POST",
        "requestUri":"/listFleets"
      },
      "input":{"shape":"ListFleetsRequest"},
      "output":{"shape":"ListFleetsResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Retrieves a list of fleets for the current account and Region.</p>"
    },
    "ListWebsiteCertificateAuthorities":{
      "name":"ListWebsiteCertificateAuthorities",
      "http":{
        "method":"POST",
        "requestUri":"/listWebsiteCertificateAuthorities"
      },
      "input":{"shape":"ListWebsiteCertificateAuthoritiesRequest"},
      "output":{"shape":"ListWebsiteCertificateAuthoritiesResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Retrieves a list of certificate authorities added for the current account and Region.</p>"
    },
    "SignOutUser":{
      "name":"SignOutUser",
      "http":{
        "method":"POST",
        "requestUri":"/signOutUser"
      },
      "input":{"shape":"SignOutUserRequest"},
      "output":{"shape":"SignOutUserResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Signs the user out from all of their devices. The user can sign in again if they have valid credentials.</p>"
    },
    "UpdateAuditStreamConfiguration":{
      "name":"UpdateAuditStreamConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/updateAuditStreamConfiguration"
      },
      "input":{"shape":"UpdateAuditStreamConfigurationRequest"},
      "output":{"shape":"UpdateAuditStreamConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Updates the audit stream configuration for the fleet.</p>"
    },
    "UpdateCompanyNetworkConfiguration":{
      "name":"UpdateCompanyNetworkConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/updateCompanyNetworkConfiguration"
      },
      "input":{"shape":"UpdateCompanyNetworkConfigurationRequest"},
      "output":{"shape":"UpdateCompanyNetworkConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Updates the company network configuration for the fleet.</p>"
    },
    "UpdateDevicePolicyConfiguration":{
      "name":"UpdateDevicePolicyConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/updateDevicePolicyConfiguration"
      },
      "input":{"shape":"UpdateDevicePolicyConfigurationRequest"},
      "output":{"shape":"UpdateDevicePolicyConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Updates the device policy configuration for the fleet.</p>"
    },
    "UpdateFleetMetadata":{
      "name":"UpdateFleetMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/UpdateFleetMetadata"
      },
      "input":{"shape":"UpdateFleetMetadataRequest"},
      "output":{"shape":"UpdateFleetMetadataResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Updates fleet metadata, such as DisplayName.</p>"
    },
    "UpdateIdentityProviderConfiguration":{
      "name":"UpdateIdentityProviderConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/updateIdentityProviderConfiguration"
      },
      "input":{"shape":"UpdateIdentityProviderConfigurationRequest"},
      "output":{"shape":"UpdateIdentityProviderConfigurationResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InternalServerErrorException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"TooManyRequestsException"}
      ],
      "documentation":"<p>Updates the identity provider configuration for the fleet.</p>"
    }
  },
  "shapes":{
    "AssociateWebsiteCertificateAuthorityRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "Certificate"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "Certificate":{
          "shape":"Certificate",
          "documentation":"<p>The root certificate of the CA.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The certificate name to display.</p>"
        }
      }
    },
    "AssociateWebsiteCertificateAuthorityResponse":{
      "type":"structure",
      "members":{
        "WebsiteCaId":{
          "shape":"Id",
          "documentation":"<p>A unique identifier for the CA.</p>"
        }
      }
    },
    "AuditStreamArn":{"type":"string"},
    "Boolean":{"type":"boolean"},
    "Certificate":{
      "type":"string",
      "max":8192,
      "min":1,
      "pattern":"-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?"
    },
    "CertificateChain":{
      "type":"string",
      "max":32768,
      "min":1,
      "pattern":"(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?"
    },
    "CompanyCode":{
      "type":"string",
      "max":32,
      "min":1
    },
    "CreateFleetRequest":{
      "type":"structure",
      "required":["FleetName"],
      "members":{
        "FleetName":{
          "shape":"FleetName",
          "documentation":"<p>A unique name for the fleet.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The fleet name to display.</p>"
        },
        "OptimizeForEndUserLocation":{
          "shape":"Boolean",
          "documentation":"<p>The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.</p>"
        }
      }
    },
    "CreateFleetResponse":{
      "type":"structure",
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DateTime":{"type":"timestamp"},
    "DeleteFleetRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DeleteFleetResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DescribeAuditStreamConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DescribeAuditStreamConfigurationResponse":{
      "type":"structure",
      "members":{
        "AuditStreamArn":{
          "shape":"AuditStreamArn",
          "documentation":"<p>The ARN of the Amazon Kinesis data stream that will receive the audit events.</p>"
        }
      }
    },
    "DescribeCompanyNetworkConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DescribeCompanyNetworkConfigurationResponse":{
      "type":"structure",
      "members":{
        "VpcId":{
          "shape":"VpcId",
          "documentation":"<p>The VPC with connectivity to associated websites.</p>"
        },
        "SubnetIds":{
          "shape":"SubnetIds",
          "documentation":"<p>The subnets used for X-ENI connections from Amazon WorkLink rendering containers.</p>"
        },
        "SecurityGroupIds":{
          "shape":"SecurityGroupIds",
          "documentation":"<p>The security groups associated with access to the provided subnets.</p>"
        }
      }
    },
    "DescribeDevicePolicyConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DescribeDevicePolicyConfigurationResponse":{
      "type":"structure",
      "members":{
        "DeviceCaCertificate":{
          "shape":"Certificate",
          "documentation":"<p>The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.</p>"
        }
      }
    },
    "DescribeDeviceRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "DeviceId"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "DeviceId":{
          "shape":"Id",
          "documentation":"<p>A unique identifier for a registered user's device.</p>"
        }
      }
    },
    "DescribeDeviceResponse":{
      "type":"structure",
      "members":{
        "Status":{
          "shape":"DeviceStatus",
          "documentation":"<p>The current state of the device.</p>"
        },
        "Model":{
          "shape":"DeviceModel",
          "documentation":"<p>The model of the device.</p>"
        },
        "Manufacturer":{
          "shape":"DeviceManufacturer",
          "documentation":"<p>The manufacturer of the device.</p>"
        },
        "OperatingSystem":{
          "shape":"DeviceOperatingSystemName",
          "documentation":"<p>The operating system of the device.</p>"
        },
        "OperatingSystemVersion":{
          "shape":"DeviceOperatingSystemVersion",
          "documentation":"<p>The operating system version of the device.</p>"
        },
        "PatchLevel":{
          "shape":"DevicePatchLevel",
          "documentation":"<p>The operating system patch level of the device.</p>"
        },
        "FirstAccessedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date that the device first signed in to Amazon WorkLink.</p>"
        },
        "LastAccessedTime":{
          "shape":"DateTime",
          "documentation":"<p>The date that the device last accessed Amazon WorkLink.</p>"
        },
        "Username":{
          "shape":"Username",
          "documentation":"<p>The user name associated with the device.</p>"
        }
      }
    },
    "DescribeFleetMetadataRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DescribeFleetMetadataResponse":{
      "type":"structure",
      "members":{
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the fleet was created.</p>"
        },
        "LastUpdatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the fleet was last updated.</p>"
        },
        "FleetName":{
          "shape":"FleetName",
          "documentation":"<p>The name of the fleet.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The name to display.</p>"
        },
        "OptimizeForEndUserLocation":{
          "shape":"Boolean",
          "documentation":"<p>The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.</p>"
        },
        "CompanyCode":{
          "shape":"CompanyCode",
          "documentation":"<p>The identifier used by users to sign in to the Amazon WorkLink app.</p>"
        },
        "FleetStatus":{
          "shape":"FleetStatus",
          "documentation":"<p>The current state of the fleet.</p>"
        }
      }
    },
    "DescribeIdentityProviderConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        }
      }
    },
    "DescribeIdentityProviderConfigurationResponse":{
      "type":"structure",
      "members":{
        "IdentityProviderType":{
          "shape":"IdentityProviderType",
          "documentation":"<p>The type of identity provider.</p>"
        },
        "ServiceProviderSamlMetadata":{
          "shape":"SamlMetadata",
          "documentation":"<p>The SAML metadata document uploaded to the user’s identity provider.</p>"
        },
        "IdentityProviderSamlMetadata":{
          "shape":"SamlMetadata",
          "documentation":"<p>The SAML metadata document provided by the user’s identity provider.</p>"
        }
      }
    },
    "DescribeWebsiteCertificateAuthorityRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "WebsiteCaId"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "WebsiteCaId":{
          "shape":"Id",
          "documentation":"<p>A unique identifier for the certificate authority.</p>"
        }
      }
    },
    "DescribeWebsiteCertificateAuthorityResponse":{
      "type":"structure",
      "members":{
        "Certificate":{
          "shape":"Certificate",
          "documentation":"<p>The root certificate of the certificate authority.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time that the certificate authority was added.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The certificate name to display.</p>"
        }
      }
    },
    "DeviceManufacturer":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DeviceModel":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DeviceOperatingSystemName":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DeviceOperatingSystemVersion":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DevicePatchLevel":{
      "type":"string",
      "max":256,
      "min":1
    },
    "DeviceStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "SIGNED_OUT"
      ]
    },
    "DeviceSummary":{
      "type":"structure",
      "members":{
        "DeviceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the device.</p>"
        },
        "DeviceStatus":{
          "shape":"DeviceStatus",
          "documentation":"<p>The status of the device.</p>"
        }
      },
      "documentation":"<p>The summary of devices.</p>"
    },
    "DeviceSummaryList":{
      "type":"list",
      "member":{"shape":"DeviceSummary"}
    },
    "DisassociateWebsiteCertificateAuthorityRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "WebsiteCaId"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "WebsiteCaId":{
          "shape":"Id",
          "documentation":"<p>A unique identifier for the CA.</p>"
        }
      }
    },
    "DisassociateWebsiteCertificateAuthorityResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DisplayName":{
      "type":"string",
      "max":100
    },
    "ExceptionMessage":{"type":"string"},
    "FleetArn":{
      "type":"string",
      "max":2048,
      "min":20
    },
    "FleetName":{
      "type":"string",
      "max":48,
      "min":1,
      "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,46}[a-z0-9])?$"
    },
    "FleetStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "ACTIVE",
        "DELETING",
        "DELETED",
        "FAILED_TO_CREATE",
        "FAILED_TO_DELETE"
      ]
    },
    "FleetSummary":{
      "type":"structure",
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time when the fleet was created.</p>"
        },
        "LastUpdatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time when the fleet was last updated.</p>"
        },
        "FleetName":{
          "shape":"FleetName",
          "documentation":"<p>The name of the fleet.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The name to display.</p>"
        },
        "CompanyCode":{
          "shape":"CompanyCode",
          "documentation":"<p>The identifier used by users to sign into the Amazon WorkLink app.</p>"
        },
        "FleetStatus":{
          "shape":"FleetStatus",
          "documentation":"<p>The status of the fleet.</p>"
        }
      },
      "documentation":"<p>The summary of the fleet.</p>"
    },
    "FleetSummaryList":{
      "type":"list",
      "member":{"shape":"FleetSummary"}
    },
    "Id":{
      "type":"string",
      "max":256,
      "min":1
    },
    "IdentityProviderType":{
      "type":"string",
      "enum":["SAML"]
    },
    "InternalServerErrorException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The service is temporarily unavailable.</p>",
      "error":{"httpStatusCode":500},
      "exception":true
    },
    "InvalidRequestException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The request is not valid.</p>",
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ListDevicesRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to be included in the next page.</p>"
        }
      }
    },
    "ListDevicesResponse":{
      "type":"structure",
      "members":{
        "Devices":{
          "shape":"DeviceSummaryList",
          "documentation":"<p>Information about the devices.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.</p>"
        }
      }
    },
    "ListFleetsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to be included in the next page.</p>"
        }
      }
    },
    "ListFleetsResponse":{
      "type":"structure",
      "members":{
        "FleetSummaryList":{
          "shape":"FleetSummaryList",
          "documentation":"<p>The summary list of the fleets.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.</p>"
        }
      }
    },
    "ListWebsiteCertificateAuthoritiesRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to be included in the next page.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.</p>"
        }
      }
    },
    "ListWebsiteCertificateAuthoritiesResponse":{
      "type":"structure",
      "members":{
        "WebsiteCertificateAuthorities":{
          "shape":"WebsiteCaSummaryList",
          "documentation":"<p>Information about the certificates.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.</p>"
        }
      }
    },
    "MaxResults":{
      "type":"integer",
      "min":1
    },
    "NextToken":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[\\w\\-]+"
    },
    "ResourceAlreadyExistsException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The resource already exists.</p>",
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The requested resource was not found.</p>",
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "SamlMetadata":{
      "type":"string",
      "max":204800,
      "min":1
    },
    "SecurityGroupId":{
      "type":"string",
      "pattern":"^sg-([0-9a-f]{8}|[0-9a-f]{17})$"
    },
    "SecurityGroupIds":{
      "type":"list",
      "member":{"shape":"SecurityGroupId"}
    },
    "SignOutUserRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "Username"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "Username":{
          "shape":"Username",
          "documentation":"<p>The name of the user.</p>"
        }
      }
    },
    "SignOutUserResponse":{
      "type":"structure",
      "members":{
      }
    },
    "SubnetId":{
      "type":"string",
      "pattern":"^subnet-([0-9a-f]{8}|[0-9a-f]{17})$"
    },
    "SubnetIds":{
      "type":"list",
      "member":{"shape":"SubnetId"}
    },
    "TooManyRequestsException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The number of requests exceeds the limit.</p>",
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>You are not authorized to perform this action.</p>",
      "error":{"httpStatusCode":403},
      "exception":true
    },
    "UpdateAuditStreamConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "AuditStreamArn":{
          "shape":"AuditStreamArn",
          "documentation":"<p>The ARN of the Amazon Kinesis data stream that receives the audit events.</p>"
        }
      }
    },
    "UpdateAuditStreamConfigurationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateCompanyNetworkConfigurationRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "VpcId",
        "SubnetIds",
        "SecurityGroupIds"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "VpcId":{
          "shape":"VpcId",
          "documentation":"<p>The VPC with connectivity to associated websites.</p>"
        },
        "SubnetIds":{
          "shape":"SubnetIds",
          "documentation":"<p>The subnets used for X-ENI connections from Amazon WorkLink rendering containers.</p>"
        },
        "SecurityGroupIds":{
          "shape":"SecurityGroupIds",
          "documentation":"<p>The security groups associated with access to the provided subnets.</p>"
        }
      }
    },
    "UpdateCompanyNetworkConfigurationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDevicePolicyConfigurationRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "DeviceCaCertificate":{
          "shape":"CertificateChain",
          "documentation":"<p>The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.</p>"
        }
      }
    },
    "UpdateDevicePolicyConfigurationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateFleetMetadataRequest":{
      "type":"structure",
      "required":["FleetArn"],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The fleet name to display. The existing DisplayName is unset if null is passed.</p>"
        },
        "OptimizeForEndUserLocation":{
          "shape":"Boolean",
          "documentation":"<p>The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.</p>"
        }
      }
    },
    "UpdateFleetMetadataResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateIdentityProviderConfigurationRequest":{
      "type":"structure",
      "required":[
        "FleetArn",
        "IdentityProviderType"
      ],
      "members":{
        "FleetArn":{
          "shape":"FleetArn",
          "documentation":"<p>The ARN of the fleet.</p>"
        },
        "IdentityProviderType":{
          "shape":"IdentityProviderType",
          "documentation":"<p>The type of identity provider.</p>"
        },
        "IdentityProviderSamlMetadata":{
          "shape":"SamlMetadata",
          "documentation":"<p>The SAML metadata document provided by the customer’s identity provider. The existing IdentityProviderSamlMetadata is unset if null is passed.</p>"
        }
      }
    },
    "UpdateIdentityProviderConfigurationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "Username":{
      "type":"string",
      "max":256,
      "min":1
    },
    "VpcId":{
      "type":"string",
      "pattern":"^vpc-([0-9a-f]{8}|[0-9a-f]{17})$"
    },
    "WebsiteCaSummary":{
      "type":"structure",
      "members":{
        "WebsiteCaId":{
          "shape":"Id",
          "documentation":"<p>A unique identifier for the CA.</p>"
        },
        "CreatedTime":{
          "shape":"DateTime",
          "documentation":"<p>The time when the CA was added.</p>"
        },
        "DisplayName":{
          "shape":"DisplayName",
          "documentation":"<p>The name to display.</p>"
        }
      },
      "documentation":"<p>The summary of the certificate authority (CA).</p>"
    },
    "WebsiteCaSummaryList":{
      "type":"list",
      "member":{"shape":"WebsiteCaSummary"}
    }
  },
  "documentation":"<p>Amazon WorkLink is a cloud-based service that provides secure access to internal websites and web apps from iOS phones. In a single step, your users, such as employees, can access internal websites as efficiently as they access any other public website. They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink authenticates the user's access and securely renders authorized internal web content in a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on mobile devices.</p>"
}
