{
    "smithy": "1.0",
    "shapes": {
        "com.amazonaws.workspacesweb#ARN": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$"
            }
        },
        "com.amazonaws.workspacesweb#AWSErmineControlPlaneService": {
            "type": "service",
            "traits": {
                "aws.api#service": {
                    "sdkId": "WorkSpaces Web",
                    "arnNamespace": "workspaces-web",
                    "cloudFormationName": "WorkSpacesWeb",
                    "cloudTrailEventSource": "workspaces-web.amazonaws.com",
                    "endpointPrefix": "workspaces-web"
                },
                "aws.auth#sigv4": {
                    "name": "workspaces-web"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<p>WorkSpaces Web is a low cost, fully managed WorkSpace built specifically to facilitate\n         secure, web-based workloads. WorkSpaces Web makes it easy for customers to safely provide\n         their employees with access to internal websites and SaaS web applications without the\n         administrative burden of appliances or specialized client software. WorkSpaces Web provides\n         simple policy tools tailored for user interactions, while offloading common tasks like\n         capacity management, scaling, and maintaining browser images.</p>",
                "smithy.api#title": "Amazon WorkSpaces Web"
            },
            "version": "2020-07-08",
            "operations": [
                {
                    "target": "com.amazonaws.workspacesweb#AssociateBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#AssociateNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#AssociateTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#AssociateUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreateBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreateIdentityProvider"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreateNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreatePortal"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreateTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#CreateUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeleteBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeleteIdentityProvider"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeleteNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeletePortal"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeleteTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DeleteUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DisassociateBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DisassociateNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DisassociateTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#DisassociateUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetIdentityProvider"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetPortal"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadata"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetTrustStoreCertificate"
                },
                {
                    "target": "com.amazonaws.workspacesweb#GetUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListIdentityProviders"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListPortals"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListTrustStoreCertificates"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListTrustStores"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ListUserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#TagResource"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UntagResource"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdateBrowserSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdateIdentityProvider"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdateNetworkSettings"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdatePortal"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdateTrustStore"
                },
                {
                    "target": "com.amazonaws.workspacesweb#UpdateUserSettings"
                }
            ]
        },
        "com.amazonaws.workspacesweb#AccessDeniedException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Access is denied.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 403
            }
        },
        "com.amazonaws.workspacesweb#ArnList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#ARN"
            }
        },
        "com.amazonaws.workspacesweb#AssociateBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#AssociateBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#AssociateBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a browser settings resource with a web portal.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/portals/{portalArn+}/browserSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#AssociateBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#httpQuery": "browserSettingsArn",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateBrowserSettingsResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#AssociateNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#AssociateNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a network settings resource with a web portal.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/portals/{portalArn+}/networkSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#AssociateNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#httpQuery": "networkSettingsArn",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateNetworkSettingsResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#AssociateTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#AssociateTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a trust store with a web portal.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/portals/{portalArn+}/trustStores",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#AssociateTrustStoreRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#httpQuery": "trustStoreArn",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateTrustStoreResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#AssociateUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#AssociateUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Associates a user settings resource with a web portal.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/portals/{portalArn+}/userSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#AssociateUserSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#httpQuery": "userSettingsArn",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#AssociateUserSettingsResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#BrowserPolicy": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 2,
                    "max": 131072
                },
                "smithy.api#pattern": "\\{[\\S\\s]*\\}\\s*",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#BrowserSettings": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#required": {}
                    }
                },
                "associatedPortalArns": {
                    "target": "com.amazonaws.workspacesweb#ArnList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of web portal ARNs that this browser settings is associated with.</p>"
                    }
                },
                "browserPolicy": {
                    "target": "com.amazonaws.workspacesweb#BrowserPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>A JSON string containing Chrome Enterprise policies that will be applied to all\n         streaming sessions.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The browser settings resource that can be associated with a web portal. Once associated\n         with a web portal, browser settings control how the browser will behave once a user starts\n         a streaming session for the web portal. </p>"
            }
        },
        "com.amazonaws.workspacesweb#BrowserSettingsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#BrowserSettingsSummary"
            }
        },
        "com.amazonaws.workspacesweb#BrowserSettingsSummary": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary for browser settings.</p>"
            }
        },
        "com.amazonaws.workspacesweb#BrowserType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Chrome",
                        "name": "CHROME"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#Certificate": {
            "type": "structure",
            "members": {
                "thumbprint": {
                    "target": "com.amazonaws.workspacesweb#CertificateThumbprint",
                    "traits": {
                        "smithy.api#documentation": "<p>A hexadecimal identifier for the certificate.</p>"
                    }
                },
                "subject": {
                    "target": "com.amazonaws.workspacesweb#CertificatePrincipal",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity the certificate belongs to.</p>"
                    }
                },
                "issuer": {
                    "target": "com.amazonaws.workspacesweb#CertificatePrincipal",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity that issued the certificate.</p>"
                    }
                },
                "notValidBefore": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate is not valid before this date.</p>"
                    }
                },
                "notValidAfter": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate is not valid after this date.</p>"
                    }
                },
                "body": {
                    "target": "com.amazonaws.workspacesweb#CertificateAuthorityBody",
                    "traits": {
                        "smithy.api#documentation": "<p>The body of the certificate.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The certificate.</p>"
            }
        },
        "com.amazonaws.workspacesweb#CertificateAuthorityBody": {
            "type": "blob"
        },
        "com.amazonaws.workspacesweb#CertificateList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#CertificateAuthorityBody"
            }
        },
        "com.amazonaws.workspacesweb#CertificatePrincipal": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.workspacesweb#CertificateSummary": {
            "type": "structure",
            "members": {
                "thumbprint": {
                    "target": "com.amazonaws.workspacesweb#CertificateThumbprint",
                    "traits": {
                        "smithy.api#documentation": "<p>A hexadecimal identifier for the certificate.</p>"
                    }
                },
                "subject": {
                    "target": "com.amazonaws.workspacesweb#CertificatePrincipal",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity the certificate belongs to.</p>"
                    }
                },
                "issuer": {
                    "target": "com.amazonaws.workspacesweb#CertificatePrincipal",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity that issued the certificate.</p>"
                    }
                },
                "notValidBefore": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate is not valid before this date.</p>"
                    }
                },
                "notValidAfter": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate is not valid after this date.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the certificate.</p>"
            }
        },
        "com.amazonaws.workspacesweb#CertificateSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#CertificateSummary"
            }
        },
        "com.amazonaws.workspacesweb#CertificateThumbprint": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 64,
                    "max": 64
                },
                "smithy.api#pattern": "^[A-Fa-f0-9]{64}$"
            }
        },
        "com.amazonaws.workspacesweb#CertificateThumbprintList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#CertificateThumbprint"
            }
        },
        "com.amazonaws.workspacesweb#ClientToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 512
                }
            }
        },
        "com.amazonaws.workspacesweb#ConflictException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "resourceId": {
                    "target": "com.amazonaws.workspacesweb#ResourceId",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifier of the resource affected.</p>"
                    }
                },
                "resourceType": {
                    "target": "com.amazonaws.workspacesweb#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Type of the resource affected.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>There is a conflict.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.workspacesweb#CreateBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreateBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreateBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a browser settings resource that can be associated with a web portal. Once\n         associated with a web portal, browser settings control how the browser will behave once a\n         user starts a streaming session for the web portal. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/browserSettings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>"
                    }
                },
                "customerManagedKey": {
                    "target": "com.amazonaws.workspacesweb#keyArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The custom managed key of the browser settings.</p>"
                    }
                },
                "additionalEncryptionContext": {
                    "target": "com.amazonaws.workspacesweb#EncryptionContextMap",
                    "traits": {
                        "smithy.api#documentation": "<p>Additional encryption context of the browser settings.</p>"
                    }
                },
                "browserPolicy": {
                    "target": "com.amazonaws.workspacesweb#BrowserPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>A JSON string containing Chrome Enterprise policies that will be applied to all\n         streaming sessions.</p>",
                        "smithy.api#required": {}
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request.</p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS SDK. </p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateBrowserSettingsResponse": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateIdentityProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreateIdentityProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreateIdentityProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates an identity provider resource that is then associated with a web portal.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/identityProviders",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateIdentityProviderRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "identityProviderName": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderName",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider name.</p>",
                        "smithy.api#required": {}
                    }
                },
                "identityProviderType": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider type.</p>",
                        "smithy.api#required": {}
                    }
                },
                "identityProviderDetails": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider details. The following list describes the provider detail keys for\n         each identity provider type. </p>\n         <ul>\n            <li>\n               <p>For Google and Login with Amazon:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Facebook:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>api_version</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Sign in with Apple:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>team_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>key_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>private_key</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For OIDC providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_request_method</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>oidc_issuer</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_url</code>\n                        <i>if not available from discovery URL specified by\n                           <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>token_url</code>\n                        <i>if not available from discovery URL specified by\n                           <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_url</code>\n                        <i>if not available from discovery URL specified by\n                           <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>jwks_uri</code>\n                        <i>if not available from discovery URL specified by\n                           <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For SAML providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>MetadataFile</code> OR <code>MetadataURL</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>IDPSignout</code> (boolean) \n               <i>optional</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n         </ul>",
                        "smithy.api#required": {}
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request.</p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateIdentityProviderResponse": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreateNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreateNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a network settings resource that can be associated with a web portal. Once\n         associated with a web portal, network settings define how streaming instances will connect\n         with your specified VPC. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/networkSettings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "vpcId": {
                    "target": "com.amazonaws.workspacesweb#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC that streaming instances will connect to.</p>",
                        "smithy.api#required": {}
                    }
                },
                "subnetIds": {
                    "target": "com.amazonaws.workspacesweb#SubnetIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.</p>",
                        "smithy.api#required": {}
                    }
                },
                "securityGroupIds": {
                    "target": "com.amazonaws.workspacesweb#SecurityGroupIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more security groups used to control access from streaming instances to your VPC.</p>",
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the network settings resource. A tag is a key-value pair.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateNetworkSettingsResponse": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreatePortal": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreatePortalRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreatePortalResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a web portal.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/portals",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreatePortalRequest": {
            "type": "structure",
            "members": {
                "displayName": {
                    "target": "com.amazonaws.workspacesweb#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the web portal. This is not visible to users who log into the web portal.</p>"
                    }
                },
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the web portal. A tag is a key-value pair.</p>"
                    }
                },
                "customerManagedKey": {
                    "target": "com.amazonaws.workspacesweb#keyArn",
                    "traits": {
                        "smithy.api#documentation": "<p>The customer managed key of the web portal.</p>"
                    }
                },
                "additionalEncryptionContext": {
                    "target": "com.amazonaws.workspacesweb#EncryptionContextMap",
                    "traits": {
                        "smithy.api#documentation": "<p>The additional encryption context of the portal.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreatePortalResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "portalEndpoint": {
                    "target": "com.amazonaws.workspacesweb#PortalEndpoint",
                    "traits": {
                        "smithy.api#documentation": "<p>The endpoint URL of the web portal that users access in order to start streaming sessions.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreateTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreateTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a trust store that can be associated with a web portal. A trust store contains\n         certificate authority (CA) certificates. Once associated with a web portal, the browser in\n         a streaming session will recognize certificates that have been issued using any of the CAs\n         in the trust store. If your organization has internal websites that use certificates issued\n         by private CAs, you should add the private CA certificate to the trust store. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/trustStores",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateTrustStoreRequest": {
            "type": "structure",
            "members": {
                "certificateList": {
                    "target": "com.amazonaws.workspacesweb#CertificateList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of CA certificates to be added to the trust store.</p>",
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the trust store. A tag is a key-value pair.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateTrustStoreResponse": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#CreateUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#CreateUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates a user settings resource that can be associated with a web portal. Once\n         associated with a web portal, user settings control how users can transfer data between a\n         streaming session and the their local devices. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/userSettings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateUserSettingsRequest": {
            "type": "structure",
            "members": {
                "copyAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can copy text from the streaming session to the local\n         device.</p>",
                        "smithy.api#required": {}
                    }
                },
                "pasteAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can paste text from the local device to the streaming\n         session.</p>",
                        "smithy.api#required": {}
                    }
                },
                "downloadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can download files from the streaming session to the local\n         device.</p>",
                        "smithy.api#required": {}
                    }
                },
                "uploadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can upload files from the local device to the streaming\n         session.</p>",
                        "smithy.api#required": {}
                    }
                },
                "printAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can print to the local device.</p>",
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags to add to the user settings resource. A tag is a key-value pair.</p>"
                    }
                },
                "disconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#DisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that a streaming session remains active after users disconnect.</p>"
                    }
                },
                "idleDisconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#CreateUserSettingsResponse": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeleteBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes browser settings.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/browserSettings/{browserSettingsArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeleteBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteBrowserSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DeleteIdentityProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeleteIdentityProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeleteIdentityProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the identity provider.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/identityProviders/{identityProviderArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeleteIdentityProviderRequest": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteIdentityProviderResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DeleteNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeleteNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeleteNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes network settings.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/networkSettings/{networkSettingsArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeleteNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteNetworkSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DeletePortal": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeletePortalRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeletePortalResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes a web portal.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/portals/{portalArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeletePortalRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeletePortalResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DeleteTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeleteTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeleteTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the trust store.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/trustStores/{trustStoreArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeleteTrustStoreRequest": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteTrustStoreResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DeleteUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DeleteUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DeleteUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ConflictException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes user settings.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/userSettings/{userSettingsArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DeleteUserSettingsRequest": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DeleteUserSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DisassociateBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DisassociateBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DisassociateBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates browser settings from a web portal.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/portals/{portalArn+}/browserSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DisassociateBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DisassociateBrowserSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DisassociateNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DisassociateNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DisassociateNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates network settings from a web portal.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/portals/{portalArn+}/networkSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DisassociateNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DisassociateNetworkSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DisassociateTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DisassociateTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DisassociateTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates a trust store from a web portal.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/portals/{portalArn+}/trustStores",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DisassociateTrustStoreRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DisassociateTrustStoreResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DisassociateUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#DisassociateUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#DisassociateUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Disassociates user settings from a web portal.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/portals/{portalArn+}/userSettings",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#DisassociateUserSettingsRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#DisassociateUserSettingsResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#DisconnectTimeoutInMinutes": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1,
                    "max": 600
                }
            }
        },
        "com.amazonaws.workspacesweb#DisplayName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 64
                },
                "smithy.api#pattern": "^.+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#EnabledType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Disabled",
                        "name": "DISABLED"
                    },
                    {
                        "value": "Enabled",
                        "name": "ENABLED"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#EncryptionContextMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.workspacesweb#StringType"
            },
            "value": {
                "target": "com.amazonaws.workspacesweb#StringType"
            }
        },
        "com.amazonaws.workspacesweb#ExceptionMessage": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#FieldName": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#GetBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets browser settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/browserSettings/{browserSettingsArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetBrowserSettingsResponse": {
            "type": "structure",
            "members": {
                "browserSettings": {
                    "target": "com.amazonaws.workspacesweb#BrowserSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The browser settings.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetIdentityProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetIdentityProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetIdentityProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the identity provider.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/identityProviders/{identityProviderArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetIdentityProviderRequest": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetIdentityProviderResponse": {
            "type": "structure",
            "members": {
                "identityProvider": {
                    "target": "com.amazonaws.workspacesweb#IdentityProvider",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the network settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/networkSettings/{networkSettingsArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetNetworkSettingsResponse": {
            "type": "structure",
            "members": {
                "networkSettings": {
                    "target": "com.amazonaws.workspacesweb#NetworkSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The network settings.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetPortal": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetPortalRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetPortalResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the web portal.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/portals/{portalArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetPortalRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetPortalResponse": {
            "type": "structure",
            "members": {
                "portal": {
                    "target": "com.amazonaws.workspacesweb#Portal",
                    "traits": {
                        "smithy.api#documentation": "<p>The web portal.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadata": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadataRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadataResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the service provider metadata.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/portalIdp/{portalArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadataRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetPortalServiceProviderMetadataResponse": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#required": {}
                    }
                },
                "serviceProviderSamlMetadata": {
                    "target": "com.amazonaws.workspacesweb#SamlMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p>The service provider SAML metadata.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the trust store.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/trustStores/{trustStoreArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStoreCertificate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetTrustStoreCertificateRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetTrustStoreCertificateResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the trust store certificate.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/trustStores/{trustStoreArn+}/certificate",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStoreCertificateRequest": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store certificate.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "thumbprint": {
                    "target": "com.amazonaws.workspacesweb#CertificateThumbprint",
                    "traits": {
                        "smithy.api#documentation": "<p>The thumbprint of the trust store certificate.</p>",
                        "smithy.api#httpQuery": "thumbprint",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStoreCertificateResponse": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store certificate.</p>"
                    }
                },
                "certificate": {
                    "target": "com.amazonaws.workspacesweb#Certificate",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate of the trust store certificate.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStoreRequest": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetTrustStoreResponse": {
            "type": "structure",
            "members": {
                "trustStore": {
                    "target": "com.amazonaws.workspacesweb#TrustStore",
                    "traits": {
                        "smithy.api#documentation": "<p>The trust store.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#GetUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#GetUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets user settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/userSettings/{userSettingsArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#GetUserSettingsRequest": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#GetUserSettingsResponse": {
            "type": "structure",
            "members": {
                "userSettings": {
                    "target": "com.amazonaws.workspacesweb#UserSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The user settings.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#IdentityProvider": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>",
                        "smithy.api#required": {}
                    }
                },
                "identityProviderName": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderName",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider name.</p>"
                    }
                },
                "identityProviderType": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider type.</p>"
                    }
                },
                "identityProviderDetails": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider details. The following list describes the provider detail keys for\n         each identity provider type. </p>\n         <ul>\n            <li>\n               <p>For Google and Login with Amazon:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Facebook:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>api_version</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Sign in with Apple:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>team_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>key_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>private_key</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For OIDC providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_request_method</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>oidc_issuer</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_url</code>\n                        <i>if not available from discovery URL specified by oidc_issuer\n                        key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>token_url</code>\n                        <i>if not available from discovery URL specified by oidc_issuer\n                        key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_url</code>\n                        <i>if not available from discovery URL specified by oidc_issuer\n                        key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>jwks_uri</code>\n                        <i>if not available from discovery URL specified by oidc_issuer\n                        key</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For SAML providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>MetadataFile</code> OR <code>MetadataURL</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>IDPSignout</code>\n                        <i>optional</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n         </ul>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The identity provider.</p>"
            }
        },
        "com.amazonaws.workspacesweb#IdentityProviderDetails": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.workspacesweb#StringType"
            },
            "value": {
                "target": "com.amazonaws.workspacesweb#StringType"
            },
            "traits": {
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#IdentityProviderList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#IdentityProviderSummary"
            }
        },
        "com.amazonaws.workspacesweb#IdentityProviderName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 32
                },
                "smithy.api#pattern": "^[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#IdentityProviderSummary": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>"
                    }
                },
                "identityProviderName": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderName",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider name.</p>"
                    }
                },
                "identityProviderType": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider type.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the identity provider.</p>"
            }
        },
        "com.amazonaws.workspacesweb#IdentityProviderType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "SAML",
                        "name": "SAML"
                    },
                    {
                        "value": "Facebook",
                        "name": "Facebook"
                    },
                    {
                        "value": "Google",
                        "name": "Google"
                    },
                    {
                        "value": "LoginWithAmazon",
                        "name": "LoginWithAmazon"
                    },
                    {
                        "value": "SignInWithApple",
                        "name": "SignInWithApple"
                    },
                    {
                        "value": "OIDC",
                        "name": "OIDC"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 0,
                    "max": 60
                }
            }
        },
        "com.amazonaws.workspacesweb#InternalServerException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "retryAfterSeconds": {
                    "target": "com.amazonaws.workspacesweb#RetryAfterSeconds",
                    "traits": {
                        "smithy.api#documentation": "<p>Advice to clients on when the call can be safely retried.</p>",
                        "smithy.api#httpHeader": "Retry-After"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>There is an internal server error.</p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.workspacesweb#ListBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of browser settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/browserSettings",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListBrowserSettingsResponse": {
            "type": "structure",
            "members": {
                "browserSettings": {
                    "target": "com.amazonaws.workspacesweb#BrowserSettingsList",
                    "traits": {
                        "smithy.api#documentation": "<p>The browser settings.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListIdentityProviders": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListIdentityProvidersRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListIdentityProvidersResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of identity providers for a specific web portal.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/portals/{portalArn+}/identityProviders",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListIdentityProvidersRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                },
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListIdentityProvidersResponse": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>"
                    }
                },
                "identityProviders": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderList",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity providers.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of network settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/networkSettings",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListNetworkSettingsResponse": {
            "type": "structure",
            "members": {
                "networkSettings": {
                    "target": "com.amazonaws.workspacesweb#NetworkSettingsList",
                    "traits": {
                        "smithy.api#documentation": "<p>The network settings.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListPortals": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListPortalsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListPortalsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list or web portals.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/portals",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListPortalsRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListPortalsResponse": {
            "type": "structure",
            "members": {
                "portals": {
                    "target": "com.amazonaws.workspacesweb#PortalList",
                    "traits": {
                        "smithy.api#documentation": "<p>The portals in the list.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. </p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListTagsForResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of tags for a resource.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{resourceArn+}",
                    "code": 200
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTagsForResourceResponse": {
            "type": "structure",
            "members": {
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags of the resource.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStoreCertificates": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListTrustStoreCertificatesRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListTrustStoreCertificatesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of trust store certificates.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/trustStores/{trustStoreArn+}/certificates",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStoreCertificatesRequest": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStoreCertificatesResponse": {
            "type": "structure",
            "members": {
                "certificateList": {
                    "target": "com.amazonaws.workspacesweb#CertificateSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>The certificate list.</p>"
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.&gt;</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStores": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListTrustStoresRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListTrustStoresResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of trust stores.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/trustStores",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStoresRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListTrustStoresResponse": {
            "type": "structure",
            "members": {
                "trustStores": {
                    "target": "com.amazonaws.workspacesweb#TrustStoreSummaryList",
                    "traits": {
                        "smithy.api#documentation": "<p>The trust stores.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#ListUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#ListUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves a list of user settings.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/userSettings",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                },
                "smithy.api#readonly": {}
            }
        },
        "com.amazonaws.workspacesweb#ListUserSettingsRequest": {
            "type": "structure",
            "members": {
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. </p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.workspacesweb#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of results to be included in the next page.</p>",
                        "smithy.api#httpQuery": "maxResults"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#ListUserSettingsResponse": {
            "type": "structure",
            "members": {
                "userSettings": {
                    "target": "com.amazonaws.workspacesweb#UserSettingsList",
                    "traits": {
                        "smithy.api#documentation": "<p>The user settings.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.workspacesweb#PaginationToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token used to retrieve the next page of results for this operation. </p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1
                }
            }
        },
        "com.amazonaws.workspacesweb#NetworkSettings": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#required": {}
                    }
                },
                "associatedPortalArns": {
                    "target": "com.amazonaws.workspacesweb#ArnList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of web portal ARNs that this network settings is associated with.</p>"
                    }
                },
                "vpcId": {
                    "target": "com.amazonaws.workspacesweb#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC that streaming instances will connect to.</p>"
                    }
                },
                "subnetIds": {
                    "target": "com.amazonaws.workspacesweb#SubnetIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.</p>"
                    }
                },
                "securityGroupIds": {
                    "target": "com.amazonaws.workspacesweb#SecurityGroupIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more security groups used to control access from streaming instances to your VPC. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A network settings resource that can be associated with a web portal. Once associated\n         with a web portal, network settings define how streaming instances will connect with your\n         specified VPC. </p>"
            }
        },
        "com.amazonaws.workspacesweb#NetworkSettingsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#NetworkSettingsSummary"
            }
        },
        "com.amazonaws.workspacesweb#NetworkSettingsSummary": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>"
                    }
                },
                "vpcId": {
                    "target": "com.amazonaws.workspacesweb#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC ID of the network settings.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of network settings.</p>"
            }
        },
        "com.amazonaws.workspacesweb#PaginationToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.workspacesweb#Portal": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>"
                    }
                },
                "rendererType": {
                    "target": "com.amazonaws.workspacesweb#RendererType",
                    "traits": {
                        "smithy.api#documentation": "<p>The renderer that is used in streaming sessions.</p>"
                    }
                },
                "browserType": {
                    "target": "com.amazonaws.workspacesweb#BrowserType",
                    "traits": {
                        "smithy.api#documentation": "<p>The browser that users see when using a streaming session.</p>"
                    }
                },
                "portalStatus": {
                    "target": "com.amazonaws.workspacesweb#PortalStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the web portal.</p>"
                    }
                },
                "portalEndpoint": {
                    "target": "com.amazonaws.workspacesweb#PortalEndpoint",
                    "traits": {
                        "smithy.api#documentation": "<p>The endpoint URL of the web portal that users access in order to start streaming\n         sessions.</p>"
                    }
                },
                "displayName": {
                    "target": "com.amazonaws.workspacesweb#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the web portal.</p>"
                    }
                },
                "creationDate": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The creation date of the web portal.</p>"
                    }
                },
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings that is associated with this web portal.</p>"
                    }
                },
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store that is associated with the web portal.</p>"
                    }
                },
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings that is associated with the web portal.</p>"
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store that is associated with the web portal.</p>"
                    }
                },
                "statusReason": {
                    "target": "com.amazonaws.workspacesweb#StatusReason",
                    "traits": {
                        "smithy.api#documentation": "<p>A message that explains why the web portal is in its current status.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The web portal.</p>"
            }
        },
        "com.amazonaws.workspacesweb#PortalEndpoint": {
            "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.workspacesweb#PortalList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#PortalSummary"
            }
        },
        "com.amazonaws.workspacesweb#PortalStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Incomplete",
                        "name": "INCOMPLETE"
                    },
                    {
                        "value": "Pending",
                        "name": "PENDING"
                    },
                    {
                        "value": "Active",
                        "name": "ACTIVE"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#PortalSummary": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>"
                    }
                },
                "rendererType": {
                    "target": "com.amazonaws.workspacesweb#RendererType",
                    "traits": {
                        "smithy.api#documentation": "<p>The renderer that is used in streaming sessions.</p>"
                    }
                },
                "browserType": {
                    "target": "com.amazonaws.workspacesweb#BrowserType",
                    "traits": {
                        "smithy.api#documentation": "<p>The browser type of the web portal.</p>"
                    }
                },
                "portalStatus": {
                    "target": "com.amazonaws.workspacesweb#PortalStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>The status of the web portal.</p>"
                    }
                },
                "portalEndpoint": {
                    "target": "com.amazonaws.workspacesweb#PortalEndpoint",
                    "traits": {
                        "smithy.api#documentation": "<p>The endpoint URL of the web portal that users access in order to start streaming\n         sessions.</p>"
                    }
                },
                "displayName": {
                    "target": "com.amazonaws.workspacesweb#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the web portal.</p>"
                    }
                },
                "creationDate": {
                    "target": "com.amazonaws.workspacesweb#Timestamp",
                    "traits": {
                        "smithy.api#documentation": "<p>The creation date of the web portal.</p>"
                    }
                },
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings that is associated with the web portal.</p>"
                    }
                },
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings that is associated with the web portal.</p>"
                    }
                },
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings that is associated with the web portal.</p>"
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust that is associated with this web portal.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the portal.</p>"
            }
        },
        "com.amazonaws.workspacesweb#QuotaCode": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#RendererType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "AppStream",
                        "name": "APPSTREAM"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#ResourceId": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "resourceId": {
                    "target": "com.amazonaws.workspacesweb#ResourceId",
                    "traits": {
                        "smithy.api#documentation": "<p>Hypothetical identifier of the resource affected.</p>"
                    }
                },
                "resourceType": {
                    "target": "com.amazonaws.workspacesweb#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p>Hypothetical type of the resource affected.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The resource cannot be found.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 404
            }
        },
        "com.amazonaws.workspacesweb#ResourceType": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#RetryAfterSeconds": {
            "type": "integer"
        },
        "com.amazonaws.workspacesweb#SamlMetadata": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 204800
                },
                "smithy.api#pattern": "^.+$"
            }
        },
        "com.amazonaws.workspacesweb#SecurityGroupId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^[\\w+\\-]+$"
            }
        },
        "com.amazonaws.workspacesweb#SecurityGroupIdList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#SecurityGroupId"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 5
                }
            }
        },
        "com.amazonaws.workspacesweb#ServiceCode": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#ServiceQuotaExceededException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "resourceId": {
                    "target": "com.amazonaws.workspacesweb#ResourceId",
                    "traits": {
                        "smithy.api#documentation": "<p>Identifier of the resource affected.</p>"
                    }
                },
                "resourceType": {
                    "target": "com.amazonaws.workspacesweb#ResourceType",
                    "traits": {
                        "smithy.api#documentation": "<p> Type of the resource affected.</p>"
                    }
                },
                "serviceCode": {
                    "target": "com.amazonaws.workspacesweb#ServiceCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The originating service.</p>"
                    }
                },
                "quotaCode": {
                    "target": "com.amazonaws.workspacesweb#QuotaCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The originating quota.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The service quota has been exceeded.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 402
            }
        },
        "com.amazonaws.workspacesweb#StatusReason": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1024
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.workspacesweb#StringType": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 131072
                },
                "smithy.api#pattern": "^[\\s\\S]*$"
            }
        },
        "com.amazonaws.workspacesweb#SubnetId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 32
                },
                "smithy.api#pattern": "^subnet-([0-9a-f]{8}|[0-9a-f]{17})$"
            }
        },
        "com.amazonaws.workspacesweb#SubnetIdList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#SubnetId"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 2,
                    "max": 3
                }
            }
        },
        "com.amazonaws.workspacesweb#Tag": {
            "type": "structure",
            "members": {
                "Key": {
                    "target": "com.amazonaws.workspacesweb#TagKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The key of the tag.</p>",
                        "smithy.api#required": {}
                    }
                },
                "Value": {
                    "target": "com.amazonaws.workspacesweb#TagValue",
                    "traits": {
                        "smithy.api#documentation": "<p>The value of the tag</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The tag.</p>",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#TagExceptionMessage": {
            "type": "string"
        },
        "com.amazonaws.workspacesweb#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#TagKey"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#TagList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#Tag"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#TagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#TagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#TooManyTagsException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Adds or overwrites one or more tags for the specified resource.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/tags/{resourceArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#TagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.workspacesweb#TagList",
                    "traits": {
                        "smithy.api#documentation": "<p>The tags of the resource.</p>",
                        "smithy.api#required": {}
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token returns the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#TagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.workspacesweb#ThrottlingException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "serviceCode": {
                    "target": "com.amazonaws.workspacesweb#ServiceCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The originating service.</p>"
                    }
                },
                "quotaCode": {
                    "target": "com.amazonaws.workspacesweb#QuotaCode",
                    "traits": {
                        "smithy.api#documentation": "<p>The originating quota.</p>"
                    }
                },
                "retryAfterSeconds": {
                    "target": "com.amazonaws.workspacesweb#RetryAfterSeconds",
                    "traits": {
                        "smithy.api#documentation": "<p>Advice to clients on when the call can be safely retried.</p>",
                        "smithy.api#httpHeader": "Retry-After"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>There is a throttling error.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 429
            }
        },
        "com.amazonaws.workspacesweb#Timestamp": {
            "type": "timestamp"
        },
        "com.amazonaws.workspacesweb#TooManyTagsException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#TagExceptionMessage"
                },
                "resourceName": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Name of the resource affected.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>There are too many tags.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.workspacesweb#TrustStore": {
            "type": "structure",
            "members": {
                "associatedPortalArns": {
                    "target": "com.amazonaws.workspacesweb#ArnList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of web portal ARNs that this trust store is associated with.</p>"
                    }
                },
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A trust store that can be associated with a web portal. A trust store contains\n         certificate authority (CA) certificates. Once associated with a web portal, the browser in\n         a streaming session will recognize certificates that have been issued using any of the CAs\n         in the trust store. If your organization has internal websites that use certificates issued\n         by private CAs, you should add the private CA certificate to the trust store. </p>"
            }
        },
        "com.amazonaws.workspacesweb#TrustStoreSummary": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of the trust store.</p>"
            }
        },
        "com.amazonaws.workspacesweb#TrustStoreSummaryList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#TrustStoreSummary"
            }
        },
        "com.amazonaws.workspacesweb#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UntagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UntagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "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
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#UntagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tagKeys": {
                    "target": "com.amazonaws.workspacesweb#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.workspacesweb#UntagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.workspacesweb#UpdateBrowserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdateBrowserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdateBrowserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates browser settings.</p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/browserSettings/{browserSettingsArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateBrowserSettingsRequest": {
            "type": "structure",
            "members": {
                "browserSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the browser settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "browserPolicy": {
                    "target": "com.amazonaws.workspacesweb#BrowserPolicy",
                    "traits": {
                        "smithy.api#documentation": "<p>A JSON string containing Chrome Enterprise policies that will be applied to all\n         streaming sessions. </p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token return the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateBrowserSettingsResponse": {
            "type": "structure",
            "members": {
                "browserSettings": {
                    "target": "com.amazonaws.workspacesweb#BrowserSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The browser settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateIdentityProvider": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdateIdentityProviderRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdateIdentityProviderResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the identity provider. </p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/identityProviders/{identityProviderArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateIdentityProviderRequest": {
            "type": "structure",
            "members": {
                "identityProviderArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the identity provider.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "identityProviderName": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the identity provider.</p>"
                    }
                },
                "identityProviderType": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderType",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of the identity provider.</p>"
                    }
                },
                "identityProviderDetails": {
                    "target": "com.amazonaws.workspacesweb#IdentityProviderDetails",
                    "traits": {
                        "smithy.api#documentation": "<p>The details of the identity provider. The following list describes the provider detail keys for\n         each identity provider type. </p>\n         <ul>\n            <li>\n               <p>For Google and Login with Amazon:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Facebook:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>api_version</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For Sign in with Apple:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>team_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>key_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>private_key</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For OIDC providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>client_id</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>client_secret</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_request_method</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>oidc_issuer</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_scopes</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>authorize_url</code>\n                        <i>if not available from discovery URL specified by\n                  <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>token_url</code>\n                        <i>if not available from discovery URL specified by\n                  <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>attributes_url</code>\n                        <i>if not available from discovery URL specified by\n                  <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>jwks_uri</code>\n                        <i>if not available from discovery URL specified by\n                  <code>oidc_issuer</code> key</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n            <li>\n               <p>For SAML providers:</p>      \n               <ul>\n                  <li>\n                     <p>\n                        <code>MetadataFile</code> OR <code>MetadataURL</code>\n                     </p>\n                  </li>\n                  <li>\n                     <p>\n                        <code>IDPSignout</code> (boolean) \n               <i>optional</i>\n                     </p>\n                  </li>\n               </ul>\n            </li>\n         </ul>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token return the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateIdentityProviderResponse": {
            "type": "structure",
            "members": {
                "identityProvider": {
                    "target": "com.amazonaws.workspacesweb#IdentityProvider",
                    "traits": {
                        "smithy.api#documentation": "<p>The identity provider.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateNetworkSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdateNetworkSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdateNetworkSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates network settings.</p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/networkSettings/{networkSettingsArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateNetworkSettingsRequest": {
            "type": "structure",
            "members": {
                "networkSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the network settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "vpcId": {
                    "target": "com.amazonaws.workspacesweb#VpcId",
                    "traits": {
                        "smithy.api#documentation": "<p>The VPC that streaming instances will connect to.</p>"
                    }
                },
                "subnetIds": {
                    "target": "com.amazonaws.workspacesweb#SubnetIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.</p>"
                    }
                },
                "securityGroupIds": {
                    "target": "com.amazonaws.workspacesweb#SecurityGroupIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>One or more security groups used to control access from streaming instances to your VPC.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token return the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateNetworkSettingsResponse": {
            "type": "structure",
            "members": {
                "networkSettings": {
                    "target": "com.amazonaws.workspacesweb#NetworkSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The network settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdatePortal": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdatePortalRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdatePortalResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates a web portal.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/portals/{portalArn+}",
                    "code": 200
                },
                "smithy.api#idempotent": {}
            }
        },
        "com.amazonaws.workspacesweb#UpdatePortalRequest": {
            "type": "structure",
            "members": {
                "portalArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the web portal.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "displayName": {
                    "target": "com.amazonaws.workspacesweb#DisplayName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the web portal. This is not visible to users who log into the web portal.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdatePortalResponse": {
            "type": "structure",
            "members": {
                "portal": {
                    "target": "com.amazonaws.workspacesweb#Portal",
                    "traits": {
                        "smithy.api#documentation": "<p>The web portal.</p>"
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateTrustStore": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdateTrustStoreRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdateTrustStoreResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the trust store.</p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/trustStores/{trustStoreArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateTrustStoreRequest": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "certificatesToAdd": {
                    "target": "com.amazonaws.workspacesweb#CertificateList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of CA certificates to add to the trust store.</p>"
                    }
                },
                "certificatesToDelete": {
                    "target": "com.amazonaws.workspacesweb#CertificateThumbprintList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of CA certificates to delete from a trust store.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token return the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateTrustStoreResponse": {
            "type": "structure",
            "members": {
                "trustStoreArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the trust store.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateUserSettings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.workspacesweb#UpdateUserSettingsRequest"
            },
            "output": {
                "target": "com.amazonaws.workspacesweb#UpdateUserSettingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.workspacesweb#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#InternalServerException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.workspacesweb#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the user settings.</p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/userSettings/{userSettingsArn+}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateUserSettingsRequest": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "copyAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can copy text from the streaming session to the local\n         device.</p>"
                    }
                },
                "pasteAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can paste text from the local device to the streaming\n         session.</p>"
                    }
                },
                "downloadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can download files from the streaming session to the local\n         device.</p>"
                    }
                },
                "uploadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can upload files from the local device to the streaming\n         session.</p>"
                    }
                },
                "printAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can print to the local device.</p>"
                    }
                },
                "disconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#DisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that a streaming session remains active after users disconnect.</p>"
                    }
                },
                "idleDisconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.</p>"
                    }
                },
                "clientToken": {
                    "target": "com.amazonaws.workspacesweb#ClientToken",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n         request. Idempotency ensures that an API request completes only once. With an idempotent\n         request, if the original request completes successfully, subsequent retries with the same\n         client token return the result from the original successful request. </p>\n         <p>If you do not specify a client token, one is automatically generated by the AWS\n         SDK.</p>",
                        "smithy.api#idempotencyToken": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UpdateUserSettingsResponse": {
            "type": "structure",
            "members": {
                "userSettings": {
                    "target": "com.amazonaws.workspacesweb#UserSettings",
                    "traits": {
                        "smithy.api#documentation": "<p>The user settings.</p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.workspacesweb#UserSettings": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>",
                        "smithy.api#required": {}
                    }
                },
                "associatedPortalArns": {
                    "target": "com.amazonaws.workspacesweb#ArnList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of web portal ARNs that this user settings is associated with.</p>"
                    }
                },
                "copyAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can copy text from the streaming session to the local\n         device.</p>"
                    }
                },
                "pasteAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can paste text from the local device to the streaming\n         session.</p>"
                    }
                },
                "downloadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can download files from the streaming session to the local\n         device.</p>"
                    }
                },
                "uploadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can upload files from the local device to the streaming\n         session.</p>"
                    }
                },
                "printAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can print to the local device.</p>"
                    }
                },
                "disconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#DisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that a streaming session remains active after users disconnect.</p>"
                    }
                },
                "idleDisconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A user settings resource that can be associated with a web portal. Once associated with\n         a web portal, user settings control how users can transfer data between a streaming session\n         and the their local devices. </p>"
            }
        },
        "com.amazonaws.workspacesweb#UserSettingsList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#UserSettingsSummary"
            }
        },
        "com.amazonaws.workspacesweb#UserSettingsSummary": {
            "type": "structure",
            "members": {
                "userSettingsArn": {
                    "target": "com.amazonaws.workspacesweb#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the user settings.</p>"
                    }
                },
                "copyAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can copy text from the streaming session to the local\n         device.</p>"
                    }
                },
                "pasteAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can paste text from the local device to the streaming\n         session.</p>"
                    }
                },
                "downloadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can download files from the streaming session to the local\n         device.</p>"
                    }
                },
                "uploadAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can upload files from the local device to the streaming\n         session.</p>"
                    }
                },
                "printAllowed": {
                    "target": "com.amazonaws.workspacesweb#EnabledType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the user can print to the local device.</p>"
                    }
                },
                "disconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#DisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that a streaming session remains active after users disconnect.</p>"
                    }
                },
                "idleDisconnectTimeoutInMinutes": {
                    "target": "com.amazonaws.workspacesweb#IdleDisconnectTimeoutInMinutes",
                    "traits": {
                        "smithy.api#documentation": "<p>The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The summary of user settings.</p>"
            }
        },
        "com.amazonaws.workspacesweb#ValidationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage"
                },
                "reason": {
                    "target": "com.amazonaws.workspacesweb#ValidationExceptionReason",
                    "traits": {
                        "smithy.api#documentation": "<p>Reason the request failed validation</p>"
                    }
                },
                "fieldList": {
                    "target": "com.amazonaws.workspacesweb#ValidationExceptionFieldList",
                    "traits": {
                        "smithy.api#documentation": "<p>The field that caused the error.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>There is a validation error.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.workspacesweb#ValidationExceptionField": {
            "type": "structure",
            "members": {
                "name": {
                    "target": "com.amazonaws.workspacesweb#FieldName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the field that failed validation.</p>",
                        "smithy.api#required": {}
                    }
                },
                "message": {
                    "target": "com.amazonaws.workspacesweb#ExceptionMessage",
                    "traits": {
                        "smithy.api#documentation": "<p>The message describing why the field failed validation.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Information about a field passed inside a request that resulted in an exception.</p>"
            }
        },
        "com.amazonaws.workspacesweb#ValidationExceptionFieldList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.workspacesweb#ValidationExceptionField"
            }
        },
        "com.amazonaws.workspacesweb#ValidationExceptionReason": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "unknownOperation",
                        "name": "UNKNOWN_OPERATION"
                    },
                    {
                        "value": "cannotParse",
                        "name": "CANNOT_PARSE"
                    },
                    {
                        "value": "fieldValidationFailed",
                        "name": "FIELD_VALIDATION_FAILED"
                    },
                    {
                        "value": "other",
                        "name": "OTHER"
                    }
                ]
            }
        },
        "com.amazonaws.workspacesweb#VpcId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 255
                },
                "smithy.api#pattern": "^vpc-[0-9a-z]*$"
            }
        },
        "com.amazonaws.workspacesweb#keyArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$"
            }
        }
    }
}
