{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.worklink#AcmCertificateArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*"
            }
        },
        "com.amazonaws.worklink#AssociateDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#AssociateDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#AssociateDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Specifies a domain to be associated to Amazon WorkLink.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/associateDomain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#AssociateDomainRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The fully qualified domain name (FQDN).</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                },
                "AcmCertificateArn": {
                    "target": "com.amazonaws.worklink#AcmCertificateArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of an issued ACM certificate that is valid for the domain being associated.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#AssociateDomainResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#AssociateWebsiteAuthorizationProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#AssociateWebsiteAuthorizationProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#AssociateWebsiteAuthorizationProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a website authorization provider with a specified fleet. This is used to authorize users against associated websites in the company network.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/associateWebsiteAuthorizationProvider",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#AssociateWebsiteAuthorizationProviderRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "AuthorizationProviderType": {
                    "target": "com.amazonaws.worklink#AuthorizationProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The authorization provider type.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain name of the authorization provider. This applies only to SAML-based\n            authorization providers.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#AssociateWebsiteAuthorizationProviderResponse": {
            "type": "structure",
            "members": {
                "AuthorizationProviderId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the authorization provider.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#AssociateWebsiteCertificateAuthority": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#AssociateWebsiteCertificateAuthorityRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#AssociateWebsiteCertificateAuthorityResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Imports the root certificate of a certificate authority (CA) used to obtain TLS\n            certificates used by associated websites within the company network.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/associateWebsiteCertificateAuthority",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#AssociateWebsiteCertificateAuthorityRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Certificate": {
                    "target": "com.amazonaws.worklink#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The root certificate of the CA.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate name to display.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#AssociateWebsiteCertificateAuthorityResponse": {
            "type": "structure",
            "members": {
                "WebsiteCaId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the CA.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#AuditStreamArn": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^arn:aws:kinesis:.+:[0-9]{12}:stream/AmazonWorkLink-.*$"
            }
        },
        "com.amazonaws.worklink#AuthorizationProviderType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "SAML",
                        "name": "SAML"
                    }
                ]
            }
        },
        "com.amazonaws.worklink#Boolean": {
            "type": "boolean",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.worklink#Certificate": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 8192
                },
                "smithy.api#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)?"
            }
        },
        "com.amazonaws.worklink#CertificateChain": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 32768
                },
                "smithy.api#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)?"
            }
        },
        "com.amazonaws.worklink#CompanyCode": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 32
                }
            }
        },
        "com.amazonaws.worklink#CreateFleet": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#CreateFleetRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#CreateFleetResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a fleet. A fleet consists of resources and the configuration that delivers\n            associated websites to authorized users who download and set up the Amazon WorkLink app.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/createFleet",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#CreateFleetRequest": {
            "type": "structure",
            "members": {
                "FleetName": {
                    "target": "com.amazonaws.worklink#FleetName",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique name for the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The fleet name to display.</p>"
                    }
                },
                "OptimizeForEndUserLocation": {
                    "target": "com.amazonaws.worklink#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The option to optimize for better performance by routing traffic through the closest\n            AWS Region to users, which may be outside of your home Region.</p>"
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.worklink#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags to add to the resource. A tag is a key-value pair.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#CreateFleetResponse": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DateTime": {
            "type": "timestamp"
        },
        "com.amazonaws.worklink#DeleteFleet": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DeleteFleetRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DeleteFleetResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes a fleet. Prevents users from accessing previously associated websites. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/deleteFleet",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DeleteFleetRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DeleteFleetResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#DescribeAuditStreamConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeAuditStreamConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeAuditStreamConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes the configuration for delivering audit streams to the customer account.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeAuditStreamConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeAuditStreamConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeAuditStreamConfigurationResponse": {
            "type": "structure",
            "members": {
                "AuditStreamArn": {
                    "target": "com.amazonaws.worklink#AuditStreamArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the Amazon Kinesis data stream that will receive the audit events.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeCompanyNetworkConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeCompanyNetworkConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeCompanyNetworkConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes the networking configuration to access the internal websites associated with\n            the specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeCompanyNetworkConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeCompanyNetworkConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeCompanyNetworkConfigurationResponse": {
            "type": "structure",
            "members": {
                "VpcId": {
                    "target": "com.amazonaws.worklink#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC with connectivity to associated websites.</p>"
                    }
                },
                "SubnetIds": {
                    "target": "com.amazonaws.worklink#SubnetIds",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets used for X-ENI connections from Amazon WorkLink rendering containers.</p>"
                    }
                },
                "SecurityGroupIds": {
                    "target": "com.amazonaws.worklink#SecurityGroupIds",
                    "traits": {
                        "smithy.api#documentation": "<p>The security groups associated with access to the provided subnets.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDevice": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeDeviceRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeDeviceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides information about a user's device.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeDevice",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeDevicePolicyConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeDevicePolicyConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeDevicePolicyConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes the device policy configuration for the specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeDevicePolicyConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeDevicePolicyConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDevicePolicyConfigurationResponse": {
            "type": "structure",
            "members": {
                "DeviceCaCertificate": {
                    "target": "com.amazonaws.worklink#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDeviceRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DeviceId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for a registered user's device.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDeviceResponse": {
            "type": "structure",
            "members": {
                "Status": {
                    "target": "com.amazonaws.worklink#DeviceStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state of the device.</p>"
                    }
                },
                "Model": {
                    "target": "com.amazonaws.worklink#DeviceModel",
                    "traits": {
                        "smithy.api#documentation": "<p>The model of the device.</p>"
                    }
                },
                "Manufacturer": {
                    "target": "com.amazonaws.worklink#DeviceManufacturer",
                    "traits": {
                        "smithy.api#documentation": "<p>The manufacturer of the device.</p>"
                    }
                },
                "OperatingSystem": {
                    "target": "com.amazonaws.worklink#DeviceOperatingSystemName",
                    "traits": {
                        "smithy.api#documentation": "<p>The operating system of the device.</p>"
                    }
                },
                "OperatingSystemVersion": {
                    "target": "com.amazonaws.worklink#DeviceOperatingSystemVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The operating system version of the device.</p>"
                    }
                },
                "PatchLevel": {
                    "target": "com.amazonaws.worklink#DevicePatchLevel",
                    "traits": {
                        "smithy.api#documentation": "<p>The operating system patch level of the device.</p>"
                    }
                },
                "FirstAccessedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The date that the device first signed in to Amazon WorkLink.</p>"
                    }
                },
                "LastAccessedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The date that the device last accessed Amazon WorkLink.</p>"
                    }
                },
                "Username": {
                    "target": "com.amazonaws.worklink#Username",
                    "traits": {
                        "smithy.api#documentation": "<p>The user name associated with the device.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides information about the domain.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeDomain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeDomainRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeDomainResponse": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>"
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time that the domain was added.</p>"
                    }
                },
                "DomainStatus": {
                    "target": "com.amazonaws.worklink#DomainStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state for the domain.</p>"
                    }
                },
                "AcmCertificateArn": {
                    "target": "com.amazonaws.worklink#AcmCertificateArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of an issued ACM certificate that is valid for the domain being associated.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeFleetMetadata": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeFleetMetadataRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeFleetMetadataResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides basic information for the specified fleet, excluding identity provider,\n            networking, and device configuration details.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeFleetMetadata",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeFleetMetadataRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeFleetMetadataResponse": {
            "type": "structure",
            "members": {
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time that the fleet was created.</p>"
                    }
                },
                "LastUpdatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time that the fleet was last updated.</p>"
                    }
                },
                "FleetName": {
                    "target": "com.amazonaws.worklink#FleetName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the fleet.</p>"
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                },
                "OptimizeForEndUserLocation": {
                    "target": "com.amazonaws.worklink#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The option to optimize for better performance by routing traffic through the closest\n            AWS Region to users, which may be outside of your home Region.</p>"
                    }
                },
                "CompanyCode": {
                    "target": "com.amazonaws.worklink#CompanyCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier used by users to sign in to the Amazon WorkLink app.</p>"
                    }
                },
                "FleetStatus": {
                    "target": "com.amazonaws.worklink#FleetStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The current state of the fleet.</p>"
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.worklink#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags attached to the resource. A tag is a key-value pair.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeIdentityProviderConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeIdentityProviderConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeIdentityProviderConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes the identity provider configuration of the specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeIdentityProviderConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeIdentityProviderConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeIdentityProviderConfigurationResponse": {
            "type": "structure",
            "members": {
                "IdentityProviderType": {
                    "target": "com.amazonaws.worklink#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of identity provider.</p>"
                    }
                },
                "ServiceProviderSamlMetadata": {
                    "target": "com.amazonaws.worklink#SamlMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML metadata document uploaded to the user’s identity provider.</p>"
                    }
                },
                "IdentityProviderSamlMetadata": {
                    "target": "com.amazonaws.worklink#SamlMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML metadata document provided by the user’s identity provider.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeWebsiteCertificateAuthority": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DescribeWebsiteCertificateAuthorityRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DescribeWebsiteCertificateAuthorityResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Provides information about the certificate authority.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describeWebsiteCertificateAuthority",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DescribeWebsiteCertificateAuthorityRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "WebsiteCaId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the certificate authority.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DescribeWebsiteCertificateAuthorityResponse": {
            "type": "structure",
            "members": {
                "Certificate": {
                    "target": "com.amazonaws.worklink#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The root certificate of the certificate authority.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time that the certificate authority was added.</p>"
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate name to display.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#DeviceManufacturer": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#DeviceModel": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#DeviceOperatingSystemName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#DeviceOperatingSystemVersion": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#DevicePatchLevel": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#DeviceStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "SIGNED_OUT",
                        "name": "SIGNED_OUT"
                    }
                ]
            }
        },
        "com.amazonaws.worklink#DeviceSummary": {
            "type": "structure",
            "members": {
                "DeviceId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>The ID of the device.</p>"
                    }
                },
                "DeviceStatus": {
                    "target": "com.amazonaws.worklink#DeviceStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the device.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of devices.</p>"
            }
        },
        "com.amazonaws.worklink#DeviceSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#DeviceSummary"
            }
        },
        "com.amazonaws.worklink#DisassociateDomain": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DisassociateDomainRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DisassociateDomainResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates a domain from Amazon WorkLink. End users lose the ability to access the domain with Amazon WorkLink. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/disassociateDomain",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DisassociateDomainRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DisassociateDomainResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceAlreadyExistsException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates a website authorization provider from a specified fleet. After the\n            disassociation, users can't load any associated websites that require this authorization\n            provider.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/disassociateWebsiteAuthorizationProvider",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProviderRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "AuthorizationProviderId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the authorization provider.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProviderResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthority": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthorityRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthorityResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Removes a certificate authority (CA).</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/disassociateWebsiteCertificateAuthority",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthorityRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "WebsiteCaId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the CA.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthorityResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#DisplayName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.worklink#DomainName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 253
                },
                "smithy.api#pattern": "^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$"
            }
        },
        "com.amazonaws.worklink#DomainStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PENDING_VALIDATION",
                        "name": "PENDING_VALIDATION"
                    },
                    {
                        "value": "ASSOCIATING",
                        "name": "ASSOCIATING"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "INACTIVE",
                        "name": "INACTIVE"
                    },
                    {
                        "value": "DISASSOCIATING",
                        "name": "DISASSOCIATING"
                    },
                    {
                        "value": "DISASSOCIATED",
                        "name": "DISASSOCIATED"
                    },
                    {
                        "value": "FAILED_TO_ASSOCIATE",
                        "name": "FAILED_TO_ASSOCIATE"
                    },
                    {
                        "value": "FAILED_TO_DISASSOCIATE",
                        "name": "FAILED_TO_DISASSOCIATE"
                    }
                ]
            }
        },
        "com.amazonaws.worklink#DomainSummary": {
            "type": "structure",
            "members": {
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time that the domain was created.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainStatus": {
                    "target": "com.amazonaws.worklink#DomainStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the domain.</p>"
            }
        },
        "com.amazonaws.worklink#DomainSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#DomainSummary"
            }
        },
        "com.amazonaws.worklink#ExceptionMessage": {
            "type": "string"
        },
        "com.amazonaws.worklink#FleetArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                }
            }
        },
        "com.amazonaws.worklink#FleetName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 48
                },
                "smithy.api#pattern": "^[a-z0-9](?:[a-z0-9\\-]{0,46}[a-z0-9])?$"
            }
        },
        "com.amazonaws.worklink#FleetStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CREATING",
                        "name": "CREATING"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "DELETING",
                        "name": "DELETING"
                    },
                    {
                        "value": "DELETED",
                        "name": "DELETED"
                    },
                    {
                        "value": "FAILED_TO_CREATE",
                        "name": "FAILED_TO_CREATE"
                    },
                    {
                        "value": "FAILED_TO_DELETE",
                        "name": "FAILED_TO_DELETE"
                    }
                ]
            }
        },
        "com.amazonaws.worklink#FleetSummary": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time when the fleet was created.</p>"
                    }
                },
                "LastUpdatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time when the fleet was last updated.</p>"
                    }
                },
                "FleetName": {
                    "target": "com.amazonaws.worklink#FleetName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the fleet.</p>"
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the fleet to display.</p>"
                    }
                },
                "CompanyCode": {
                    "target": "com.amazonaws.worklink#CompanyCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier used by users to sign into the Amazon WorkLink app.</p>"
                    }
                },
                "FleetStatus": {
                    "target": "com.amazonaws.worklink#FleetStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the fleet.</p>"
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.worklink#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags attached to the resource. A tag is a key-value pair.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the fleet.</p>"
            }
        },
        "com.amazonaws.worklink#FleetSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#FleetSummary"
            }
        },
        "com.amazonaws.worklink#Id": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#IdentityProviderType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "SAML",
                        "name": "SAML"
                    }
                ]
            }
        },
        "com.amazonaws.worklink#InternalServerErrorException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The service is temporarily unavailable.</p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.worklink#InvalidRequestException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The request is not valid.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.worklink#ListDevices": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListDevicesRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListDevicesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of devices registered with the specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/listDevices",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.worklink#ListDevicesRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            this value is null, it retrieves the first page.</p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.worklink#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListDevicesResponse": {
            "type": "structure",
            "members": {
                "Devices": {
                    "target": "com.amazonaws.worklink#DeviceSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the devices.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            there are no more pages, this value is null.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListDomains": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListDomainsRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListDomainsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of domains associated to a specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/listDomains",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.worklink#ListDomainsRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            this value is null, it retrieves the first page.</p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.worklink#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListDomainsResponse": {
            "type": "structure",
            "members": {
                "Domains": {
                    "target": "com.amazonaws.worklink#DomainSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the domains.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            there are no more pages, this value is null.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListFleets": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListFleetsRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListFleetsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of fleets for the current account and Region.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/listFleets",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.worklink#ListFleetsRequest": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            this value is null, it retrieves the first page.</p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.worklink#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListFleetsResponse": {
            "type": "structure",
            "members": {
                "FleetSummaryList": {
                    "target": "com.amazonaws.worklink#FleetSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>The summary list of the fleets.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            there are no more pages, this value is null.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListTagsForResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of tags for the specified resource.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{ResourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListTagsForResourceResponse": {
            "type": "structure",
            "members": {
                "Tags": {
                    "target": "com.amazonaws.worklink#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags attached to the resource. A tag is a key-value pair.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteAuthorizationProviders": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListWebsiteAuthorizationProvidersRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListWebsiteAuthorizationProvidersResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of website authorization providers associated with a specified fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/listWebsiteAuthorizationProviders",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteAuthorizationProvidersRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.</p>"
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.worklink#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteAuthorizationProvidersResponse": {
            "type": "structure",
            "members": {
                "WebsiteAuthorizationProviders": {
                    "target": "com.amazonaws.worklink#WebsiteAuthorizationProvidersSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>The website authorization providers.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteCertificateAuthorities": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#ListWebsiteCertificateAuthoritiesRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#ListWebsiteCertificateAuthoritiesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of certificate authorities added for the current account and\n            Region.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/listWebsiteCertificateAuthorities",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxResults"
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteCertificateAuthoritiesRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "MaxResults": {
                    "target": "com.amazonaws.worklink#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            this value is null, it retrieves the first page.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#ListWebsiteCertificateAuthoritiesResponse": {
            "type": "structure",
            "members": {
                "WebsiteCertificateAuthorities": {
                    "target": "com.amazonaws.worklink#WebsiteCaSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the certificates.</p>"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.worklink#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. If\n            there are no more pages, this value is null.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1
                }
            }
        },
        "com.amazonaws.worklink#NextToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 4096
                },
                "smithy.api#pattern": "[\\w\\-]+"
            }
        },
        "com.amazonaws.worklink#ResourceAlreadyExistsException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The resource already exists.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.worklink#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The requested resource was not found.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 404
            }
        },
        "com.amazonaws.worklink#RestoreDomainAccess": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#RestoreDomainAccessRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#RestoreDomainAccessResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Moves a domain to ACTIVE status if it was in the INACTIVE status.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/restoreDomainAccess",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#RestoreDomainAccessRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#RestoreDomainAccessResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#RevokeDomainAccess": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#RevokeDomainAccessRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#RevokeDomainAccessResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Moves a domain to INACTIVE status if it was in the ACTIVE status.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/revokeDomainAccess",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#RevokeDomainAccessRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#RevokeDomainAccessResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#SamlMetadata": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 204800
                }
            }
        },
        "com.amazonaws.worklink#SecurityGroupId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^sg-([0-9a-f]{8}|[0-9a-f]{17})$"
            }
        },
        "com.amazonaws.worklink#SecurityGroupIds": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#SecurityGroupId"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 5
                }
            }
        },
        "com.amazonaws.worklink#SignOutUser": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#SignOutUserRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#SignOutUserResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Signs the user out from all of their devices. The user can sign in again if they have\n            valid credentials.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/signOutUser",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#SignOutUserRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Username": {
                    "target": "com.amazonaws.worklink#Username",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the user.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#SignOutUserResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#SubnetId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^subnet-([0-9a-f]{8}|[0-9a-f]{17})$"
            }
        },
        "com.amazonaws.worklink#SubnetIds": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#SubnetId"
            }
        },
        "com.amazonaws.worklink#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$"
            }
        },
        "com.amazonaws.worklink#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#TagKey"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 50
                }
            }
        },
        "com.amazonaws.worklink#TagMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.worklink#TagKey"
            },
            "value": {
                "target": "com.amazonaws.worklink#TagValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 50
                }
            }
        },
        "com.amazonaws.worklink#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#TagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#TagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Adds or overwrites one or more tags for the specified resource, such as a fleet. Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/tags/{ResourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#TagResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.worklink#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the resource. A tag is a key-value pair.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#TagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#TooManyRequestsException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The number of requests exceeds the limit.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 429
            }
        },
        "com.amazonaws.worklink#UnauthorizedException": {
            "type": "structure",
            "members": {
                "Message": {
                    "target": "com.amazonaws.worklink#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>You are not authorized to perform this action.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 403
            }
        },
        "com.amazonaws.worklink#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UntagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UntagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Removes one or more tags from the specified resource.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/tags/{ResourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UntagResourceRequest": {
            "type": "structure",
            "members": {
                "ResourceArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the fleet.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "TagKeys": {
                    "target": "com.amazonaws.worklink#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p>The list of tag keys to remove from the resource.</p>",
                        "smithy.api#httpQuery": "tagKeys",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#UntagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateAuditStreamConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateAuditStreamConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateAuditStreamConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the audit stream configuration for the fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/updateAuditStreamConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateAuditStreamConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "AuditStreamArn": {
                    "target": "com.amazonaws.worklink#AuditStreamArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the Amazon Kinesis data stream that receives the audit events.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateAuditStreamConfigurationResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateCompanyNetworkConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateCompanyNetworkConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateCompanyNetworkConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the company network configuration for the fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/updateCompanyNetworkConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateCompanyNetworkConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "VpcId": {
                    "target": "com.amazonaws.worklink#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC with connectivity to associated websites.</p>",
                        "smithy.api#required": {}
                    }
                },
                "SubnetIds": {
                    "target": "com.amazonaws.worklink#SubnetIds",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets used for X-ENI connections from Amazon WorkLink rendering containers.</p>",
                        "smithy.api#required": {}
                    }
                },
                "SecurityGroupIds": {
                    "target": "com.amazonaws.worklink#SecurityGroupIds",
                    "traits": {
                        "smithy.api#documentation": "<p>The security groups associated with access to the provided subnets.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateCompanyNetworkConfigurationResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateDevicePolicyConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateDevicePolicyConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateDevicePolicyConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the device policy configuration for the fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/updateDevicePolicyConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateDevicePolicyConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DeviceCaCertificate": {
                    "target": "com.amazonaws.worklink#CertificateChain",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateDevicePolicyConfigurationResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateDomainMetadata": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateDomainMetadataRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateDomainMetadataResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates domain metadata, such as DisplayName.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/updateDomainMetadata",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateDomainMetadataRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the domain.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateDomainMetadataResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateFleetMetadata": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateFleetMetadataRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateFleetMetadataResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates fleet metadata, such as DisplayName.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/UpdateFleetMetadata",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateFleetMetadataRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The fleet name to display. The existing DisplayName is unset if null is passed.</p>"
                    }
                },
                "OptimizeForEndUserLocation": {
                    "target": "com.amazonaws.worklink#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>The option to optimize for better performance by routing traffic through the closest\n            AWS Region to users, which may be outside of your home Region.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateFleetMetadataResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#UpdateIdentityProviderConfiguration": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.worklink#UpdateIdentityProviderConfigurationRequest"
            },
            "output": {
                "target": "com.amazonaws.worklink#UpdateIdentityProviderConfigurationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.worklink#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.worklink#InvalidRequestException"
                },
                {
                    "target": "com.amazonaws.worklink#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.worklink#TooManyRequestsException"
                },
                {
                    "target": "com.amazonaws.worklink#UnauthorizedException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the identity provider configuration for the fleet.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/updateIdentityProviderConfiguration",
                    "code": 200
                }
            }
        },
        "com.amazonaws.worklink#UpdateIdentityProviderConfigurationRequest": {
            "type": "structure",
            "members": {
                "FleetArn": {
                    "target": "com.amazonaws.worklink#FleetArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the fleet.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdentityProviderType": {
                    "target": "com.amazonaws.worklink#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of identity provider.</p>",
                        "smithy.api#required": {}
                    }
                },
                "IdentityProviderSamlMetadata": {
                    "target": "com.amazonaws.worklink#SamlMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The SAML metadata document provided by the customer’s identity provider. The existing\n            IdentityProviderSamlMetadata is unset if null is passed.</p>"
                    }
                }
            }
        },
        "com.amazonaws.worklink#UpdateIdentityProviderConfigurationResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.worklink#Username": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.worklink#VpcId": {
            "type": "string",
            "traits": {
                "smithy.api#pattern": "^vpc-([0-9a-f]{8}|[0-9a-f]{17})$"
            }
        },
        "com.amazonaws.worklink#WebsiteAuthorizationProviderSummary": {
            "type": "structure",
            "members": {
                "AuthorizationProviderId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the authorization provider.</p>"
                    }
                },
                "AuthorizationProviderType": {
                    "target": "com.amazonaws.worklink#AuthorizationProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The authorization provider type.</p>",
                        "smithy.api#required": {}
                    }
                },
                "DomainName": {
                    "target": "com.amazonaws.worklink#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p>The domain name of the authorization provider. This applies only to SAML-based\n            authorization providers.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time of creation.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the website authorization provider.</p>"
            }
        },
        "com.amazonaws.worklink#WebsiteAuthorizationProvidersSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#WebsiteAuthorizationProviderSummary"
            }
        },
        "com.amazonaws.worklink#WebsiteCaSummary": {
            "type": "structure",
            "members": {
                "WebsiteCaId": {
                    "target": "com.amazonaws.worklink#Id",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique identifier for the CA.</p>"
                    }
                },
                "CreatedTime": {
                    "target": "com.amazonaws.worklink#DateTime",
                    "traits": {
                        "smithy.api#documentation": "<p>The time when the CA was added.</p>"
                    }
                },
                "DisplayName": {
                    "target": "com.amazonaws.worklink#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name to display.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the certificate authority (CA).</p>"
            }
        },
        "com.amazonaws.worklink#WebsiteCaSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.worklink#WebsiteCaSummary"
            }
        },
        "com.amazonaws.worklink#WorkLink": {
            "type": "service",
            "version": "2018-09-25",
            "operations": [
                {
                    "target": "com.amazonaws.worklink#AssociateDomain"
                },
                {
                    "target": "com.amazonaws.worklink#AssociateWebsiteAuthorizationProvider"
                },
                {
                    "target": "com.amazonaws.worklink#AssociateWebsiteCertificateAuthority"
                },
                {
                    "target": "com.amazonaws.worklink#CreateFleet"
                },
                {
                    "target": "com.amazonaws.worklink#DeleteFleet"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeAuditStreamConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeCompanyNetworkConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeDevice"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeDevicePolicyConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeDomain"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeFleetMetadata"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeIdentityProviderConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#DescribeWebsiteCertificateAuthority"
                },
                {
                    "target": "com.amazonaws.worklink#DisassociateDomain"
                },
                {
                    "target": "com.amazonaws.worklink#DisassociateWebsiteAuthorizationProvider"
                },
                {
                    "target": "com.amazonaws.worklink#DisassociateWebsiteCertificateAuthority"
                },
                {
                    "target": "com.amazonaws.worklink#ListDevices"
                },
                {
                    "target": "com.amazonaws.worklink#ListDomains"
                },
                {
                    "target": "com.amazonaws.worklink#ListFleets"
                },
                {
                    "target": "com.amazonaws.worklink#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.worklink#ListWebsiteAuthorizationProviders"
                },
                {
                    "target": "com.amazonaws.worklink#ListWebsiteCertificateAuthorities"
                },
                {
                    "target": "com.amazonaws.worklink#RestoreDomainAccess"
                },
                {
                    "target": "com.amazonaws.worklink#RevokeDomainAccess"
                },
                {
                    "target": "com.amazonaws.worklink#SignOutUser"
                },
                {
                    "target": "com.amazonaws.worklink#TagResource"
                },
                {
                    "target": "com.amazonaws.worklink#UntagResource"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateAuditStreamConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateCompanyNetworkConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateDevicePolicyConfiguration"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateDomainMetadata"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateFleetMetadata"
                },
                {
                    "target": "com.amazonaws.worklink#UpdateIdentityProviderConfiguration"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "WorkLink",
                    "arnNamespace": "worklink",
                    "cloudFormationName": "WorkLink",
                    "cloudTrailEventSource": "worklink.amazonaws.com",
                    "endpointPrefix": "worklink"
                },
                "aws.auth#sigv4": {
                    "name": "worklink"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<p>Amazon WorkLink is a cloud-based service that provides secure access\n            to internal websites and web apps from iOS and Android phones. In a single step, your users, such as\n            employees, can access internal websites as efficiently as they access any other public website.\n            They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink\n            authenticates the user's access and securely renders authorized internal web content in a secure\n            rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on\n            mobile devices.</p>",
                "smithy.api#title": "Amazon WorkLink"
            }
        }
    }
}
