• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2020-07-08",
5    "endpointPrefix":"workspaces-web",
6    "jsonVersion":"1.1",
7    "protocol":"rest-json",
8    "serviceFullName":"Amazon WorkSpaces Web",
9    "serviceId":"WorkSpaces Web",
10    "signatureVersion":"v4",
11    "signingName":"workspaces-web",
12    "uid":"workspaces-web-2020-07-08"
13  },
14  "operations":{
15    "AssociateBrowserSettings":{
16      "name":"AssociateBrowserSettings",
17      "http":{
18        "method":"PUT",
19        "requestUri":"/portals/{portalArn+}/browserSettings",
20        "responseCode":200
21      },
22      "input":{"shape":"AssociateBrowserSettingsRequest"},
23      "output":{"shape":"AssociateBrowserSettingsResponse"},
24      "errors":[
25        {"shape":"InternalServerException"},
26        {"shape":"ResourceNotFoundException"},
27        {"shape":"AccessDeniedException"},
28        {"shape":"ThrottlingException"},
29        {"shape":"ValidationException"},
30        {"shape":"ConflictException"}
31      ],
32      "documentation":"<p>Associates a browser settings resource with a web portal.</p>",
33      "idempotent":true
34    },
35    "AssociateIpAccessSettings":{
36      "name":"AssociateIpAccessSettings",
37      "http":{
38        "method":"PUT",
39        "requestUri":"/portals/{portalArn+}/ipAccessSettings",
40        "responseCode":200
41      },
42      "input":{"shape":"AssociateIpAccessSettingsRequest"},
43      "output":{"shape":"AssociateIpAccessSettingsResponse"},
44      "errors":[
45        {"shape":"InternalServerException"},
46        {"shape":"ResourceNotFoundException"},
47        {"shape":"AccessDeniedException"},
48        {"shape":"ThrottlingException"},
49        {"shape":"ValidationException"},
50        {"shape":"ConflictException"}
51      ],
52      "documentation":"<p>Associates an IP access settings resource with a web portal.</p>",
53      "idempotent":true
54    },
55    "AssociateNetworkSettings":{
56      "name":"AssociateNetworkSettings",
57      "http":{
58        "method":"PUT",
59        "requestUri":"/portals/{portalArn+}/networkSettings",
60        "responseCode":200
61      },
62      "input":{"shape":"AssociateNetworkSettingsRequest"},
63      "output":{"shape":"AssociateNetworkSettingsResponse"},
64      "errors":[
65        {"shape":"InternalServerException"},
66        {"shape":"ResourceNotFoundException"},
67        {"shape":"AccessDeniedException"},
68        {"shape":"ThrottlingException"},
69        {"shape":"ValidationException"},
70        {"shape":"ConflictException"}
71      ],
72      "documentation":"<p>Associates a network settings resource with a web portal.</p>",
73      "idempotent":true
74    },
75    "AssociateTrustStore":{
76      "name":"AssociateTrustStore",
77      "http":{
78        "method":"PUT",
79        "requestUri":"/portals/{portalArn+}/trustStores",
80        "responseCode":200
81      },
82      "input":{"shape":"AssociateTrustStoreRequest"},
83      "output":{"shape":"AssociateTrustStoreResponse"},
84      "errors":[
85        {"shape":"InternalServerException"},
86        {"shape":"ResourceNotFoundException"},
87        {"shape":"AccessDeniedException"},
88        {"shape":"ThrottlingException"},
89        {"shape":"ValidationException"}
90      ],
91      "documentation":"<p>Associates a trust store with a web portal.</p>",
92      "idempotent":true
93    },
94    "AssociateUserAccessLoggingSettings":{
95      "name":"AssociateUserAccessLoggingSettings",
96      "http":{
97        "method":"PUT",
98        "requestUri":"/portals/{portalArn+}/userAccessLoggingSettings",
99        "responseCode":200
100      },
101      "input":{"shape":"AssociateUserAccessLoggingSettingsRequest"},
102      "output":{"shape":"AssociateUserAccessLoggingSettingsResponse"},
103      "errors":[
104        {"shape":"InternalServerException"},
105        {"shape":"ResourceNotFoundException"},
106        {"shape":"AccessDeniedException"},
107        {"shape":"ThrottlingException"},
108        {"shape":"ValidationException"},
109        {"shape":"ConflictException"}
110      ],
111      "documentation":"<p>Associates a user access logging settings resource with a web portal.</p>",
112      "idempotent":true
113    },
114    "AssociateUserSettings":{
115      "name":"AssociateUserSettings",
116      "http":{
117        "method":"PUT",
118        "requestUri":"/portals/{portalArn+}/userSettings",
119        "responseCode":200
120      },
121      "input":{"shape":"AssociateUserSettingsRequest"},
122      "output":{"shape":"AssociateUserSettingsResponse"},
123      "errors":[
124        {"shape":"InternalServerException"},
125        {"shape":"ResourceNotFoundException"},
126        {"shape":"AccessDeniedException"},
127        {"shape":"ThrottlingException"},
128        {"shape":"ValidationException"},
129        {"shape":"ConflictException"}
130      ],
131      "documentation":"<p>Associates a user settings resource with a web portal.</p>",
132      "idempotent":true
133    },
134    "CreateBrowserSettings":{
135      "name":"CreateBrowserSettings",
136      "http":{
137        "method":"POST",
138        "requestUri":"/browserSettings",
139        "responseCode":200
140      },
141      "input":{"shape":"CreateBrowserSettingsRequest"},
142      "output":{"shape":"CreateBrowserSettingsResponse"},
143      "errors":[
144        {"shape":"InternalServerException"},
145        {"shape":"ResourceNotFoundException"},
146        {"shape":"AccessDeniedException"},
147        {"shape":"ThrottlingException"},
148        {"shape":"ServiceQuotaExceededException"},
149        {"shape":"ValidationException"},
150        {"shape":"ConflictException"}
151      ],
152      "documentation":"<p>Creates a browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal. </p>"
153    },
154    "CreateIdentityProvider":{
155      "name":"CreateIdentityProvider",
156      "http":{
157        "method":"POST",
158        "requestUri":"/identityProviders",
159        "responseCode":200
160      },
161      "input":{"shape":"CreateIdentityProviderRequest"},
162      "output":{"shape":"CreateIdentityProviderResponse"},
163      "errors":[
164        {"shape":"InternalServerException"},
165        {"shape":"ResourceNotFoundException"},
166        {"shape":"AccessDeniedException"},
167        {"shape":"ThrottlingException"},
168        {"shape":"ServiceQuotaExceededException"},
169        {"shape":"ValidationException"},
170        {"shape":"ConflictException"}
171      ],
172      "documentation":"<p>Creates an identity provider resource that is then associated with a web portal.</p>"
173    },
174    "CreateIpAccessSettings":{
175      "name":"CreateIpAccessSettings",
176      "http":{
177        "method":"POST",
178        "requestUri":"/ipAccessSettings",
179        "responseCode":200
180      },
181      "input":{"shape":"CreateIpAccessSettingsRequest"},
182      "output":{"shape":"CreateIpAccessSettingsResponse"},
183      "errors":[
184        {"shape":"InternalServerException"},
185        {"shape":"AccessDeniedException"},
186        {"shape":"ThrottlingException"},
187        {"shape":"ServiceQuotaExceededException"},
188        {"shape":"ValidationException"},
189        {"shape":"ConflictException"}
190      ],
191      "documentation":"<p>Creates an IP access settings resource that can be associated with a web portal.</p>"
192    },
193    "CreateNetworkSettings":{
194      "name":"CreateNetworkSettings",
195      "http":{
196        "method":"POST",
197        "requestUri":"/networkSettings",
198        "responseCode":200
199      },
200      "input":{"shape":"CreateNetworkSettingsRequest"},
201      "output":{"shape":"CreateNetworkSettingsResponse"},
202      "errors":[
203        {"shape":"InternalServerException"},
204        {"shape":"AccessDeniedException"},
205        {"shape":"ThrottlingException"},
206        {"shape":"ServiceQuotaExceededException"},
207        {"shape":"ValidationException"},
208        {"shape":"ConflictException"}
209      ],
210      "documentation":"<p>Creates a network settings resource that can be associated with a web portal. Once associated with a web portal, network settings define how streaming instances will connect with your specified VPC. </p>"
211    },
212    "CreatePortal":{
213      "name":"CreatePortal",
214      "http":{
215        "method":"POST",
216        "requestUri":"/portals",
217        "responseCode":200
218      },
219      "input":{"shape":"CreatePortalRequest"},
220      "output":{"shape":"CreatePortalResponse"},
221      "errors":[
222        {"shape":"InternalServerException"},
223        {"shape":"ResourceNotFoundException"},
224        {"shape":"AccessDeniedException"},
225        {"shape":"ThrottlingException"},
226        {"shape":"ServiceQuotaExceededException"},
227        {"shape":"ValidationException"},
228        {"shape":"ConflictException"}
229      ],
230      "documentation":"<p>Creates a web portal.</p>"
231    },
232    "CreateTrustStore":{
233      "name":"CreateTrustStore",
234      "http":{
235        "method":"POST",
236        "requestUri":"/trustStores",
237        "responseCode":200
238      },
239      "input":{"shape":"CreateTrustStoreRequest"},
240      "output":{"shape":"CreateTrustStoreResponse"},
241      "errors":[
242        {"shape":"InternalServerException"},
243        {"shape":"AccessDeniedException"},
244        {"shape":"ThrottlingException"},
245        {"shape":"ServiceQuotaExceededException"},
246        {"shape":"ValidationException"},
247        {"shape":"ConflictException"}
248      ],
249      "documentation":"<p>Creates a trust store that can be associated with a web portal. A trust store contains certificate authority (CA) certificates. Once associated with a web portal, the browser in a streaming session will recognize certificates that have been issued using any of the CAs in the trust store. If your organization has internal websites that use certificates issued by private CAs, you should add the private CA certificate to the trust store. </p>"
250    },
251    "CreateUserAccessLoggingSettings":{
252      "name":"CreateUserAccessLoggingSettings",
253      "http":{
254        "method":"POST",
255        "requestUri":"/userAccessLoggingSettings",
256        "responseCode":200
257      },
258      "input":{"shape":"CreateUserAccessLoggingSettingsRequest"},
259      "output":{"shape":"CreateUserAccessLoggingSettingsResponse"},
260      "errors":[
261        {"shape":"InternalServerException"},
262        {"shape":"AccessDeniedException"},
263        {"shape":"ThrottlingException"},
264        {"shape":"ServiceQuotaExceededException"},
265        {"shape":"ValidationException"},
266        {"shape":"ConflictException"}
267      ],
268      "documentation":"<p>Creates a user access logging settings resource that can be associated with a web portal.</p>"
269    },
270    "CreateUserSettings":{
271      "name":"CreateUserSettings",
272      "http":{
273        "method":"POST",
274        "requestUri":"/userSettings",
275        "responseCode":200
276      },
277      "input":{"shape":"CreateUserSettingsRequest"},
278      "output":{"shape":"CreateUserSettingsResponse"},
279      "errors":[
280        {"shape":"InternalServerException"},
281        {"shape":"AccessDeniedException"},
282        {"shape":"ThrottlingException"},
283        {"shape":"ServiceQuotaExceededException"},
284        {"shape":"ValidationException"},
285        {"shape":"ConflictException"}
286      ],
287      "documentation":"<p>Creates a user settings resource that can be associated with a web portal. Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices. </p>"
288    },
289    "DeleteBrowserSettings":{
290      "name":"DeleteBrowserSettings",
291      "http":{
292        "method":"DELETE",
293        "requestUri":"/browserSettings/{browserSettingsArn+}",
294        "responseCode":200
295      },
296      "input":{"shape":"DeleteBrowserSettingsRequest"},
297      "output":{"shape":"DeleteBrowserSettingsResponse"},
298      "errors":[
299        {"shape":"InternalServerException"},
300        {"shape":"AccessDeniedException"},
301        {"shape":"ThrottlingException"},
302        {"shape":"ValidationException"},
303        {"shape":"ConflictException"}
304      ],
305      "documentation":"<p>Deletes browser settings.</p>",
306      "idempotent":true
307    },
308    "DeleteIdentityProvider":{
309      "name":"DeleteIdentityProvider",
310      "http":{
311        "method":"DELETE",
312        "requestUri":"/identityProviders/{identityProviderArn+}",
313        "responseCode":200
314      },
315      "input":{"shape":"DeleteIdentityProviderRequest"},
316      "output":{"shape":"DeleteIdentityProviderResponse"},
317      "errors":[
318        {"shape":"InternalServerException"},
319        {"shape":"AccessDeniedException"},
320        {"shape":"ThrottlingException"},
321        {"shape":"ValidationException"},
322        {"shape":"ConflictException"}
323      ],
324      "documentation":"<p>Deletes the identity provider.</p>",
325      "idempotent":true
326    },
327    "DeleteIpAccessSettings":{
328      "name":"DeleteIpAccessSettings",
329      "http":{
330        "method":"DELETE",
331        "requestUri":"/ipAccessSettings/{ipAccessSettingsArn+}",
332        "responseCode":200
333      },
334      "input":{"shape":"DeleteIpAccessSettingsRequest"},
335      "output":{"shape":"DeleteIpAccessSettingsResponse"},
336      "errors":[
337        {"shape":"InternalServerException"},
338        {"shape":"AccessDeniedException"},
339        {"shape":"ThrottlingException"},
340        {"shape":"ValidationException"},
341        {"shape":"ConflictException"}
342      ],
343      "documentation":"<p>Deletes IP access settings.</p>",
344      "idempotent":true
345    },
346    "DeleteNetworkSettings":{
347      "name":"DeleteNetworkSettings",
348      "http":{
349        "method":"DELETE",
350        "requestUri":"/networkSettings/{networkSettingsArn+}",
351        "responseCode":200
352      },
353      "input":{"shape":"DeleteNetworkSettingsRequest"},
354      "output":{"shape":"DeleteNetworkSettingsResponse"},
355      "errors":[
356        {"shape":"InternalServerException"},
357        {"shape":"AccessDeniedException"},
358        {"shape":"ThrottlingException"},
359        {"shape":"ValidationException"},
360        {"shape":"ConflictException"}
361      ],
362      "documentation":"<p>Deletes network settings.</p>",
363      "idempotent":true
364    },
365    "DeletePortal":{
366      "name":"DeletePortal",
367      "http":{
368        "method":"DELETE",
369        "requestUri":"/portals/{portalArn+}",
370        "responseCode":200
371      },
372      "input":{"shape":"DeletePortalRequest"},
373      "output":{"shape":"DeletePortalResponse"},
374      "errors":[
375        {"shape":"InternalServerException"},
376        {"shape":"AccessDeniedException"},
377        {"shape":"ThrottlingException"},
378        {"shape":"ValidationException"},
379        {"shape":"ConflictException"}
380      ],
381      "documentation":"<p>Deletes a web portal.</p>",
382      "idempotent":true
383    },
384    "DeleteTrustStore":{
385      "name":"DeleteTrustStore",
386      "http":{
387        "method":"DELETE",
388        "requestUri":"/trustStores/{trustStoreArn+}",
389        "responseCode":200
390      },
391      "input":{"shape":"DeleteTrustStoreRequest"},
392      "output":{"shape":"DeleteTrustStoreResponse"},
393      "errors":[
394        {"shape":"InternalServerException"},
395        {"shape":"AccessDeniedException"},
396        {"shape":"ThrottlingException"},
397        {"shape":"ValidationException"},
398        {"shape":"ConflictException"}
399      ],
400      "documentation":"<p>Deletes the trust store.</p>",
401      "idempotent":true
402    },
403    "DeleteUserAccessLoggingSettings":{
404      "name":"DeleteUserAccessLoggingSettings",
405      "http":{
406        "method":"DELETE",
407        "requestUri":"/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}",
408        "responseCode":200
409      },
410      "input":{"shape":"DeleteUserAccessLoggingSettingsRequest"},
411      "output":{"shape":"DeleteUserAccessLoggingSettingsResponse"},
412      "errors":[
413        {"shape":"InternalServerException"},
414        {"shape":"AccessDeniedException"},
415        {"shape":"ThrottlingException"},
416        {"shape":"ValidationException"},
417        {"shape":"ConflictException"}
418      ],
419      "documentation":"<p>Deletes user access logging settings.</p>",
420      "idempotent":true
421    },
422    "DeleteUserSettings":{
423      "name":"DeleteUserSettings",
424      "http":{
425        "method":"DELETE",
426        "requestUri":"/userSettings/{userSettingsArn+}",
427        "responseCode":200
428      },
429      "input":{"shape":"DeleteUserSettingsRequest"},
430      "output":{"shape":"DeleteUserSettingsResponse"},
431      "errors":[
432        {"shape":"InternalServerException"},
433        {"shape":"AccessDeniedException"},
434        {"shape":"ThrottlingException"},
435        {"shape":"ValidationException"},
436        {"shape":"ConflictException"}
437      ],
438      "documentation":"<p>Deletes user settings.</p>",
439      "idempotent":true
440    },
441    "DisassociateBrowserSettings":{
442      "name":"DisassociateBrowserSettings",
443      "http":{
444        "method":"DELETE",
445        "requestUri":"/portals/{portalArn+}/browserSettings",
446        "responseCode":200
447      },
448      "input":{"shape":"DisassociateBrowserSettingsRequest"},
449      "output":{"shape":"DisassociateBrowserSettingsResponse"},
450      "errors":[
451        {"shape":"InternalServerException"},
452        {"shape":"ResourceNotFoundException"},
453        {"shape":"AccessDeniedException"},
454        {"shape":"ThrottlingException"},
455        {"shape":"ValidationException"}
456      ],
457      "documentation":"<p>Disassociates browser settings from a web portal.</p>",
458      "idempotent":true
459    },
460    "DisassociateIpAccessSettings":{
461      "name":"DisassociateIpAccessSettings",
462      "http":{
463        "method":"DELETE",
464        "requestUri":"/portals/{portalArn+}/ipAccessSettings",
465        "responseCode":200
466      },
467      "input":{"shape":"DisassociateIpAccessSettingsRequest"},
468      "output":{"shape":"DisassociateIpAccessSettingsResponse"},
469      "errors":[
470        {"shape":"InternalServerException"},
471        {"shape":"ResourceNotFoundException"},
472        {"shape":"AccessDeniedException"},
473        {"shape":"ThrottlingException"},
474        {"shape":"ValidationException"}
475      ],
476      "documentation":"<p>Disassociates IP access settings from a web portal.</p>",
477      "idempotent":true
478    },
479    "DisassociateNetworkSettings":{
480      "name":"DisassociateNetworkSettings",
481      "http":{
482        "method":"DELETE",
483        "requestUri":"/portals/{portalArn+}/networkSettings",
484        "responseCode":200
485      },
486      "input":{"shape":"DisassociateNetworkSettingsRequest"},
487      "output":{"shape":"DisassociateNetworkSettingsResponse"},
488      "errors":[
489        {"shape":"InternalServerException"},
490        {"shape":"ResourceNotFoundException"},
491        {"shape":"AccessDeniedException"},
492        {"shape":"ThrottlingException"},
493        {"shape":"ValidationException"}
494      ],
495      "documentation":"<p>Disassociates network settings from a web portal.</p>",
496      "idempotent":true
497    },
498    "DisassociateTrustStore":{
499      "name":"DisassociateTrustStore",
500      "http":{
501        "method":"DELETE",
502        "requestUri":"/portals/{portalArn+}/trustStores",
503        "responseCode":200
504      },
505      "input":{"shape":"DisassociateTrustStoreRequest"},
506      "output":{"shape":"DisassociateTrustStoreResponse"},
507      "errors":[
508        {"shape":"InternalServerException"},
509        {"shape":"ResourceNotFoundException"},
510        {"shape":"AccessDeniedException"},
511        {"shape":"ThrottlingException"},
512        {"shape":"ValidationException"}
513      ],
514      "documentation":"<p>Disassociates a trust store from a web portal.</p>",
515      "idempotent":true
516    },
517    "DisassociateUserAccessLoggingSettings":{
518      "name":"DisassociateUserAccessLoggingSettings",
519      "http":{
520        "method":"DELETE",
521        "requestUri":"/portals/{portalArn+}/userAccessLoggingSettings",
522        "responseCode":200
523      },
524      "input":{"shape":"DisassociateUserAccessLoggingSettingsRequest"},
525      "output":{"shape":"DisassociateUserAccessLoggingSettingsResponse"},
526      "errors":[
527        {"shape":"InternalServerException"},
528        {"shape":"ResourceNotFoundException"},
529        {"shape":"AccessDeniedException"},
530        {"shape":"ThrottlingException"},
531        {"shape":"ValidationException"}
532      ],
533      "documentation":"<p>Disassociates user access logging settings from a web portal.</p>",
534      "idempotent":true
535    },
536    "DisassociateUserSettings":{
537      "name":"DisassociateUserSettings",
538      "http":{
539        "method":"DELETE",
540        "requestUri":"/portals/{portalArn+}/userSettings",
541        "responseCode":200
542      },
543      "input":{"shape":"DisassociateUserSettingsRequest"},
544      "output":{"shape":"DisassociateUserSettingsResponse"},
545      "errors":[
546        {"shape":"InternalServerException"},
547        {"shape":"ResourceNotFoundException"},
548        {"shape":"AccessDeniedException"},
549        {"shape":"ThrottlingException"},
550        {"shape":"ValidationException"}
551      ],
552      "documentation":"<p>Disassociates user settings from a web portal.</p>",
553      "idempotent":true
554    },
555    "GetBrowserSettings":{
556      "name":"GetBrowserSettings",
557      "http":{
558        "method":"GET",
559        "requestUri":"/browserSettings/{browserSettingsArn+}",
560        "responseCode":200
561      },
562      "input":{"shape":"GetBrowserSettingsRequest"},
563      "output":{"shape":"GetBrowserSettingsResponse"},
564      "errors":[
565        {"shape":"InternalServerException"},
566        {"shape":"ResourceNotFoundException"},
567        {"shape":"AccessDeniedException"},
568        {"shape":"ThrottlingException"},
569        {"shape":"ValidationException"}
570      ],
571      "documentation":"<p>Gets browser settings.</p>"
572    },
573    "GetIdentityProvider":{
574      "name":"GetIdentityProvider",
575      "http":{
576        "method":"GET",
577        "requestUri":"/identityProviders/{identityProviderArn+}",
578        "responseCode":200
579      },
580      "input":{"shape":"GetIdentityProviderRequest"},
581      "output":{"shape":"GetIdentityProviderResponse"},
582      "errors":[
583        {"shape":"InternalServerException"},
584        {"shape":"ResourceNotFoundException"},
585        {"shape":"AccessDeniedException"},
586        {"shape":"ThrottlingException"},
587        {"shape":"ValidationException"}
588      ],
589      "documentation":"<p>Gets the identity provider.</p>"
590    },
591    "GetIpAccessSettings":{
592      "name":"GetIpAccessSettings",
593      "http":{
594        "method":"GET",
595        "requestUri":"/ipAccessSettings/{ipAccessSettingsArn+}",
596        "responseCode":200
597      },
598      "input":{"shape":"GetIpAccessSettingsRequest"},
599      "output":{"shape":"GetIpAccessSettingsResponse"},
600      "errors":[
601        {"shape":"InternalServerException"},
602        {"shape":"ResourceNotFoundException"},
603        {"shape":"AccessDeniedException"},
604        {"shape":"ThrottlingException"},
605        {"shape":"ValidationException"}
606      ],
607      "documentation":"<p>Gets the IP access settings.</p>"
608    },
609    "GetNetworkSettings":{
610      "name":"GetNetworkSettings",
611      "http":{
612        "method":"GET",
613        "requestUri":"/networkSettings/{networkSettingsArn+}",
614        "responseCode":200
615      },
616      "input":{"shape":"GetNetworkSettingsRequest"},
617      "output":{"shape":"GetNetworkSettingsResponse"},
618      "errors":[
619        {"shape":"InternalServerException"},
620        {"shape":"ResourceNotFoundException"},
621        {"shape":"AccessDeniedException"},
622        {"shape":"ThrottlingException"},
623        {"shape":"ValidationException"}
624      ],
625      "documentation":"<p>Gets the network settings.</p>"
626    },
627    "GetPortal":{
628      "name":"GetPortal",
629      "http":{
630        "method":"GET",
631        "requestUri":"/portals/{portalArn+}",
632        "responseCode":200
633      },
634      "input":{"shape":"GetPortalRequest"},
635      "output":{"shape":"GetPortalResponse"},
636      "errors":[
637        {"shape":"InternalServerException"},
638        {"shape":"ResourceNotFoundException"},
639        {"shape":"AccessDeniedException"},
640        {"shape":"ThrottlingException"},
641        {"shape":"ValidationException"}
642      ],
643      "documentation":"<p>Gets the web portal.</p>"
644    },
645    "GetPortalServiceProviderMetadata":{
646      "name":"GetPortalServiceProviderMetadata",
647      "http":{
648        "method":"GET",
649        "requestUri":"/portalIdp/{portalArn+}",
650        "responseCode":200
651      },
652      "input":{"shape":"GetPortalServiceProviderMetadataRequest"},
653      "output":{"shape":"GetPortalServiceProviderMetadataResponse"},
654      "errors":[
655        {"shape":"InternalServerException"},
656        {"shape":"ResourceNotFoundException"},
657        {"shape":"AccessDeniedException"},
658        {"shape":"ThrottlingException"},
659        {"shape":"ValidationException"}
660      ],
661      "documentation":"<p>Gets the service provider metadata.</p>"
662    },
663    "GetTrustStore":{
664      "name":"GetTrustStore",
665      "http":{
666        "method":"GET",
667        "requestUri":"/trustStores/{trustStoreArn+}",
668        "responseCode":200
669      },
670      "input":{"shape":"GetTrustStoreRequest"},
671      "output":{"shape":"GetTrustStoreResponse"},
672      "errors":[
673        {"shape":"InternalServerException"},
674        {"shape":"ResourceNotFoundException"},
675        {"shape":"AccessDeniedException"},
676        {"shape":"ThrottlingException"},
677        {"shape":"ValidationException"}
678      ],
679      "documentation":"<p>Gets the trust store.</p>"
680    },
681    "GetTrustStoreCertificate":{
682      "name":"GetTrustStoreCertificate",
683      "http":{
684        "method":"GET",
685        "requestUri":"/trustStores/{trustStoreArn+}/certificate",
686        "responseCode":200
687      },
688      "input":{"shape":"GetTrustStoreCertificateRequest"},
689      "output":{"shape":"GetTrustStoreCertificateResponse"},
690      "errors":[
691        {"shape":"InternalServerException"},
692        {"shape":"ResourceNotFoundException"},
693        {"shape":"AccessDeniedException"},
694        {"shape":"ThrottlingException"},
695        {"shape":"ValidationException"}
696      ],
697      "documentation":"<p>Gets the trust store certificate.</p>"
698    },
699    "GetUserAccessLoggingSettings":{
700      "name":"GetUserAccessLoggingSettings",
701      "http":{
702        "method":"GET",
703        "requestUri":"/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}",
704        "responseCode":200
705      },
706      "input":{"shape":"GetUserAccessLoggingSettingsRequest"},
707      "output":{"shape":"GetUserAccessLoggingSettingsResponse"},
708      "errors":[
709        {"shape":"InternalServerException"},
710        {"shape":"ResourceNotFoundException"},
711        {"shape":"AccessDeniedException"},
712        {"shape":"ThrottlingException"},
713        {"shape":"ValidationException"}
714      ],
715      "documentation":"<p>Gets user access logging settings.</p>"
716    },
717    "GetUserSettings":{
718      "name":"GetUserSettings",
719      "http":{
720        "method":"GET",
721        "requestUri":"/userSettings/{userSettingsArn+}",
722        "responseCode":200
723      },
724      "input":{"shape":"GetUserSettingsRequest"},
725      "output":{"shape":"GetUserSettingsResponse"},
726      "errors":[
727        {"shape":"InternalServerException"},
728        {"shape":"ResourceNotFoundException"},
729        {"shape":"AccessDeniedException"},
730        {"shape":"ThrottlingException"},
731        {"shape":"ValidationException"}
732      ],
733      "documentation":"<p>Gets user settings.</p>"
734    },
735    "ListBrowserSettings":{
736      "name":"ListBrowserSettings",
737      "http":{
738        "method":"GET",
739        "requestUri":"/browserSettings",
740        "responseCode":200
741      },
742      "input":{"shape":"ListBrowserSettingsRequest"},
743      "output":{"shape":"ListBrowserSettingsResponse"},
744      "errors":[
745        {"shape":"InternalServerException"},
746        {"shape":"AccessDeniedException"},
747        {"shape":"ThrottlingException"},
748        {"shape":"ValidationException"}
749      ],
750      "documentation":"<p>Retrieves a list of browser settings.</p>"
751    },
752    "ListIdentityProviders":{
753      "name":"ListIdentityProviders",
754      "http":{
755        "method":"GET",
756        "requestUri":"/portals/{portalArn+}/identityProviders",
757        "responseCode":200
758      },
759      "input":{"shape":"ListIdentityProvidersRequest"},
760      "output":{"shape":"ListIdentityProvidersResponse"},
761      "errors":[
762        {"shape":"InternalServerException"},
763        {"shape":"AccessDeniedException"},
764        {"shape":"ThrottlingException"},
765        {"shape":"ValidationException"}
766      ],
767      "documentation":"<p>Retrieves a list of identity providers for a specific web portal.</p>"
768    },
769    "ListIpAccessSettings":{
770      "name":"ListIpAccessSettings",
771      "http":{
772        "method":"GET",
773        "requestUri":"/ipAccessSettings",
774        "responseCode":200
775      },
776      "input":{"shape":"ListIpAccessSettingsRequest"},
777      "output":{"shape":"ListIpAccessSettingsResponse"},
778      "errors":[
779        {"shape":"InternalServerException"},
780        {"shape":"AccessDeniedException"},
781        {"shape":"ThrottlingException"},
782        {"shape":"ValidationException"}
783      ],
784      "documentation":"<p>Retrieves a list of IP access settings.</p>"
785    },
786    "ListNetworkSettings":{
787      "name":"ListNetworkSettings",
788      "http":{
789        "method":"GET",
790        "requestUri":"/networkSettings",
791        "responseCode":200
792      },
793      "input":{"shape":"ListNetworkSettingsRequest"},
794      "output":{"shape":"ListNetworkSettingsResponse"},
795      "errors":[
796        {"shape":"InternalServerException"},
797        {"shape":"AccessDeniedException"},
798        {"shape":"ThrottlingException"},
799        {"shape":"ValidationException"}
800      ],
801      "documentation":"<p>Retrieves a list of network settings.</p>"
802    },
803    "ListPortals":{
804      "name":"ListPortals",
805      "http":{
806        "method":"GET",
807        "requestUri":"/portals",
808        "responseCode":200
809      },
810      "input":{"shape":"ListPortalsRequest"},
811      "output":{"shape":"ListPortalsResponse"},
812      "errors":[
813        {"shape":"InternalServerException"},
814        {"shape":"AccessDeniedException"},
815        {"shape":"ThrottlingException"},
816        {"shape":"ValidationException"}
817      ],
818      "documentation":"<p>Retrieves a list or web portals.</p>"
819    },
820    "ListTagsForResource":{
821      "name":"ListTagsForResource",
822      "http":{
823        "method":"GET",
824        "requestUri":"/tags/{resourceArn+}",
825        "responseCode":200
826      },
827      "input":{"shape":"ListTagsForResourceRequest"},
828      "output":{"shape":"ListTagsForResourceResponse"},
829      "errors":[
830        {"shape":"InternalServerException"},
831        {"shape":"ResourceNotFoundException"},
832        {"shape":"AccessDeniedException"},
833        {"shape":"ThrottlingException"},
834        {"shape":"ValidationException"}
835      ],
836      "documentation":"<p>Retrieves a list of tags for a resource.</p>"
837    },
838    "ListTrustStoreCertificates":{
839      "name":"ListTrustStoreCertificates",
840      "http":{
841        "method":"GET",
842        "requestUri":"/trustStores/{trustStoreArn+}/certificates",
843        "responseCode":200
844      },
845      "input":{"shape":"ListTrustStoreCertificatesRequest"},
846      "output":{"shape":"ListTrustStoreCertificatesResponse"},
847      "errors":[
848        {"shape":"InternalServerException"},
849        {"shape":"ResourceNotFoundException"},
850        {"shape":"AccessDeniedException"},
851        {"shape":"ThrottlingException"},
852        {"shape":"ValidationException"}
853      ],
854      "documentation":"<p>Retrieves a list of trust store certificates.</p>"
855    },
856    "ListTrustStores":{
857      "name":"ListTrustStores",
858      "http":{
859        "method":"GET",
860        "requestUri":"/trustStores",
861        "responseCode":200
862      },
863      "input":{"shape":"ListTrustStoresRequest"},
864      "output":{"shape":"ListTrustStoresResponse"},
865      "errors":[
866        {"shape":"InternalServerException"},
867        {"shape":"AccessDeniedException"},
868        {"shape":"ThrottlingException"},
869        {"shape":"ValidationException"}
870      ],
871      "documentation":"<p>Retrieves a list of trust stores.</p>"
872    },
873    "ListUserAccessLoggingSettings":{
874      "name":"ListUserAccessLoggingSettings",
875      "http":{
876        "method":"GET",
877        "requestUri":"/userAccessLoggingSettings",
878        "responseCode":200
879      },
880      "input":{"shape":"ListUserAccessLoggingSettingsRequest"},
881      "output":{"shape":"ListUserAccessLoggingSettingsResponse"},
882      "errors":[
883        {"shape":"InternalServerException"},
884        {"shape":"AccessDeniedException"},
885        {"shape":"ThrottlingException"},
886        {"shape":"ValidationException"}
887      ],
888      "documentation":"<p>Retrieves a list of user access logging settings.</p>"
889    },
890    "ListUserSettings":{
891      "name":"ListUserSettings",
892      "http":{
893        "method":"GET",
894        "requestUri":"/userSettings",
895        "responseCode":200
896      },
897      "input":{"shape":"ListUserSettingsRequest"},
898      "output":{"shape":"ListUserSettingsResponse"},
899      "errors":[
900        {"shape":"InternalServerException"},
901        {"shape":"AccessDeniedException"},
902        {"shape":"ThrottlingException"},
903        {"shape":"ValidationException"}
904      ],
905      "documentation":"<p>Retrieves a list of user settings.</p>"
906    },
907    "TagResource":{
908      "name":"TagResource",
909      "http":{
910        "method":"POST",
911        "requestUri":"/tags/{resourceArn+}",
912        "responseCode":200
913      },
914      "input":{"shape":"TagResourceRequest"},
915      "output":{"shape":"TagResourceResponse"},
916      "errors":[
917        {"shape":"InternalServerException"},
918        {"shape":"ResourceNotFoundException"},
919        {"shape":"AccessDeniedException"},
920        {"shape":"ThrottlingException"},
921        {"shape":"ValidationException"},
922        {"shape":"TooManyTagsException"}
923      ],
924      "documentation":"<p>Adds or overwrites one or more tags for the specified resource.</p>"
925    },
926    "UntagResource":{
927      "name":"UntagResource",
928      "http":{
929        "method":"DELETE",
930        "requestUri":"/tags/{resourceArn+}",
931        "responseCode":200
932      },
933      "input":{"shape":"UntagResourceRequest"},
934      "output":{"shape":"UntagResourceResponse"},
935      "errors":[
936        {"shape":"InternalServerException"},
937        {"shape":"ResourceNotFoundException"},
938        {"shape":"AccessDeniedException"},
939        {"shape":"ThrottlingException"},
940        {"shape":"ValidationException"}
941      ],
942      "documentation":"<p>Removes one or more tags from the specified resource.</p>",
943      "idempotent":true
944    },
945    "UpdateBrowserSettings":{
946      "name":"UpdateBrowserSettings",
947      "http":{
948        "method":"PATCH",
949        "requestUri":"/browserSettings/{browserSettingsArn+}",
950        "responseCode":200
951      },
952      "input":{"shape":"UpdateBrowserSettingsRequest"},
953      "output":{"shape":"UpdateBrowserSettingsResponse"},
954      "errors":[
955        {"shape":"InternalServerException"},
956        {"shape":"ResourceNotFoundException"},
957        {"shape":"AccessDeniedException"},
958        {"shape":"ThrottlingException"},
959        {"shape":"ValidationException"}
960      ],
961      "documentation":"<p>Updates browser settings.</p>"
962    },
963    "UpdateIdentityProvider":{
964      "name":"UpdateIdentityProvider",
965      "http":{
966        "method":"PATCH",
967        "requestUri":"/identityProviders/{identityProviderArn+}",
968        "responseCode":200
969      },
970      "input":{"shape":"UpdateIdentityProviderRequest"},
971      "output":{"shape":"UpdateIdentityProviderResponse"},
972      "errors":[
973        {"shape":"InternalServerException"},
974        {"shape":"ResourceNotFoundException"},
975        {"shape":"AccessDeniedException"},
976        {"shape":"ThrottlingException"},
977        {"shape":"ValidationException"}
978      ],
979      "documentation":"<p>Updates the identity provider. </p>"
980    },
981    "UpdateIpAccessSettings":{
982      "name":"UpdateIpAccessSettings",
983      "http":{
984        "method":"PATCH",
985        "requestUri":"/ipAccessSettings/{ipAccessSettingsArn+}",
986        "responseCode":200
987      },
988      "input":{"shape":"UpdateIpAccessSettingsRequest"},
989      "output":{"shape":"UpdateIpAccessSettingsResponse"},
990      "errors":[
991        {"shape":"InternalServerException"},
992        {"shape":"ResourceNotFoundException"},
993        {"shape":"AccessDeniedException"},
994        {"shape":"ThrottlingException"},
995        {"shape":"ValidationException"}
996      ],
997      "documentation":"<p>Updates IP access settings.</p>"
998    },
999    "UpdateNetworkSettings":{
1000      "name":"UpdateNetworkSettings",
1001      "http":{
1002        "method":"PATCH",
1003        "requestUri":"/networkSettings/{networkSettingsArn+}",
1004        "responseCode":200
1005      },
1006      "input":{"shape":"UpdateNetworkSettingsRequest"},
1007      "output":{"shape":"UpdateNetworkSettingsResponse"},
1008      "errors":[
1009        {"shape":"InternalServerException"},
1010        {"shape":"ResourceNotFoundException"},
1011        {"shape":"AccessDeniedException"},
1012        {"shape":"ThrottlingException"},
1013        {"shape":"ValidationException"}
1014      ],
1015      "documentation":"<p>Updates network settings.</p>"
1016    },
1017    "UpdatePortal":{
1018      "name":"UpdatePortal",
1019      "http":{
1020        "method":"PUT",
1021        "requestUri":"/portals/{portalArn+}",
1022        "responseCode":200
1023      },
1024      "input":{"shape":"UpdatePortalRequest"},
1025      "output":{"shape":"UpdatePortalResponse"},
1026      "errors":[
1027        {"shape":"InternalServerException"},
1028        {"shape":"ResourceNotFoundException"},
1029        {"shape":"AccessDeniedException"},
1030        {"shape":"ThrottlingException"},
1031        {"shape":"ValidationException"},
1032        {"shape":"ConflictException"}
1033      ],
1034      "documentation":"<p>Updates a web portal.</p>",
1035      "idempotent":true
1036    },
1037    "UpdateTrustStore":{
1038      "name":"UpdateTrustStore",
1039      "http":{
1040        "method":"PATCH",
1041        "requestUri":"/trustStores/{trustStoreArn+}",
1042        "responseCode":200
1043      },
1044      "input":{"shape":"UpdateTrustStoreRequest"},
1045      "output":{"shape":"UpdateTrustStoreResponse"},
1046      "errors":[
1047        {"shape":"InternalServerException"},
1048        {"shape":"ResourceNotFoundException"},
1049        {"shape":"AccessDeniedException"},
1050        {"shape":"ThrottlingException"},
1051        {"shape":"ServiceQuotaExceededException"},
1052        {"shape":"ValidationException"}
1053      ],
1054      "documentation":"<p>Updates the trust store.</p>"
1055    },
1056    "UpdateUserAccessLoggingSettings":{
1057      "name":"UpdateUserAccessLoggingSettings",
1058      "http":{
1059        "method":"PATCH",
1060        "requestUri":"/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}",
1061        "responseCode":200
1062      },
1063      "input":{"shape":"UpdateUserAccessLoggingSettingsRequest"},
1064      "output":{"shape":"UpdateUserAccessLoggingSettingsResponse"},
1065      "errors":[
1066        {"shape":"InternalServerException"},
1067        {"shape":"ResourceNotFoundException"},
1068        {"shape":"AccessDeniedException"},
1069        {"shape":"ThrottlingException"},
1070        {"shape":"ValidationException"}
1071      ],
1072      "documentation":"<p>Updates the user access logging settings.</p>"
1073    },
1074    "UpdateUserSettings":{
1075      "name":"UpdateUserSettings",
1076      "http":{
1077        "method":"PATCH",
1078        "requestUri":"/userSettings/{userSettingsArn+}",
1079        "responseCode":200
1080      },
1081      "input":{"shape":"UpdateUserSettingsRequest"},
1082      "output":{"shape":"UpdateUserSettingsResponse"},
1083      "errors":[
1084        {"shape":"InternalServerException"},
1085        {"shape":"ResourceNotFoundException"},
1086        {"shape":"AccessDeniedException"},
1087        {"shape":"ThrottlingException"},
1088        {"shape":"ValidationException"}
1089      ],
1090      "documentation":"<p>Updates the user settings.</p>"
1091    }
1092  },
1093  "shapes":{
1094    "ARN":{
1095      "type":"string",
1096      "max":2048,
1097      "min":20,
1098      "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})+$"
1099    },
1100    "AccessDeniedException":{
1101      "type":"structure",
1102      "members":{
1103        "message":{"shape":"ExceptionMessage"}
1104      },
1105      "documentation":"<p>Access is denied.</p>",
1106      "error":{
1107        "httpStatusCode":403,
1108        "senderFault":true
1109      },
1110      "exception":true
1111    },
1112    "ArnList":{
1113      "type":"list",
1114      "member":{"shape":"ARN"}
1115    },
1116    "AssociateBrowserSettingsRequest":{
1117      "type":"structure",
1118      "required":[
1119        "browserSettingsArn",
1120        "portalArn"
1121      ],
1122      "members":{
1123        "browserSettingsArn":{
1124          "shape":"ARN",
1125          "documentation":"<p>The ARN of the browser settings.</p>",
1126          "location":"querystring",
1127          "locationName":"browserSettingsArn"
1128        },
1129        "portalArn":{
1130          "shape":"ARN",
1131          "documentation":"<p>The ARN of the web portal.</p>",
1132          "location":"uri",
1133          "locationName":"portalArn"
1134        }
1135      }
1136    },
1137    "AssociateBrowserSettingsResponse":{
1138      "type":"structure",
1139      "required":[
1140        "browserSettingsArn",
1141        "portalArn"
1142      ],
1143      "members":{
1144        "browserSettingsArn":{
1145          "shape":"ARN",
1146          "documentation":"<p>The ARN of the browser settings.</p>"
1147        },
1148        "portalArn":{
1149          "shape":"ARN",
1150          "documentation":"<p>The ARN of the web portal.</p>"
1151        }
1152      }
1153    },
1154    "AssociateIpAccessSettingsRequest":{
1155      "type":"structure",
1156      "required":[
1157        "ipAccessSettingsArn",
1158        "portalArn"
1159      ],
1160      "members":{
1161        "ipAccessSettingsArn":{
1162          "shape":"ARN",
1163          "documentation":"<p>The ARN of the IP access settings.</p>",
1164          "location":"querystring",
1165          "locationName":"ipAccessSettingsArn"
1166        },
1167        "portalArn":{
1168          "shape":"ARN",
1169          "documentation":"<p>The ARN of the web portal.</p>",
1170          "location":"uri",
1171          "locationName":"portalArn"
1172        }
1173      }
1174    },
1175    "AssociateIpAccessSettingsResponse":{
1176      "type":"structure",
1177      "required":[
1178        "ipAccessSettingsArn",
1179        "portalArn"
1180      ],
1181      "members":{
1182        "ipAccessSettingsArn":{
1183          "shape":"ARN",
1184          "documentation":"<p>The ARN of the IP access settings resource.</p>"
1185        },
1186        "portalArn":{
1187          "shape":"ARN",
1188          "documentation":"<p>The ARN of the web portal.</p>"
1189        }
1190      }
1191    },
1192    "AssociateNetworkSettingsRequest":{
1193      "type":"structure",
1194      "required":[
1195        "networkSettingsArn",
1196        "portalArn"
1197      ],
1198      "members":{
1199        "networkSettingsArn":{
1200          "shape":"ARN",
1201          "documentation":"<p>The ARN of the network settings.</p>",
1202          "location":"querystring",
1203          "locationName":"networkSettingsArn"
1204        },
1205        "portalArn":{
1206          "shape":"ARN",
1207          "documentation":"<p>The ARN of the web portal.</p>",
1208          "location":"uri",
1209          "locationName":"portalArn"
1210        }
1211      }
1212    },
1213    "AssociateNetworkSettingsResponse":{
1214      "type":"structure",
1215      "required":[
1216        "networkSettingsArn",
1217        "portalArn"
1218      ],
1219      "members":{
1220        "networkSettingsArn":{
1221          "shape":"ARN",
1222          "documentation":"<p>The ARN of the network settings.</p>"
1223        },
1224        "portalArn":{
1225          "shape":"ARN",
1226          "documentation":"<p>The ARN of the web portal.</p>"
1227        }
1228      }
1229    },
1230    "AssociateTrustStoreRequest":{
1231      "type":"structure",
1232      "required":[
1233        "portalArn",
1234        "trustStoreArn"
1235      ],
1236      "members":{
1237        "portalArn":{
1238          "shape":"ARN",
1239          "documentation":"<p>The ARN of the web portal.</p>",
1240          "location":"uri",
1241          "locationName":"portalArn"
1242        },
1243        "trustStoreArn":{
1244          "shape":"ARN",
1245          "documentation":"<p>The ARN of the trust store.</p>",
1246          "location":"querystring",
1247          "locationName":"trustStoreArn"
1248        }
1249      }
1250    },
1251    "AssociateTrustStoreResponse":{
1252      "type":"structure",
1253      "required":[
1254        "portalArn",
1255        "trustStoreArn"
1256      ],
1257      "members":{
1258        "portalArn":{
1259          "shape":"ARN",
1260          "documentation":"<p>The ARN of the web portal.</p>"
1261        },
1262        "trustStoreArn":{
1263          "shape":"ARN",
1264          "documentation":"<p>The ARN of the trust store.</p>"
1265        }
1266      }
1267    },
1268    "AssociateUserAccessLoggingSettingsRequest":{
1269      "type":"structure",
1270      "required":[
1271        "portalArn",
1272        "userAccessLoggingSettingsArn"
1273      ],
1274      "members":{
1275        "portalArn":{
1276          "shape":"ARN",
1277          "documentation":"<p>The ARN of the web portal.</p>",
1278          "location":"uri",
1279          "locationName":"portalArn"
1280        },
1281        "userAccessLoggingSettingsArn":{
1282          "shape":"ARN",
1283          "documentation":"<p>The ARN of the user access logging settings.</p>",
1284          "location":"querystring",
1285          "locationName":"userAccessLoggingSettingsArn"
1286        }
1287      }
1288    },
1289    "AssociateUserAccessLoggingSettingsResponse":{
1290      "type":"structure",
1291      "required":[
1292        "portalArn",
1293        "userAccessLoggingSettingsArn"
1294      ],
1295      "members":{
1296        "portalArn":{
1297          "shape":"ARN",
1298          "documentation":"<p>The ARN of the web portal.</p>"
1299        },
1300        "userAccessLoggingSettingsArn":{
1301          "shape":"ARN",
1302          "documentation":"<p>The ARN of the user access logging settings.</p>"
1303        }
1304      }
1305    },
1306    "AssociateUserSettingsRequest":{
1307      "type":"structure",
1308      "required":[
1309        "portalArn",
1310        "userSettingsArn"
1311      ],
1312      "members":{
1313        "portalArn":{
1314          "shape":"ARN",
1315          "documentation":"<p>The ARN of the web portal.</p>",
1316          "location":"uri",
1317          "locationName":"portalArn"
1318        },
1319        "userSettingsArn":{
1320          "shape":"ARN",
1321          "documentation":"<p>The ARN of the user settings.</p>",
1322          "location":"querystring",
1323          "locationName":"userSettingsArn"
1324        }
1325      }
1326    },
1327    "AssociateUserSettingsResponse":{
1328      "type":"structure",
1329      "required":[
1330        "portalArn",
1331        "userSettingsArn"
1332      ],
1333      "members":{
1334        "portalArn":{
1335          "shape":"ARN",
1336          "documentation":"<p>The ARN of the web portal.</p>"
1337        },
1338        "userSettingsArn":{
1339          "shape":"ARN",
1340          "documentation":"<p>The ARN of the user settings.</p>"
1341        }
1342      }
1343    },
1344    "AuthenticationType":{
1345      "type":"string",
1346      "enum":[
1347        "Standard",
1348        "IAM_Identity_Center"
1349      ]
1350    },
1351    "BrowserPolicy":{
1352      "type":"string",
1353      "max":131072,
1354      "min":2,
1355      "pattern":"\\{[\\S\\s]*\\}\\s*",
1356      "sensitive":true
1357    },
1358    "BrowserSettings":{
1359      "type":"structure",
1360      "required":["browserSettingsArn"],
1361      "members":{
1362        "associatedPortalArns":{
1363          "shape":"ArnList",
1364          "documentation":"<p>A list of web portal ARNs that this browser settings is associated with.</p>"
1365        },
1366        "browserPolicy":{
1367          "shape":"BrowserPolicy",
1368          "documentation":"<p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.</p>"
1369        },
1370        "browserSettingsArn":{
1371          "shape":"ARN",
1372          "documentation":"<p>The ARN of the browser settings.</p>"
1373        }
1374      },
1375      "documentation":"<p>The browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal. </p>"
1376    },
1377    "BrowserSettingsList":{
1378      "type":"list",
1379      "member":{"shape":"BrowserSettingsSummary"}
1380    },
1381    "BrowserSettingsSummary":{
1382      "type":"structure",
1383      "required":["browserSettingsArn"],
1384      "members":{
1385        "browserSettingsArn":{
1386          "shape":"ARN",
1387          "documentation":"<p>The ARN of the browser settings.</p>"
1388        }
1389      },
1390      "documentation":"<p>The summary for browser settings.</p>"
1391    },
1392    "BrowserType":{
1393      "type":"string",
1394      "enum":["Chrome"]
1395    },
1396    "Certificate":{
1397      "type":"structure",
1398      "members":{
1399        "body":{
1400          "shape":"CertificateAuthorityBody",
1401          "documentation":"<p>The body of the certificate.</p>"
1402        },
1403        "issuer":{
1404          "shape":"CertificatePrincipal",
1405          "documentation":"<p>The entity that issued the certificate.</p>"
1406        },
1407        "notValidAfter":{
1408          "shape":"Timestamp",
1409          "documentation":"<p>The certificate is not valid after this date.</p>"
1410        },
1411        "notValidBefore":{
1412          "shape":"Timestamp",
1413          "documentation":"<p>The certificate is not valid before this date.</p>"
1414        },
1415        "subject":{
1416          "shape":"CertificatePrincipal",
1417          "documentation":"<p>The entity the certificate belongs to.</p>"
1418        },
1419        "thumbprint":{
1420          "shape":"CertificateThumbprint",
1421          "documentation":"<p>A hexadecimal identifier for the certificate.</p>"
1422        }
1423      },
1424      "documentation":"<p>The certificate.</p>"
1425    },
1426    "CertificateAuthorityBody":{"type":"blob"},
1427    "CertificateList":{
1428      "type":"list",
1429      "member":{"shape":"CertificateAuthorityBody"}
1430    },
1431    "CertificatePrincipal":{
1432      "type":"string",
1433      "max":256,
1434      "min":1,
1435      "pattern":"^\\S+$"
1436    },
1437    "CertificateSummary":{
1438      "type":"structure",
1439      "members":{
1440        "issuer":{
1441          "shape":"CertificatePrincipal",
1442          "documentation":"<p>The entity that issued the certificate.</p>"
1443        },
1444        "notValidAfter":{
1445          "shape":"Timestamp",
1446          "documentation":"<p>The certificate is not valid after this date.</p>"
1447        },
1448        "notValidBefore":{
1449          "shape":"Timestamp",
1450          "documentation":"<p>The certificate is not valid before this date.</p>"
1451        },
1452        "subject":{
1453          "shape":"CertificatePrincipal",
1454          "documentation":"<p>The entity the certificate belongs to.</p>"
1455        },
1456        "thumbprint":{
1457          "shape":"CertificateThumbprint",
1458          "documentation":"<p>A hexadecimal identifier for the certificate.</p>"
1459        }
1460      },
1461      "documentation":"<p>The summary of the certificate.</p>"
1462    },
1463    "CertificateSummaryList":{
1464      "type":"list",
1465      "member":{"shape":"CertificateSummary"}
1466    },
1467    "CertificateThumbprint":{
1468      "type":"string",
1469      "max":64,
1470      "min":64,
1471      "pattern":"^[A-Fa-f0-9]{64}$"
1472    },
1473    "CertificateThumbprintList":{
1474      "type":"list",
1475      "member":{"shape":"CertificateThumbprint"}
1476    },
1477    "ClientToken":{
1478      "type":"string",
1479      "max":512,
1480      "min":1
1481    },
1482    "ConflictException":{
1483      "type":"structure",
1484      "members":{
1485        "message":{"shape":"ExceptionMessage"},
1486        "resourceId":{
1487          "shape":"ResourceId",
1488          "documentation":"<p>Identifier of the resource affected.</p>"
1489        },
1490        "resourceType":{
1491          "shape":"ResourceType",
1492          "documentation":"<p>Type of the resource affected.</p>"
1493        }
1494      },
1495      "documentation":"<p>There is a conflict.</p>",
1496      "error":{
1497        "httpStatusCode":409,
1498        "senderFault":true
1499      },
1500      "exception":true
1501    },
1502    "CookieDomain":{
1503      "type":"string",
1504      "max":253,
1505      "min":0,
1506      "pattern":"^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$"
1507    },
1508    "CookieName":{
1509      "type":"string",
1510      "max":4096,
1511      "min":0
1512    },
1513    "CookiePath":{
1514      "type":"string",
1515      "max":2000,
1516      "min":0,
1517      "pattern":"^/(\\S)*$"
1518    },
1519    "CookieSpecification":{
1520      "type":"structure",
1521      "required":["domain"],
1522      "members":{
1523        "domain":{
1524          "shape":"CookieDomain",
1525          "documentation":"<p>The domain of the cookie.</p>"
1526        },
1527        "name":{
1528          "shape":"CookieName",
1529          "documentation":"<p>The name of the cookie.</p>"
1530        },
1531        "path":{
1532          "shape":"CookiePath",
1533          "documentation":"<p>The path of the cookie.</p>"
1534        }
1535      },
1536      "documentation":"<p>Specifies a single cookie or set of cookies in an end user's browser.</p>"
1537    },
1538    "CookieSpecifications":{
1539      "type":"list",
1540      "member":{"shape":"CookieSpecification"},
1541      "max":10,
1542      "min":0
1543    },
1544    "CookieSynchronizationConfiguration":{
1545      "type":"structure",
1546      "required":["allowlist"],
1547      "members":{
1548        "allowlist":{
1549          "shape":"CookieSpecifications",
1550          "documentation":"<p>The list of cookie specifications that are allowed to be synchronized to the remote browser.</p>"
1551        },
1552        "blocklist":{
1553          "shape":"CookieSpecifications",
1554          "documentation":"<p>The list of cookie specifications that are blocked from being synchronized to the remote browser.</p>"
1555        }
1556      },
1557      "documentation":"<p>The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.</p>",
1558      "sensitive":true
1559    },
1560    "CreateBrowserSettingsRequest":{
1561      "type":"structure",
1562      "required":["browserPolicy"],
1563      "members":{
1564        "additionalEncryptionContext":{
1565          "shape":"EncryptionContextMap",
1566          "documentation":"<p>Additional encryption context of the browser settings.</p>"
1567        },
1568        "browserPolicy":{
1569          "shape":"BrowserPolicy",
1570          "documentation":"<p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.</p>"
1571        },
1572        "clientToken":{
1573          "shape":"ClientToken",
1574          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK. </p>",
1575          "idempotencyToken":true
1576        },
1577        "customerManagedKey":{
1578          "shape":"keyArn",
1579          "documentation":"<p>The custom managed key of the browser settings.</p>"
1580        },
1581        "tags":{
1582          "shape":"TagList",
1583          "documentation":"<p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>"
1584        }
1585      }
1586    },
1587    "CreateBrowserSettingsResponse":{
1588      "type":"structure",
1589      "required":["browserSettingsArn"],
1590      "members":{
1591        "browserSettingsArn":{
1592          "shape":"ARN",
1593          "documentation":"<p>The ARN of the browser settings.</p>"
1594        }
1595      }
1596    },
1597    "CreateIdentityProviderRequest":{
1598      "type":"structure",
1599      "required":[
1600        "identityProviderDetails",
1601        "identityProviderName",
1602        "identityProviderType",
1603        "portalArn"
1604      ],
1605      "members":{
1606        "clientToken":{
1607          "shape":"ClientToken",
1608          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1609          "idempotencyToken":true
1610        },
1611        "identityProviderDetails":{
1612          "shape":"IdentityProviderDetails",
1613          "documentation":"<p>The identity provider details. The following list describes the provider detail keys for each identity provider type. </p> <ul> <li> <p>For Google and Login with Amazon:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For Facebook:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>api_version</code> </p> </li> </ul> </li> <li> <p>For Sign in with Apple:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>team_id</code> </p> </li> <li> <p> <code>key_id</code> </p> </li> <li> <p> <code>private_key</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For OIDC providers:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>attributes_request_method</code> </p> </li> <li> <p> <code>oidc_issuer</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>authorize_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>token_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>attributes_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>jwks_uri</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> </ul> </li> <li> <p>For SAML providers:</p> <ul> <li> <p> <code>MetadataFile</code> OR <code>MetadataURL</code> </p> </li> <li> <p> <code>IDPSignout</code> (boolean) <i>optional</i> </p> </li> </ul> </li> </ul>"
1614        },
1615        "identityProviderName":{
1616          "shape":"IdentityProviderName",
1617          "documentation":"<p>The identity provider name.</p>"
1618        },
1619        "identityProviderType":{
1620          "shape":"IdentityProviderType",
1621          "documentation":"<p>The identity provider type.</p>"
1622        },
1623        "portalArn":{
1624          "shape":"ARN",
1625          "documentation":"<p>The ARN of the web portal.</p>"
1626        }
1627      }
1628    },
1629    "CreateIdentityProviderResponse":{
1630      "type":"structure",
1631      "required":["identityProviderArn"],
1632      "members":{
1633        "identityProviderArn":{
1634          "shape":"SubresourceARN",
1635          "documentation":"<p>The ARN of the identity provider.</p>"
1636        }
1637      }
1638    },
1639    "CreateIpAccessSettingsRequest":{
1640      "type":"structure",
1641      "required":["ipRules"],
1642      "members":{
1643        "additionalEncryptionContext":{
1644          "shape":"EncryptionContextMap",
1645          "documentation":"<p>Additional encryption context of the IP access settings.</p>"
1646        },
1647        "clientToken":{
1648          "shape":"ClientToken",
1649          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1650          "idempotencyToken":true
1651        },
1652        "customerManagedKey":{
1653          "shape":"keyArn",
1654          "documentation":"<p>The custom managed key of the IP access settings.</p>"
1655        },
1656        "description":{
1657          "shape":"Description",
1658          "documentation":"<p>The description of the IP access settings.</p>"
1659        },
1660        "displayName":{
1661          "shape":"DisplayName",
1662          "documentation":"<p>The display name of the IP access settings.</p>"
1663        },
1664        "ipRules":{
1665          "shape":"IpRuleList",
1666          "documentation":"<p>The IP rules of the IP access settings.</p>"
1667        },
1668        "tags":{
1669          "shape":"TagList",
1670          "documentation":"<p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>"
1671        }
1672      }
1673    },
1674    "CreateIpAccessSettingsResponse":{
1675      "type":"structure",
1676      "required":["ipAccessSettingsArn"],
1677      "members":{
1678        "ipAccessSettingsArn":{
1679          "shape":"ARN",
1680          "documentation":"<p>The ARN of the IP access settings resource.</p>"
1681        }
1682      }
1683    },
1684    "CreateNetworkSettingsRequest":{
1685      "type":"structure",
1686      "required":[
1687        "securityGroupIds",
1688        "subnetIds",
1689        "vpcId"
1690      ],
1691      "members":{
1692        "clientToken":{
1693          "shape":"ClientToken",
1694          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1695          "idempotencyToken":true
1696        },
1697        "securityGroupIds":{
1698          "shape":"SecurityGroupIdList",
1699          "documentation":"<p>One or more security groups used to control access from streaming instances to your VPC.</p>"
1700        },
1701        "subnetIds":{
1702          "shape":"SubnetIdList",
1703          "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>"
1704        },
1705        "tags":{
1706          "shape":"TagList",
1707          "documentation":"<p>The tags to add to the network settings resource. A tag is a key-value pair.</p>"
1708        },
1709        "vpcId":{
1710          "shape":"VpcId",
1711          "documentation":"<p>The VPC that streaming instances will connect to.</p>"
1712        }
1713      }
1714    },
1715    "CreateNetworkSettingsResponse":{
1716      "type":"structure",
1717      "required":["networkSettingsArn"],
1718      "members":{
1719        "networkSettingsArn":{
1720          "shape":"ARN",
1721          "documentation":"<p>The ARN of the network settings.</p>"
1722        }
1723      }
1724    },
1725    "CreatePortalRequest":{
1726      "type":"structure",
1727      "members":{
1728        "additionalEncryptionContext":{
1729          "shape":"EncryptionContextMap",
1730          "documentation":"<p>The additional encryption context of the portal.</p>"
1731        },
1732        "authenticationType":{
1733          "shape":"AuthenticationType",
1734          "documentation":"<p>The type of authentication integration points used when signing into the web portal. Defaults to <code>Standard</code>.</p> <p> <code>Standard</code> web portals are authenticated directly through your identity provider. You need to call <code>CreateIdentityProvider</code> to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.</p> <p> <code>IAM_Identity_Center</code> web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.</p>"
1735        },
1736        "clientToken":{
1737          "shape":"ClientToken",
1738          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1739          "idempotencyToken":true
1740        },
1741        "customerManagedKey":{
1742          "shape":"keyArn",
1743          "documentation":"<p>The customer managed key of the web portal.</p>"
1744        },
1745        "displayName":{
1746          "shape":"DisplayName",
1747          "documentation":"<p>The name of the web portal. This is not visible to users who log into the web portal.</p>"
1748        },
1749        "tags":{
1750          "shape":"TagList",
1751          "documentation":"<p>The tags to add to the web portal. A tag is a key-value pair.</p>"
1752        }
1753      }
1754    },
1755    "CreatePortalResponse":{
1756      "type":"structure",
1757      "required":[
1758        "portalArn",
1759        "portalEndpoint"
1760      ],
1761      "members":{
1762        "portalArn":{
1763          "shape":"ARN",
1764          "documentation":"<p>The ARN of the web portal.</p>"
1765        },
1766        "portalEndpoint":{
1767          "shape":"PortalEndpoint",
1768          "documentation":"<p>The endpoint URL of the web portal that users access in order to start streaming sessions.</p>"
1769        }
1770      }
1771    },
1772    "CreateTrustStoreRequest":{
1773      "type":"structure",
1774      "required":["certificateList"],
1775      "members":{
1776        "certificateList":{
1777          "shape":"CertificateList",
1778          "documentation":"<p>A list of CA certificates to be added to the trust store.</p>"
1779        },
1780        "clientToken":{
1781          "shape":"ClientToken",
1782          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1783          "idempotencyToken":true
1784        },
1785        "tags":{
1786          "shape":"TagList",
1787          "documentation":"<p>The tags to add to the trust store. A tag is a key-value pair.</p>"
1788        }
1789      }
1790    },
1791    "CreateTrustStoreResponse":{
1792      "type":"structure",
1793      "required":["trustStoreArn"],
1794      "members":{
1795        "trustStoreArn":{
1796          "shape":"ARN",
1797          "documentation":"<p>The ARN of the trust store.</p>"
1798        }
1799      }
1800    },
1801    "CreateUserAccessLoggingSettingsRequest":{
1802      "type":"structure",
1803      "required":["kinesisStreamArn"],
1804      "members":{
1805        "clientToken":{
1806          "shape":"ClientToken",
1807          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1808          "idempotencyToken":true
1809        },
1810        "kinesisStreamArn":{
1811          "shape":"KinesisStreamArn",
1812          "documentation":"<p>The ARN of the Kinesis stream.</p>"
1813        },
1814        "tags":{
1815          "shape":"TagList",
1816          "documentation":"<p>The tags to add to the user settings resource. A tag is a key-value pair.</p>"
1817        }
1818      }
1819    },
1820    "CreateUserAccessLoggingSettingsResponse":{
1821      "type":"structure",
1822      "required":["userAccessLoggingSettingsArn"],
1823      "members":{
1824        "userAccessLoggingSettingsArn":{
1825          "shape":"ARN",
1826          "documentation":"<p>The ARN of the user access logging settings.</p>"
1827        }
1828      }
1829    },
1830    "CreateUserSettingsRequest":{
1831      "type":"structure",
1832      "required":[
1833        "copyAllowed",
1834        "downloadAllowed",
1835        "pasteAllowed",
1836        "printAllowed",
1837        "uploadAllowed"
1838      ],
1839      "members":{
1840        "additionalEncryptionContext":{
1841          "shape":"EncryptionContextMap",
1842          "documentation":"<p>The additional encryption context of the user settings.</p>"
1843        },
1844        "clientToken":{
1845          "shape":"ClientToken",
1846          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
1847          "idempotencyToken":true
1848        },
1849        "cookieSynchronizationConfiguration":{
1850          "shape":"CookieSynchronizationConfiguration",
1851          "documentation":"<p>The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.</p>"
1852        },
1853        "copyAllowed":{
1854          "shape":"EnabledType",
1855          "documentation":"<p>Specifies whether the user can copy text from the streaming session to the local device.</p>"
1856        },
1857        "customerManagedKey":{
1858          "shape":"keyArn",
1859          "documentation":"<p>The customer managed key used to encrypt sensitive information in the user settings.</p>"
1860        },
1861        "disconnectTimeoutInMinutes":{
1862          "shape":"DisconnectTimeoutInMinutes",
1863          "documentation":"<p>The amount of time that a streaming session remains active after users disconnect.</p>"
1864        },
1865        "downloadAllowed":{
1866          "shape":"EnabledType",
1867          "documentation":"<p>Specifies whether the user can download files from the streaming session to the local device.</p>"
1868        },
1869        "idleDisconnectTimeoutInMinutes":{
1870          "shape":"IdleDisconnectTimeoutInMinutes",
1871          "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>"
1872        },
1873        "pasteAllowed":{
1874          "shape":"EnabledType",
1875          "documentation":"<p>Specifies whether the user can paste text from the local device to the streaming session.</p>"
1876        },
1877        "printAllowed":{
1878          "shape":"EnabledType",
1879          "documentation":"<p>Specifies whether the user can print to the local device.</p>"
1880        },
1881        "tags":{
1882          "shape":"TagList",
1883          "documentation":"<p>The tags to add to the user settings resource. A tag is a key-value pair.</p>"
1884        },
1885        "uploadAllowed":{
1886          "shape":"EnabledType",
1887          "documentation":"<p>Specifies whether the user can upload files from the local device to the streaming session.</p>"
1888        }
1889      }
1890    },
1891    "CreateUserSettingsResponse":{
1892      "type":"structure",
1893      "required":["userSettingsArn"],
1894      "members":{
1895        "userSettingsArn":{
1896          "shape":"ARN",
1897          "documentation":"<p>The ARN of the user settings.</p>"
1898        }
1899      }
1900    },
1901    "DeleteBrowserSettingsRequest":{
1902      "type":"structure",
1903      "required":["browserSettingsArn"],
1904      "members":{
1905        "browserSettingsArn":{
1906          "shape":"ARN",
1907          "documentation":"<p>The ARN of the browser settings.</p>",
1908          "location":"uri",
1909          "locationName":"browserSettingsArn"
1910        }
1911      }
1912    },
1913    "DeleteBrowserSettingsResponse":{
1914      "type":"structure",
1915      "members":{
1916      }
1917    },
1918    "DeleteIdentityProviderRequest":{
1919      "type":"structure",
1920      "required":["identityProviderArn"],
1921      "members":{
1922        "identityProviderArn":{
1923          "shape":"SubresourceARN",
1924          "documentation":"<p>The ARN of the identity provider.</p>",
1925          "location":"uri",
1926          "locationName":"identityProviderArn"
1927        }
1928      }
1929    },
1930    "DeleteIdentityProviderResponse":{
1931      "type":"structure",
1932      "members":{
1933      }
1934    },
1935    "DeleteIpAccessSettingsRequest":{
1936      "type":"structure",
1937      "required":["ipAccessSettingsArn"],
1938      "members":{
1939        "ipAccessSettingsArn":{
1940          "shape":"ARN",
1941          "documentation":"<p>The ARN of the IP access settings.</p>",
1942          "location":"uri",
1943          "locationName":"ipAccessSettingsArn"
1944        }
1945      }
1946    },
1947    "DeleteIpAccessSettingsResponse":{
1948      "type":"structure",
1949      "members":{
1950      }
1951    },
1952    "DeleteNetworkSettingsRequest":{
1953      "type":"structure",
1954      "required":["networkSettingsArn"],
1955      "members":{
1956        "networkSettingsArn":{
1957          "shape":"ARN",
1958          "documentation":"<p>The ARN of the network settings.</p>",
1959          "location":"uri",
1960          "locationName":"networkSettingsArn"
1961        }
1962      }
1963    },
1964    "DeleteNetworkSettingsResponse":{
1965      "type":"structure",
1966      "members":{
1967      }
1968    },
1969    "DeletePortalRequest":{
1970      "type":"structure",
1971      "required":["portalArn"],
1972      "members":{
1973        "portalArn":{
1974          "shape":"ARN",
1975          "documentation":"<p>The ARN of the web portal.</p>",
1976          "location":"uri",
1977          "locationName":"portalArn"
1978        }
1979      }
1980    },
1981    "DeletePortalResponse":{
1982      "type":"structure",
1983      "members":{
1984      }
1985    },
1986    "DeleteTrustStoreRequest":{
1987      "type":"structure",
1988      "required":["trustStoreArn"],
1989      "members":{
1990        "trustStoreArn":{
1991          "shape":"ARN",
1992          "documentation":"<p>The ARN of the trust store.</p>",
1993          "location":"uri",
1994          "locationName":"trustStoreArn"
1995        }
1996      }
1997    },
1998    "DeleteTrustStoreResponse":{
1999      "type":"structure",
2000      "members":{
2001      }
2002    },
2003    "DeleteUserAccessLoggingSettingsRequest":{
2004      "type":"structure",
2005      "required":["userAccessLoggingSettingsArn"],
2006      "members":{
2007        "userAccessLoggingSettingsArn":{
2008          "shape":"ARN",
2009          "documentation":"<p>The ARN of the user access logging settings.</p>",
2010          "location":"uri",
2011          "locationName":"userAccessLoggingSettingsArn"
2012        }
2013      }
2014    },
2015    "DeleteUserAccessLoggingSettingsResponse":{
2016      "type":"structure",
2017      "members":{
2018      }
2019    },
2020    "DeleteUserSettingsRequest":{
2021      "type":"structure",
2022      "required":["userSettingsArn"],
2023      "members":{
2024        "userSettingsArn":{
2025          "shape":"ARN",
2026          "documentation":"<p>The ARN of the user settings.</p>",
2027          "location":"uri",
2028          "locationName":"userSettingsArn"
2029        }
2030      }
2031    },
2032    "DeleteUserSettingsResponse":{
2033      "type":"structure",
2034      "members":{
2035      }
2036    },
2037    "Description":{
2038      "type":"string",
2039      "max":256,
2040      "min":1,
2041      "pattern":"^.+$",
2042      "sensitive":true
2043    },
2044    "DisassociateBrowserSettingsRequest":{
2045      "type":"structure",
2046      "required":["portalArn"],
2047      "members":{
2048        "portalArn":{
2049          "shape":"ARN",
2050          "documentation":"<p>The ARN of the web portal.</p>",
2051          "location":"uri",
2052          "locationName":"portalArn"
2053        }
2054      }
2055    },
2056    "DisassociateBrowserSettingsResponse":{
2057      "type":"structure",
2058      "members":{
2059      }
2060    },
2061    "DisassociateIpAccessSettingsRequest":{
2062      "type":"structure",
2063      "required":["portalArn"],
2064      "members":{
2065        "portalArn":{
2066          "shape":"ARN",
2067          "documentation":"<p>The ARN of the web portal.</p>",
2068          "location":"uri",
2069          "locationName":"portalArn"
2070        }
2071      }
2072    },
2073    "DisassociateIpAccessSettingsResponse":{
2074      "type":"structure",
2075      "members":{
2076      }
2077    },
2078    "DisassociateNetworkSettingsRequest":{
2079      "type":"structure",
2080      "required":["portalArn"],
2081      "members":{
2082        "portalArn":{
2083          "shape":"ARN",
2084          "documentation":"<p>The ARN of the web portal.</p>",
2085          "location":"uri",
2086          "locationName":"portalArn"
2087        }
2088      }
2089    },
2090    "DisassociateNetworkSettingsResponse":{
2091      "type":"structure",
2092      "members":{
2093      }
2094    },
2095    "DisassociateTrustStoreRequest":{
2096      "type":"structure",
2097      "required":["portalArn"],
2098      "members":{
2099        "portalArn":{
2100          "shape":"ARN",
2101          "documentation":"<p>The ARN of the web portal.</p>",
2102          "location":"uri",
2103          "locationName":"portalArn"
2104        }
2105      }
2106    },
2107    "DisassociateTrustStoreResponse":{
2108      "type":"structure",
2109      "members":{
2110      }
2111    },
2112    "DisassociateUserAccessLoggingSettingsRequest":{
2113      "type":"structure",
2114      "required":["portalArn"],
2115      "members":{
2116        "portalArn":{
2117          "shape":"ARN",
2118          "documentation":"<p>The ARN of the web portal.</p>",
2119          "location":"uri",
2120          "locationName":"portalArn"
2121        }
2122      }
2123    },
2124    "DisassociateUserAccessLoggingSettingsResponse":{
2125      "type":"structure",
2126      "members":{
2127      }
2128    },
2129    "DisassociateUserSettingsRequest":{
2130      "type":"structure",
2131      "required":["portalArn"],
2132      "members":{
2133        "portalArn":{
2134          "shape":"ARN",
2135          "documentation":"<p>The ARN of the web portal.</p>",
2136          "location":"uri",
2137          "locationName":"portalArn"
2138        }
2139      }
2140    },
2141    "DisassociateUserSettingsResponse":{
2142      "type":"structure",
2143      "members":{
2144      }
2145    },
2146    "DisconnectTimeoutInMinutes":{
2147      "type":"integer",
2148      "box":true,
2149      "max":600,
2150      "min":1
2151    },
2152    "DisplayName":{
2153      "type":"string",
2154      "max":64,
2155      "min":1,
2156      "pattern":"^.+$",
2157      "sensitive":true
2158    },
2159    "EnabledType":{
2160      "type":"string",
2161      "enum":[
2162        "Disabled",
2163        "Enabled"
2164      ]
2165    },
2166    "EncryptionContextMap":{
2167      "type":"map",
2168      "key":{"shape":"StringType"},
2169      "value":{"shape":"StringType"}
2170    },
2171    "ExceptionMessage":{"type":"string"},
2172    "FieldName":{"type":"string"},
2173    "GetBrowserSettingsRequest":{
2174      "type":"structure",
2175      "required":["browserSettingsArn"],
2176      "members":{
2177        "browserSettingsArn":{
2178          "shape":"ARN",
2179          "documentation":"<p>The ARN of the browser settings.</p>",
2180          "location":"uri",
2181          "locationName":"browserSettingsArn"
2182        }
2183      }
2184    },
2185    "GetBrowserSettingsResponse":{
2186      "type":"structure",
2187      "members":{
2188        "browserSettings":{
2189          "shape":"BrowserSettings",
2190          "documentation":"<p>The browser settings.</p>"
2191        }
2192      }
2193    },
2194    "GetIdentityProviderRequest":{
2195      "type":"structure",
2196      "required":["identityProviderArn"],
2197      "members":{
2198        "identityProviderArn":{
2199          "shape":"SubresourceARN",
2200          "documentation":"<p>The ARN of the identity provider.</p>",
2201          "location":"uri",
2202          "locationName":"identityProviderArn"
2203        }
2204      }
2205    },
2206    "GetIdentityProviderResponse":{
2207      "type":"structure",
2208      "members":{
2209        "identityProvider":{
2210          "shape":"IdentityProvider",
2211          "documentation":"<p>The identity provider.</p>"
2212        }
2213      }
2214    },
2215    "GetIpAccessSettingsRequest":{
2216      "type":"structure",
2217      "required":["ipAccessSettingsArn"],
2218      "members":{
2219        "ipAccessSettingsArn":{
2220          "shape":"ARN",
2221          "documentation":"<p>The ARN of the IP access settings.</p>",
2222          "location":"uri",
2223          "locationName":"ipAccessSettingsArn"
2224        }
2225      }
2226    },
2227    "GetIpAccessSettingsResponse":{
2228      "type":"structure",
2229      "members":{
2230        "ipAccessSettings":{
2231          "shape":"IpAccessSettings",
2232          "documentation":"<p>The IP access settings.</p>"
2233        }
2234      }
2235    },
2236    "GetNetworkSettingsRequest":{
2237      "type":"structure",
2238      "required":["networkSettingsArn"],
2239      "members":{
2240        "networkSettingsArn":{
2241          "shape":"ARN",
2242          "documentation":"<p>The ARN of the network settings.</p>",
2243          "location":"uri",
2244          "locationName":"networkSettingsArn"
2245        }
2246      }
2247    },
2248    "GetNetworkSettingsResponse":{
2249      "type":"structure",
2250      "members":{
2251        "networkSettings":{
2252          "shape":"NetworkSettings",
2253          "documentation":"<p>The network settings.</p>"
2254        }
2255      }
2256    },
2257    "GetPortalRequest":{
2258      "type":"structure",
2259      "required":["portalArn"],
2260      "members":{
2261        "portalArn":{
2262          "shape":"ARN",
2263          "documentation":"<p>The ARN of the web portal.</p>",
2264          "location":"uri",
2265          "locationName":"portalArn"
2266        }
2267      }
2268    },
2269    "GetPortalResponse":{
2270      "type":"structure",
2271      "members":{
2272        "portal":{
2273          "shape":"Portal",
2274          "documentation":"<p>The web portal.</p>"
2275        }
2276      }
2277    },
2278    "GetPortalServiceProviderMetadataRequest":{
2279      "type":"structure",
2280      "required":["portalArn"],
2281      "members":{
2282        "portalArn":{
2283          "shape":"ARN",
2284          "documentation":"<p>The ARN of the web portal.</p>",
2285          "location":"uri",
2286          "locationName":"portalArn"
2287        }
2288      }
2289    },
2290    "GetPortalServiceProviderMetadataResponse":{
2291      "type":"structure",
2292      "required":["portalArn"],
2293      "members":{
2294        "portalArn":{
2295          "shape":"ARN",
2296          "documentation":"<p>The ARN of the web portal.</p>"
2297        },
2298        "serviceProviderSamlMetadata":{
2299          "shape":"SamlMetadata",
2300          "documentation":"<p>The service provider SAML metadata.</p>"
2301        }
2302      }
2303    },
2304    "GetTrustStoreCertificateRequest":{
2305      "type":"structure",
2306      "required":[
2307        "thumbprint",
2308        "trustStoreArn"
2309      ],
2310      "members":{
2311        "thumbprint":{
2312          "shape":"CertificateThumbprint",
2313          "documentation":"<p>The thumbprint of the trust store certificate.</p>",
2314          "location":"querystring",
2315          "locationName":"thumbprint"
2316        },
2317        "trustStoreArn":{
2318          "shape":"ARN",
2319          "documentation":"<p>The ARN of the trust store certificate.</p>",
2320          "location":"uri",
2321          "locationName":"trustStoreArn"
2322        }
2323      }
2324    },
2325    "GetTrustStoreCertificateResponse":{
2326      "type":"structure",
2327      "required":["trustStoreArn"],
2328      "members":{
2329        "certificate":{
2330          "shape":"Certificate",
2331          "documentation":"<p>The certificate of the trust store certificate.</p>"
2332        },
2333        "trustStoreArn":{
2334          "shape":"ARN",
2335          "documentation":"<p>The ARN of the trust store certificate.</p>"
2336        }
2337      }
2338    },
2339    "GetTrustStoreRequest":{
2340      "type":"structure",
2341      "required":["trustStoreArn"],
2342      "members":{
2343        "trustStoreArn":{
2344          "shape":"ARN",
2345          "documentation":"<p>The ARN of the trust store.</p>",
2346          "location":"uri",
2347          "locationName":"trustStoreArn"
2348        }
2349      }
2350    },
2351    "GetTrustStoreResponse":{
2352      "type":"structure",
2353      "members":{
2354        "trustStore":{
2355          "shape":"TrustStore",
2356          "documentation":"<p>The trust store.</p>"
2357        }
2358      }
2359    },
2360    "GetUserAccessLoggingSettingsRequest":{
2361      "type":"structure",
2362      "required":["userAccessLoggingSettingsArn"],
2363      "members":{
2364        "userAccessLoggingSettingsArn":{
2365          "shape":"ARN",
2366          "documentation":"<p>The ARN of the user access logging settings.</p>",
2367          "location":"uri",
2368          "locationName":"userAccessLoggingSettingsArn"
2369        }
2370      }
2371    },
2372    "GetUserAccessLoggingSettingsResponse":{
2373      "type":"structure",
2374      "members":{
2375        "userAccessLoggingSettings":{
2376          "shape":"UserAccessLoggingSettings",
2377          "documentation":"<p>The user access logging settings.</p>"
2378        }
2379      }
2380    },
2381    "GetUserSettingsRequest":{
2382      "type":"structure",
2383      "required":["userSettingsArn"],
2384      "members":{
2385        "userSettingsArn":{
2386          "shape":"ARN",
2387          "documentation":"<p>The ARN of the user settings.</p>",
2388          "location":"uri",
2389          "locationName":"userSettingsArn"
2390        }
2391      }
2392    },
2393    "GetUserSettingsResponse":{
2394      "type":"structure",
2395      "members":{
2396        "userSettings":{
2397          "shape":"UserSettings",
2398          "documentation":"<p>The user settings.</p>"
2399        }
2400      }
2401    },
2402    "IdentityProvider":{
2403      "type":"structure",
2404      "required":["identityProviderArn"],
2405      "members":{
2406        "identityProviderArn":{
2407          "shape":"SubresourceARN",
2408          "documentation":"<p>The ARN of the identity provider.</p>"
2409        },
2410        "identityProviderDetails":{
2411          "shape":"IdentityProviderDetails",
2412          "documentation":"<p>The identity provider details. The following list describes the provider detail keys for each identity provider type. </p> <ul> <li> <p>For Google and Login with Amazon:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For Facebook:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>api_version</code> </p> </li> </ul> </li> <li> <p>For Sign in with Apple:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>team_id</code> </p> </li> <li> <p> <code>key_id</code> </p> </li> <li> <p> <code>private_key</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For OIDC providers:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>attributes_request_method</code> </p> </li> <li> <p> <code>oidc_issuer</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>authorize_url</code> <i>if not available from discovery URL specified by oidc_issuer key</i> </p> </li> <li> <p> <code>token_url</code> <i>if not available from discovery URL specified by oidc_issuer key</i> </p> </li> <li> <p> <code>attributes_url</code> <i>if not available from discovery URL specified by oidc_issuer key</i> </p> </li> <li> <p> <code>jwks_uri</code> <i>if not available from discovery URL specified by oidc_issuer key</i> </p> </li> </ul> </li> <li> <p>For SAML providers:</p> <ul> <li> <p> <code>MetadataFile</code> OR <code>MetadataURL</code> </p> </li> <li> <p> <code>IDPSignout</code> <i>optional</i> </p> </li> </ul> </li> </ul>"
2413        },
2414        "identityProviderName":{
2415          "shape":"IdentityProviderName",
2416          "documentation":"<p>The identity provider name.</p>"
2417        },
2418        "identityProviderType":{
2419          "shape":"IdentityProviderType",
2420          "documentation":"<p>The identity provider type.</p>"
2421        }
2422      },
2423      "documentation":"<p>The identity provider.</p>"
2424    },
2425    "IdentityProviderDetails":{
2426      "type":"map",
2427      "key":{"shape":"StringType"},
2428      "value":{"shape":"StringType"},
2429      "sensitive":true
2430    },
2431    "IdentityProviderList":{
2432      "type":"list",
2433      "member":{"shape":"IdentityProviderSummary"}
2434    },
2435    "IdentityProviderName":{
2436      "type":"string",
2437      "max":32,
2438      "min":1,
2439      "pattern":"^[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+$",
2440      "sensitive":true
2441    },
2442    "IdentityProviderSummary":{
2443      "type":"structure",
2444      "required":["identityProviderArn"],
2445      "members":{
2446        "identityProviderArn":{
2447          "shape":"SubresourceARN",
2448          "documentation":"<p>The ARN of the identity provider.</p>"
2449        },
2450        "identityProviderName":{
2451          "shape":"IdentityProviderName",
2452          "documentation":"<p>The identity provider name.</p>"
2453        },
2454        "identityProviderType":{
2455          "shape":"IdentityProviderType",
2456          "documentation":"<p>The identity provider type.</p>"
2457        }
2458      },
2459      "documentation":"<p>The summary of the identity provider.</p>"
2460    },
2461    "IdentityProviderType":{
2462      "type":"string",
2463      "enum":[
2464        "SAML",
2465        "Facebook",
2466        "Google",
2467        "LoginWithAmazon",
2468        "SignInWithApple",
2469        "OIDC"
2470      ]
2471    },
2472    "IdleDisconnectTimeoutInMinutes":{
2473      "type":"integer",
2474      "box":true,
2475      "max":60,
2476      "min":0
2477    },
2478    "InternalServerException":{
2479      "type":"structure",
2480      "members":{
2481        "message":{"shape":"ExceptionMessage"},
2482        "retryAfterSeconds":{
2483          "shape":"RetryAfterSeconds",
2484          "documentation":"<p>Advice to clients on when the call can be safely retried.</p>",
2485          "location":"header",
2486          "locationName":"Retry-After"
2487        }
2488      },
2489      "documentation":"<p>There is an internal server error.</p>",
2490      "error":{"httpStatusCode":500},
2491      "exception":true,
2492      "fault":true
2493    },
2494    "IpAccessSettings":{
2495      "type":"structure",
2496      "required":["ipAccessSettingsArn"],
2497      "members":{
2498        "associatedPortalArns":{
2499          "shape":"ArnList",
2500          "documentation":"<p>A list of web portal ARNs that this IP access settings resource is associated with.</p>"
2501        },
2502        "creationDate":{
2503          "shape":"Timestamp",
2504          "documentation":"<p>The creation date timestamp of the IP access settings.</p>"
2505        },
2506        "description":{
2507          "shape":"Description",
2508          "documentation":"<p>The description of the IP access settings.</p>"
2509        },
2510        "displayName":{
2511          "shape":"DisplayName",
2512          "documentation":"<p> The display name of the IP access settings.</p>"
2513        },
2514        "ipAccessSettingsArn":{
2515          "shape":"ARN",
2516          "documentation":"<p>The ARN of the IP access settings resource.</p>"
2517        },
2518        "ipRules":{
2519          "shape":"IpRuleList",
2520          "documentation":"<p>The IP rules of the IP access settings.</p>"
2521        }
2522      },
2523      "documentation":"<p>The IP access settings resource that can be associated with a web portal. </p>"
2524    },
2525    "IpAccessSettingsList":{
2526      "type":"list",
2527      "member":{"shape":"IpAccessSettingsSummary"}
2528    },
2529    "IpAccessSettingsSummary":{
2530      "type":"structure",
2531      "required":["ipAccessSettingsArn"],
2532      "members":{
2533        "creationDate":{
2534          "shape":"Timestamp",
2535          "documentation":"<p>The creation date timestamp of the IP access settings.</p>"
2536        },
2537        "description":{
2538          "shape":"Description",
2539          "documentation":"<p>The description of the IP access settings.</p>"
2540        },
2541        "displayName":{
2542          "shape":"DisplayName",
2543          "documentation":"<p>The display name of the IP access settings.</p>"
2544        },
2545        "ipAccessSettingsArn":{
2546          "shape":"ARN",
2547          "documentation":"<p>The ARN of IP access settings.</p>"
2548        }
2549      },
2550      "documentation":"<p>The summary of IP access settings.</p>"
2551    },
2552    "IpRange":{
2553      "type":"string",
2554      "documentation":"<p>A single IP address or an IP address range in CIDR notation</p>",
2555      "pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(?:/([0-9]|[12][0-9]|3[0-2])|)$",
2556      "sensitive":true
2557    },
2558    "IpRule":{
2559      "type":"structure",
2560      "required":["ipRange"],
2561      "members":{
2562        "description":{
2563          "shape":"Description",
2564          "documentation":"<p>The description of the IP rule.</p>"
2565        },
2566        "ipRange":{
2567          "shape":"IpRange",
2568          "documentation":"<p>The IP range of the IP rule.</p>"
2569        }
2570      },
2571      "documentation":"<p>The IP rules of the IP access settings.</p>"
2572    },
2573    "IpRuleList":{
2574      "type":"list",
2575      "member":{"shape":"IpRule"},
2576      "max":100,
2577      "min":1,
2578      "sensitive":true
2579    },
2580    "KinesisStreamArn":{
2581      "type":"string",
2582      "documentation":"<p>Kinesis stream ARN to which log events are published.</p>",
2583      "max":2048,
2584      "min":20,
2585      "pattern":"arn:[\\w+=/,.@-]+:kinesis:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:stream/.+"
2586    },
2587    "ListBrowserSettingsRequest":{
2588      "type":"structure",
2589      "members":{
2590        "maxResults":{
2591          "shape":"MaxResults",
2592          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2593          "location":"querystring",
2594          "locationName":"maxResults"
2595        },
2596        "nextToken":{
2597          "shape":"PaginationToken",
2598          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2599          "location":"querystring",
2600          "locationName":"nextToken"
2601        }
2602      }
2603    },
2604    "ListBrowserSettingsResponse":{
2605      "type":"structure",
2606      "members":{
2607        "browserSettings":{
2608          "shape":"BrowserSettingsList",
2609          "documentation":"<p>The browser settings.</p>"
2610        },
2611        "nextToken":{
2612          "shape":"PaginationToken",
2613          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2614        }
2615      }
2616    },
2617    "ListIdentityProvidersRequest":{
2618      "type":"structure",
2619      "required":["portalArn"],
2620      "members":{
2621        "maxResults":{
2622          "shape":"MaxResults",
2623          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2624          "location":"querystring",
2625          "locationName":"maxResults"
2626        },
2627        "nextToken":{
2628          "shape":"PaginationToken",
2629          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2630          "location":"querystring",
2631          "locationName":"nextToken"
2632        },
2633        "portalArn":{
2634          "shape":"ARN",
2635          "documentation":"<p>The ARN of the web portal.</p>",
2636          "location":"uri",
2637          "locationName":"portalArn"
2638        }
2639      }
2640    },
2641    "ListIdentityProvidersResponse":{
2642      "type":"structure",
2643      "members":{
2644        "identityProviders":{
2645          "shape":"IdentityProviderList",
2646          "documentation":"<p>The identity providers.</p>"
2647        },
2648        "nextToken":{
2649          "shape":"PaginationToken",
2650          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2651        }
2652      }
2653    },
2654    "ListIpAccessSettingsRequest":{
2655      "type":"structure",
2656      "members":{
2657        "maxResults":{
2658          "shape":"MaxResults",
2659          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2660          "location":"querystring",
2661          "locationName":"maxResults"
2662        },
2663        "nextToken":{
2664          "shape":"PaginationToken",
2665          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2666          "location":"querystring",
2667          "locationName":"nextToken"
2668        }
2669      }
2670    },
2671    "ListIpAccessSettingsResponse":{
2672      "type":"structure",
2673      "members":{
2674        "ipAccessSettings":{
2675          "shape":"IpAccessSettingsList",
2676          "documentation":"<p>The IP access settings.</p>"
2677        },
2678        "nextToken":{
2679          "shape":"PaginationToken",
2680          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2681        }
2682      }
2683    },
2684    "ListNetworkSettingsRequest":{
2685      "type":"structure",
2686      "members":{
2687        "maxResults":{
2688          "shape":"MaxResults",
2689          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2690          "location":"querystring",
2691          "locationName":"maxResults"
2692        },
2693        "nextToken":{
2694          "shape":"PaginationToken",
2695          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2696          "location":"querystring",
2697          "locationName":"nextToken"
2698        }
2699      }
2700    },
2701    "ListNetworkSettingsResponse":{
2702      "type":"structure",
2703      "members":{
2704        "networkSettings":{
2705          "shape":"NetworkSettingsList",
2706          "documentation":"<p>The network settings.</p>"
2707        },
2708        "nextToken":{
2709          "shape":"PaginationToken",
2710          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2711        }
2712      }
2713    },
2714    "ListPortalsRequest":{
2715      "type":"structure",
2716      "members":{
2717        "maxResults":{
2718          "shape":"MaxResults",
2719          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2720          "location":"querystring",
2721          "locationName":"maxResults"
2722        },
2723        "nextToken":{
2724          "shape":"PaginationToken",
2725          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. </p>",
2726          "location":"querystring",
2727          "locationName":"nextToken"
2728        }
2729      }
2730    },
2731    "ListPortalsResponse":{
2732      "type":"structure",
2733      "members":{
2734        "nextToken":{
2735          "shape":"PaginationToken",
2736          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. </p>"
2737        },
2738        "portals":{
2739          "shape":"PortalList",
2740          "documentation":"<p>The portals in the list.</p>"
2741        }
2742      }
2743    },
2744    "ListTagsForResourceRequest":{
2745      "type":"structure",
2746      "required":["resourceArn"],
2747      "members":{
2748        "resourceArn":{
2749          "shape":"ARN",
2750          "documentation":"<p>The ARN of the resource.</p>",
2751          "location":"uri",
2752          "locationName":"resourceArn"
2753        }
2754      }
2755    },
2756    "ListTagsForResourceResponse":{
2757      "type":"structure",
2758      "members":{
2759        "tags":{
2760          "shape":"TagList",
2761          "documentation":"<p>The tags of the resource.</p>"
2762        }
2763      }
2764    },
2765    "ListTrustStoreCertificatesRequest":{
2766      "type":"structure",
2767      "required":["trustStoreArn"],
2768      "members":{
2769        "maxResults":{
2770          "shape":"MaxResults",
2771          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2772          "location":"querystring",
2773          "locationName":"maxResults"
2774        },
2775        "nextToken":{
2776          "shape":"PaginationToken",
2777          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2778          "location":"querystring",
2779          "locationName":"nextToken"
2780        },
2781        "trustStoreArn":{
2782          "shape":"ARN",
2783          "documentation":"<p>The ARN of the trust store</p>",
2784          "location":"uri",
2785          "locationName":"trustStoreArn"
2786        }
2787      }
2788    },
2789    "ListTrustStoreCertificatesResponse":{
2790      "type":"structure",
2791      "required":["trustStoreArn"],
2792      "members":{
2793        "certificateList":{
2794          "shape":"CertificateSummaryList",
2795          "documentation":"<p>The certificate list.</p>"
2796        },
2797        "nextToken":{
2798          "shape":"PaginationToken",
2799          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.&gt;</p>"
2800        },
2801        "trustStoreArn":{
2802          "shape":"ARN",
2803          "documentation":"<p>The ARN of the trust store.</p>"
2804        }
2805      }
2806    },
2807    "ListTrustStoresRequest":{
2808      "type":"structure",
2809      "members":{
2810        "maxResults":{
2811          "shape":"MaxResults",
2812          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2813          "location":"querystring",
2814          "locationName":"maxResults"
2815        },
2816        "nextToken":{
2817          "shape":"PaginationToken",
2818          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2819          "location":"querystring",
2820          "locationName":"nextToken"
2821        }
2822      }
2823    },
2824    "ListTrustStoresResponse":{
2825      "type":"structure",
2826      "members":{
2827        "nextToken":{
2828          "shape":"PaginationToken",
2829          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2830        },
2831        "trustStores":{
2832          "shape":"TrustStoreSummaryList",
2833          "documentation":"<p>The trust stores.</p>"
2834        }
2835      }
2836    },
2837    "ListUserAccessLoggingSettingsRequest":{
2838      "type":"structure",
2839      "members":{
2840        "maxResults":{
2841          "shape":"MaxResults",
2842          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2843          "location":"querystring",
2844          "locationName":"maxResults"
2845        },
2846        "nextToken":{
2847          "shape":"PaginationToken",
2848          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>",
2849          "location":"querystring",
2850          "locationName":"nextToken"
2851        }
2852      }
2853    },
2854    "ListUserAccessLoggingSettingsResponse":{
2855      "type":"structure",
2856      "members":{
2857        "nextToken":{
2858          "shape":"PaginationToken",
2859          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation.</p>"
2860        },
2861        "userAccessLoggingSettings":{
2862          "shape":"UserAccessLoggingSettingsList",
2863          "documentation":"<p>The user access logging settings.</p>"
2864        }
2865      }
2866    },
2867    "ListUserSettingsRequest":{
2868      "type":"structure",
2869      "members":{
2870        "maxResults":{
2871          "shape":"MaxResults",
2872          "documentation":"<p>The maximum number of results to be included in the next page.</p>",
2873          "location":"querystring",
2874          "locationName":"maxResults"
2875        },
2876        "nextToken":{
2877          "shape":"PaginationToken",
2878          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. </p>",
2879          "location":"querystring",
2880          "locationName":"nextToken"
2881        }
2882      }
2883    },
2884    "ListUserSettingsResponse":{
2885      "type":"structure",
2886      "members":{
2887        "nextToken":{
2888          "shape":"PaginationToken",
2889          "documentation":"<p>The pagination token used to retrieve the next page of results for this operation. </p>"
2890        },
2891        "userSettings":{
2892          "shape":"UserSettingsList",
2893          "documentation":"<p>The user settings.</p>"
2894        }
2895      }
2896    },
2897    "MaxResults":{
2898      "type":"integer",
2899      "box":true,
2900      "min":1
2901    },
2902    "NetworkSettings":{
2903      "type":"structure",
2904      "required":["networkSettingsArn"],
2905      "members":{
2906        "associatedPortalArns":{
2907          "shape":"ArnList",
2908          "documentation":"<p>A list of web portal ARNs that this network settings is associated with.</p>"
2909        },
2910        "networkSettingsArn":{
2911          "shape":"ARN",
2912          "documentation":"<p>The ARN of the network settings.</p>"
2913        },
2914        "securityGroupIds":{
2915          "shape":"SecurityGroupIdList",
2916          "documentation":"<p>One or more security groups used to control access from streaming instances to your VPC. </p>"
2917        },
2918        "subnetIds":{
2919          "shape":"SubnetIdList",
2920          "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>"
2921        },
2922        "vpcId":{
2923          "shape":"VpcId",
2924          "documentation":"<p>The VPC that streaming instances will connect to.</p>"
2925        }
2926      },
2927      "documentation":"<p>A network settings resource that can be associated with a web portal. Once associated with a web portal, network settings define how streaming instances will connect with your specified VPC. </p>"
2928    },
2929    "NetworkSettingsList":{
2930      "type":"list",
2931      "member":{"shape":"NetworkSettingsSummary"}
2932    },
2933    "NetworkSettingsSummary":{
2934      "type":"structure",
2935      "required":["networkSettingsArn"],
2936      "members":{
2937        "networkSettingsArn":{
2938          "shape":"ARN",
2939          "documentation":"<p>The ARN of the network settings.</p>"
2940        },
2941        "vpcId":{
2942          "shape":"VpcId",
2943          "documentation":"<p>The VPC ID of the network settings.</p>"
2944        }
2945      },
2946      "documentation":"<p>The summary of network settings.</p>"
2947    },
2948    "PaginationToken":{
2949      "type":"string",
2950      "max":2048,
2951      "min":1,
2952      "pattern":"^\\S+$"
2953    },
2954    "Portal":{
2955      "type":"structure",
2956      "required":["portalArn"],
2957      "members":{
2958        "authenticationType":{
2959          "shape":"AuthenticationType",
2960          "documentation":"<p>The type of authentication integration points used when signing into the web portal. Defaults to <code>Standard</code>.</p> <p> <code>Standard</code> web portals are authenticated directly through your identity provider. You need to call <code>CreateIdentityProvider</code> to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.</p> <p> <code>IAM_Identity_Center</code> web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.</p>"
2961        },
2962        "browserSettingsArn":{
2963          "shape":"ARN",
2964          "documentation":"<p>The ARN of the browser settings that is associated with this web portal.</p>"
2965        },
2966        "browserType":{
2967          "shape":"BrowserType",
2968          "documentation":"<p>The browser that users see when using a streaming session.</p>"
2969        },
2970        "creationDate":{
2971          "shape":"Timestamp",
2972          "documentation":"<p>The creation date of the web portal.</p>"
2973        },
2974        "displayName":{
2975          "shape":"DisplayName",
2976          "documentation":"<p>The name of the web portal.</p>"
2977        },
2978        "ipAccessSettingsArn":{
2979          "shape":"ARN",
2980          "documentation":"<p>The ARN of the IP access settings.</p>"
2981        },
2982        "networkSettingsArn":{
2983          "shape":"ARN",
2984          "documentation":"<p>The ARN of the network settings that is associated with the web portal.</p>"
2985        },
2986        "portalArn":{
2987          "shape":"ARN",
2988          "documentation":"<p>The ARN of the web portal.</p>"
2989        },
2990        "portalEndpoint":{
2991          "shape":"PortalEndpoint",
2992          "documentation":"<p>The endpoint URL of the web portal that users access in order to start streaming sessions.</p>"
2993        },
2994        "portalStatus":{
2995          "shape":"PortalStatus",
2996          "documentation":"<p>The status of the web portal.</p>"
2997        },
2998        "rendererType":{
2999          "shape":"RendererType",
3000          "documentation":"<p>The renderer that is used in streaming sessions.</p>"
3001        },
3002        "statusReason":{
3003          "shape":"StatusReason",
3004          "documentation":"<p>A message that explains why the web portal is in its current status.</p>"
3005        },
3006        "trustStoreArn":{
3007          "shape":"ARN",
3008          "documentation":"<p>The ARN of the trust store that is associated with the web portal.</p>"
3009        },
3010        "userAccessLoggingSettingsArn":{
3011          "shape":"ARN",
3012          "documentation":"<p>The ARN of the user access logging settings that is associated with the web portal.</p>"
3013        },
3014        "userSettingsArn":{
3015          "shape":"ARN",
3016          "documentation":"<p>The ARN of the user settings that is associated with the web portal.</p>"
3017        }
3018      },
3019      "documentation":"<p>The web portal.</p>"
3020    },
3021    "PortalEndpoint":{
3022      "type":"string",
3023      "max":253,
3024      "min":1,
3025      "pattern":"^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$"
3026    },
3027    "PortalList":{
3028      "type":"list",
3029      "member":{"shape":"PortalSummary"}
3030    },
3031    "PortalStatus":{
3032      "type":"string",
3033      "enum":[
3034        "Incomplete",
3035        "Pending",
3036        "Active"
3037      ]
3038    },
3039    "PortalSummary":{
3040      "type":"structure",
3041      "required":["portalArn"],
3042      "members":{
3043        "authenticationType":{
3044          "shape":"AuthenticationType",
3045          "documentation":"<p>The type of authentication integration points used when signing into the web portal. Defaults to <code>Standard</code>.</p> <p> <code>Standard</code> web portals are authenticated directly through your identity provider. You need to call <code>CreateIdentityProvider</code> to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.</p> <p> <code>IAM_Identity_Center</code> web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.</p>"
3046        },
3047        "browserSettingsArn":{
3048          "shape":"ARN",
3049          "documentation":"<p>The ARN of the browser settings that is associated with the web portal.</p>"
3050        },
3051        "browserType":{
3052          "shape":"BrowserType",
3053          "documentation":"<p>The browser type of the web portal.</p>"
3054        },
3055        "creationDate":{
3056          "shape":"Timestamp",
3057          "documentation":"<p>The creation date of the web portal.</p>"
3058        },
3059        "displayName":{
3060          "shape":"DisplayName",
3061          "documentation":"<p>The name of the web portal.</p>"
3062        },
3063        "ipAccessSettingsArn":{
3064          "shape":"ARN",
3065          "documentation":"<p>The ARN of the IP access settings.</p>"
3066        },
3067        "networkSettingsArn":{
3068          "shape":"ARN",
3069          "documentation":"<p>The ARN of the network settings that is associated with the web portal.</p>"
3070        },
3071        "portalArn":{
3072          "shape":"ARN",
3073          "documentation":"<p>The ARN of the web portal.</p>"
3074        },
3075        "portalEndpoint":{
3076          "shape":"PortalEndpoint",
3077          "documentation":"<p>The endpoint URL of the web portal that users access in order to start streaming sessions.</p>"
3078        },
3079        "portalStatus":{
3080          "shape":"PortalStatus",
3081          "documentation":"<p>The status of the web portal.</p>"
3082        },
3083        "rendererType":{
3084          "shape":"RendererType",
3085          "documentation":"<p>The renderer that is used in streaming sessions.</p>"
3086        },
3087        "trustStoreArn":{
3088          "shape":"ARN",
3089          "documentation":"<p>The ARN of the trust that is associated with this web portal.</p>"
3090        },
3091        "userAccessLoggingSettingsArn":{
3092          "shape":"ARN",
3093          "documentation":"<p>The ARN of the user access logging settings that is associated with the web portal.</p>"
3094        },
3095        "userSettingsArn":{
3096          "shape":"ARN",
3097          "documentation":"<p>The ARN of the user settings that is associated with the web portal.</p>"
3098        }
3099      },
3100      "documentation":"<p>The summary of the portal.</p>"
3101    },
3102    "QuotaCode":{"type":"string"},
3103    "RendererType":{
3104      "type":"string",
3105      "enum":["AppStream"]
3106    },
3107    "ResourceId":{"type":"string"},
3108    "ResourceNotFoundException":{
3109      "type":"structure",
3110      "members":{
3111        "message":{"shape":"ExceptionMessage"},
3112        "resourceId":{
3113          "shape":"ResourceId",
3114          "documentation":"<p>Hypothetical identifier of the resource affected.</p>"
3115        },
3116        "resourceType":{
3117          "shape":"ResourceType",
3118          "documentation":"<p>Hypothetical type of the resource affected.</p>"
3119        }
3120      },
3121      "documentation":"<p>The resource cannot be found.</p>",
3122      "error":{
3123        "httpStatusCode":404,
3124        "senderFault":true
3125      },
3126      "exception":true
3127    },
3128    "ResourceType":{"type":"string"},
3129    "RetryAfterSeconds":{"type":"integer"},
3130    "SamlMetadata":{
3131      "type":"string",
3132      "max":204800,
3133      "min":1,
3134      "pattern":"^.+$"
3135    },
3136    "SecurityGroupId":{
3137      "type":"string",
3138      "max":128,
3139      "min":1,
3140      "pattern":"^[\\w+\\-]+$"
3141    },
3142    "SecurityGroupIdList":{
3143      "type":"list",
3144      "member":{"shape":"SecurityGroupId"},
3145      "max":5,
3146      "min":1
3147    },
3148    "ServiceCode":{"type":"string"},
3149    "ServiceQuotaExceededException":{
3150      "type":"structure",
3151      "members":{
3152        "message":{"shape":"ExceptionMessage"},
3153        "quotaCode":{
3154          "shape":"QuotaCode",
3155          "documentation":"<p>The originating quota.</p>"
3156        },
3157        "resourceId":{
3158          "shape":"ResourceId",
3159          "documentation":"<p>Identifier of the resource affected.</p>"
3160        },
3161        "resourceType":{
3162          "shape":"ResourceType",
3163          "documentation":"<p> Type of the resource affected.</p>"
3164        },
3165        "serviceCode":{
3166          "shape":"ServiceCode",
3167          "documentation":"<p>The originating service.</p>"
3168        }
3169      },
3170      "documentation":"<p>The service quota has been exceeded.</p>",
3171      "error":{
3172        "httpStatusCode":402,
3173        "senderFault":true
3174      },
3175      "exception":true
3176    },
3177    "StatusReason":{
3178      "type":"string",
3179      "max":1024,
3180      "min":1,
3181      "pattern":".*"
3182    },
3183    "StringType":{
3184      "type":"string",
3185      "max":131072,
3186      "min":0,
3187      "pattern":"^[\\s\\S]*$"
3188    },
3189    "SubnetId":{
3190      "type":"string",
3191      "max":32,
3192      "min":1,
3193      "pattern":"^subnet-([0-9a-f]{8}|[0-9a-f]{17})$"
3194    },
3195    "SubnetIdList":{
3196      "type":"list",
3197      "member":{"shape":"SubnetId"},
3198      "max":3,
3199      "min":2
3200    },
3201    "SubresourceARN":{
3202      "type":"string",
3203      "max":2048,
3204      "min":20,
3205      "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}){2,}$"
3206    },
3207    "Tag":{
3208      "type":"structure",
3209      "required":[
3210        "Key",
3211        "Value"
3212      ],
3213      "members":{
3214        "Key":{
3215          "shape":"TagKey",
3216          "documentation":"<p>The key of the tag.</p>"
3217        },
3218        "Value":{
3219          "shape":"TagValue",
3220          "documentation":"<p>The value of the tag</p>"
3221        }
3222      },
3223      "documentation":"<p>The tag.</p>",
3224      "sensitive":true
3225    },
3226    "TagExceptionMessage":{"type":"string"},
3227    "TagKey":{
3228      "type":"string",
3229      "max":128,
3230      "min":1,
3231      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
3232      "sensitive":true
3233    },
3234    "TagKeyList":{
3235      "type":"list",
3236      "member":{"shape":"TagKey"},
3237      "max":200,
3238      "min":0
3239    },
3240    "TagList":{
3241      "type":"list",
3242      "member":{"shape":"Tag"},
3243      "max":200,
3244      "min":0
3245    },
3246    "TagResourceRequest":{
3247      "type":"structure",
3248      "required":[
3249        "resourceArn",
3250        "tags"
3251      ],
3252      "members":{
3253        "clientToken":{
3254          "shape":"ClientToken",
3255          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3256          "idempotencyToken":true
3257        },
3258        "resourceArn":{
3259          "shape":"ARN",
3260          "documentation":"<p>The ARN of the resource.</p>",
3261          "location":"uri",
3262          "locationName":"resourceArn"
3263        },
3264        "tags":{
3265          "shape":"TagList",
3266          "documentation":"<p>The tags of the resource.</p>"
3267        }
3268      }
3269    },
3270    "TagResourceResponse":{
3271      "type":"structure",
3272      "members":{
3273      }
3274    },
3275    "TagValue":{
3276      "type":"string",
3277      "max":256,
3278      "min":0,
3279      "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
3280      "sensitive":true
3281    },
3282    "ThrottlingException":{
3283      "type":"structure",
3284      "members":{
3285        "message":{"shape":"ExceptionMessage"},
3286        "quotaCode":{
3287          "shape":"QuotaCode",
3288          "documentation":"<p>The originating quota.</p>"
3289        },
3290        "retryAfterSeconds":{
3291          "shape":"RetryAfterSeconds",
3292          "documentation":"<p>Advice to clients on when the call can be safely retried.</p>",
3293          "location":"header",
3294          "locationName":"Retry-After"
3295        },
3296        "serviceCode":{
3297          "shape":"ServiceCode",
3298          "documentation":"<p>The originating service.</p>"
3299        }
3300      },
3301      "documentation":"<p>There is a throttling error.</p>",
3302      "error":{
3303        "httpStatusCode":429,
3304        "senderFault":true
3305      },
3306      "exception":true
3307    },
3308    "Timestamp":{"type":"timestamp"},
3309    "TooManyTagsException":{
3310      "type":"structure",
3311      "members":{
3312        "message":{"shape":"TagExceptionMessage"},
3313        "resourceName":{
3314          "shape":"ARN",
3315          "documentation":"<p>Name of the resource affected.</p>"
3316        }
3317      },
3318      "documentation":"<p>There are too many tags.</p>",
3319      "error":{
3320        "httpStatusCode":400,
3321        "senderFault":true
3322      },
3323      "exception":true
3324    },
3325    "TrustStore":{
3326      "type":"structure",
3327      "required":["trustStoreArn"],
3328      "members":{
3329        "associatedPortalArns":{
3330          "shape":"ArnList",
3331          "documentation":"<p>A list of web portal ARNs that this trust store is associated with.</p>"
3332        },
3333        "trustStoreArn":{
3334          "shape":"ARN",
3335          "documentation":"<p>The ARN of the trust store.</p>"
3336        }
3337      },
3338      "documentation":"<p>A trust store that can be associated with a web portal. A trust store contains certificate authority (CA) certificates. Once associated with a web portal, the browser in a streaming session will recognize certificates that have been issued using any of the CAs in the trust store. If your organization has internal websites that use certificates issued by private CAs, you should add the private CA certificate to the trust store. </p>"
3339    },
3340    "TrustStoreSummary":{
3341      "type":"structure",
3342      "members":{
3343        "trustStoreArn":{
3344          "shape":"ARN",
3345          "documentation":"<p>The ARN of the trust store.</p>"
3346        }
3347      },
3348      "documentation":"<p>The summary of the trust store.</p>"
3349    },
3350    "TrustStoreSummaryList":{
3351      "type":"list",
3352      "member":{"shape":"TrustStoreSummary"}
3353    },
3354    "UntagResourceRequest":{
3355      "type":"structure",
3356      "required":[
3357        "resourceArn",
3358        "tagKeys"
3359      ],
3360      "members":{
3361        "resourceArn":{
3362          "shape":"ARN",
3363          "documentation":"<p>The ARN of the resource.</p>",
3364          "location":"uri",
3365          "locationName":"resourceArn"
3366        },
3367        "tagKeys":{
3368          "shape":"TagKeyList",
3369          "documentation":"<p>The list of tag keys to remove from the resource.</p>",
3370          "location":"querystring",
3371          "locationName":"tagKeys"
3372        }
3373      }
3374    },
3375    "UntagResourceResponse":{
3376      "type":"structure",
3377      "members":{
3378      }
3379    },
3380    "UpdateBrowserSettingsRequest":{
3381      "type":"structure",
3382      "required":["browserSettingsArn"],
3383      "members":{
3384        "browserPolicy":{
3385          "shape":"BrowserPolicy",
3386          "documentation":"<p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions. </p>"
3387        },
3388        "browserSettingsArn":{
3389          "shape":"ARN",
3390          "documentation":"<p>The ARN of the browser settings.</p>",
3391          "location":"uri",
3392          "locationName":"browserSettingsArn"
3393        },
3394        "clientToken":{
3395          "shape":"ClientToken",
3396          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3397          "idempotencyToken":true
3398        }
3399      }
3400    },
3401    "UpdateBrowserSettingsResponse":{
3402      "type":"structure",
3403      "required":["browserSettings"],
3404      "members":{
3405        "browserSettings":{
3406          "shape":"BrowserSettings",
3407          "documentation":"<p>The browser settings.</p>"
3408        }
3409      }
3410    },
3411    "UpdateIdentityProviderRequest":{
3412      "type":"structure",
3413      "required":["identityProviderArn"],
3414      "members":{
3415        "clientToken":{
3416          "shape":"ClientToken",
3417          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3418          "idempotencyToken":true
3419        },
3420        "identityProviderArn":{
3421          "shape":"SubresourceARN",
3422          "documentation":"<p>The ARN of the identity provider.</p>",
3423          "location":"uri",
3424          "locationName":"identityProviderArn"
3425        },
3426        "identityProviderDetails":{
3427          "shape":"IdentityProviderDetails",
3428          "documentation":"<p>The details of the identity provider. The following list describes the provider detail keys for each identity provider type. </p> <ul> <li> <p>For Google and Login with Amazon:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For Facebook:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>api_version</code> </p> </li> </ul> </li> <li> <p>For Sign in with Apple:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>team_id</code> </p> </li> <li> <p> <code>key_id</code> </p> </li> <li> <p> <code>private_key</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> </ul> </li> <li> <p>For OIDC providers:</p> <ul> <li> <p> <code>client_id</code> </p> </li> <li> <p> <code>client_secret</code> </p> </li> <li> <p> <code>attributes_request_method</code> </p> </li> <li> <p> <code>oidc_issuer</code> </p> </li> <li> <p> <code>authorize_scopes</code> </p> </li> <li> <p> <code>authorize_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>token_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>attributes_url</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> <li> <p> <code>jwks_uri</code> <i>if not available from discovery URL specified by <code>oidc_issuer</code> key</i> </p> </li> </ul> </li> <li> <p>For SAML providers:</p> <ul> <li> <p> <code>MetadataFile</code> OR <code>MetadataURL</code> </p> </li> <li> <p> <code>IDPSignout</code> (boolean) <i>optional</i> </p> </li> </ul> </li> </ul>"
3429        },
3430        "identityProviderName":{
3431          "shape":"IdentityProviderName",
3432          "documentation":"<p>The name of the identity provider.</p>"
3433        },
3434        "identityProviderType":{
3435          "shape":"IdentityProviderType",
3436          "documentation":"<p>The type of the identity provider.</p>"
3437        }
3438      }
3439    },
3440    "UpdateIdentityProviderResponse":{
3441      "type":"structure",
3442      "required":["identityProvider"],
3443      "members":{
3444        "identityProvider":{
3445          "shape":"IdentityProvider",
3446          "documentation":"<p>The identity provider.</p>"
3447        }
3448      }
3449    },
3450    "UpdateIpAccessSettingsRequest":{
3451      "type":"structure",
3452      "required":["ipAccessSettingsArn"],
3453      "members":{
3454        "clientToken":{
3455          "shape":"ClientToken",
3456          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3457          "idempotencyToken":true
3458        },
3459        "description":{
3460          "shape":"Description",
3461          "documentation":"<p>The description of the IP access settings.</p>"
3462        },
3463        "displayName":{
3464          "shape":"DisplayName",
3465          "documentation":"<p>The display name of the IP access settings.</p>"
3466        },
3467        "ipAccessSettingsArn":{
3468          "shape":"ARN",
3469          "documentation":"<p>The ARN of the IP access settings.</p>",
3470          "location":"uri",
3471          "locationName":"ipAccessSettingsArn"
3472        },
3473        "ipRules":{
3474          "shape":"IpRuleList",
3475          "documentation":"<p>The updated IP rules of the IP access settings.</p>"
3476        }
3477      }
3478    },
3479    "UpdateIpAccessSettingsResponse":{
3480      "type":"structure",
3481      "required":["ipAccessSettings"],
3482      "members":{
3483        "ipAccessSettings":{
3484          "shape":"IpAccessSettings",
3485          "documentation":"<p>The IP access settings.</p>"
3486        }
3487      }
3488    },
3489    "UpdateNetworkSettingsRequest":{
3490      "type":"structure",
3491      "required":["networkSettingsArn"],
3492      "members":{
3493        "clientToken":{
3494          "shape":"ClientToken",
3495          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3496          "idempotencyToken":true
3497        },
3498        "networkSettingsArn":{
3499          "shape":"ARN",
3500          "documentation":"<p>The ARN of the network settings.</p>",
3501          "location":"uri",
3502          "locationName":"networkSettingsArn"
3503        },
3504        "securityGroupIds":{
3505          "shape":"SecurityGroupIdList",
3506          "documentation":"<p>One or more security groups used to control access from streaming instances to your VPC.</p>"
3507        },
3508        "subnetIds":{
3509          "shape":"SubnetIdList",
3510          "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>"
3511        },
3512        "vpcId":{
3513          "shape":"VpcId",
3514          "documentation":"<p>The VPC that streaming instances will connect to.</p>"
3515        }
3516      }
3517    },
3518    "UpdateNetworkSettingsResponse":{
3519      "type":"structure",
3520      "required":["networkSettings"],
3521      "members":{
3522        "networkSettings":{
3523          "shape":"NetworkSettings",
3524          "documentation":"<p>The network settings.</p>"
3525        }
3526      }
3527    },
3528    "UpdatePortalRequest":{
3529      "type":"structure",
3530      "required":["portalArn"],
3531      "members":{
3532        "authenticationType":{
3533          "shape":"AuthenticationType",
3534          "documentation":"<p>The type of authentication integration points used when signing into the web portal. Defaults to <code>Standard</code>.</p> <p> <code>Standard</code> web portals are authenticated directly through your identity provider. You need to call <code>CreateIdentityProvider</code> to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.</p> <p> <code>IAM_Identity_Center</code> web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.</p>"
3535        },
3536        "displayName":{
3537          "shape":"DisplayName",
3538          "documentation":"<p>The name of the web portal. This is not visible to users who log into the web portal.</p>"
3539        },
3540        "portalArn":{
3541          "shape":"ARN",
3542          "documentation":"<p>The ARN of the web portal.</p>",
3543          "location":"uri",
3544          "locationName":"portalArn"
3545        }
3546      }
3547    },
3548    "UpdatePortalResponse":{
3549      "type":"structure",
3550      "members":{
3551        "portal":{
3552          "shape":"Portal",
3553          "documentation":"<p>The web portal.</p>"
3554        }
3555      }
3556    },
3557    "UpdateTrustStoreRequest":{
3558      "type":"structure",
3559      "required":["trustStoreArn"],
3560      "members":{
3561        "certificatesToAdd":{
3562          "shape":"CertificateList",
3563          "documentation":"<p>A list of CA certificates to add to the trust store.</p>"
3564        },
3565        "certificatesToDelete":{
3566          "shape":"CertificateThumbprintList",
3567          "documentation":"<p>A list of CA certificates to delete from a trust store.</p>"
3568        },
3569        "clientToken":{
3570          "shape":"ClientToken",
3571          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3572          "idempotencyToken":true
3573        },
3574        "trustStoreArn":{
3575          "shape":"ARN",
3576          "documentation":"<p>The ARN of the trust store.</p>",
3577          "location":"uri",
3578          "locationName":"trustStoreArn"
3579        }
3580      }
3581    },
3582    "UpdateTrustStoreResponse":{
3583      "type":"structure",
3584      "required":["trustStoreArn"],
3585      "members":{
3586        "trustStoreArn":{
3587          "shape":"ARN",
3588          "documentation":"<p>The ARN of the trust store.</p>"
3589        }
3590      }
3591    },
3592    "UpdateUserAccessLoggingSettingsRequest":{
3593      "type":"structure",
3594      "required":["userAccessLoggingSettingsArn"],
3595      "members":{
3596        "clientToken":{
3597          "shape":"ClientToken",
3598          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3599          "idempotencyToken":true
3600        },
3601        "kinesisStreamArn":{
3602          "shape":"KinesisStreamArn",
3603          "documentation":"<p>The ARN of the Kinesis stream.</p>"
3604        },
3605        "userAccessLoggingSettingsArn":{
3606          "shape":"ARN",
3607          "documentation":"<p>The ARN of the user access logging settings.</p>",
3608          "location":"uri",
3609          "locationName":"userAccessLoggingSettingsArn"
3610        }
3611      }
3612    },
3613    "UpdateUserAccessLoggingSettingsResponse":{
3614      "type":"structure",
3615      "required":["userAccessLoggingSettings"],
3616      "members":{
3617        "userAccessLoggingSettings":{
3618          "shape":"UserAccessLoggingSettings",
3619          "documentation":"<p>The user access logging settings.</p>"
3620        }
3621      }
3622    },
3623    "UpdateUserSettingsRequest":{
3624      "type":"structure",
3625      "required":["userSettingsArn"],
3626      "members":{
3627        "clientToken":{
3628          "shape":"ClientToken",
3629          "documentation":"<p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request. </p> <p>If you do not specify a client token, one is automatically generated by the AWS SDK.</p>",
3630          "idempotencyToken":true
3631        },
3632        "cookieSynchronizationConfiguration":{
3633          "shape":"CookieSynchronizationConfiguration",
3634          "documentation":"<p>The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.</p> <p>If the allowlist and blocklist are empty, the configuration becomes null.</p>"
3635        },
3636        "copyAllowed":{
3637          "shape":"EnabledType",
3638          "documentation":"<p>Specifies whether the user can copy text from the streaming session to the local device.</p>"
3639        },
3640        "disconnectTimeoutInMinutes":{
3641          "shape":"DisconnectTimeoutInMinutes",
3642          "documentation":"<p>The amount of time that a streaming session remains active after users disconnect.</p>"
3643        },
3644        "downloadAllowed":{
3645          "shape":"EnabledType",
3646          "documentation":"<p>Specifies whether the user can download files from the streaming session to the local device.</p>"
3647        },
3648        "idleDisconnectTimeoutInMinutes":{
3649          "shape":"IdleDisconnectTimeoutInMinutes",
3650          "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>"
3651        },
3652        "pasteAllowed":{
3653          "shape":"EnabledType",
3654          "documentation":"<p>Specifies whether the user can paste text from the local device to the streaming session.</p>"
3655        },
3656        "printAllowed":{
3657          "shape":"EnabledType",
3658          "documentation":"<p>Specifies whether the user can print to the local device.</p>"
3659        },
3660        "uploadAllowed":{
3661          "shape":"EnabledType",
3662          "documentation":"<p>Specifies whether the user can upload files from the local device to the streaming session.</p>"
3663        },
3664        "userSettingsArn":{
3665          "shape":"ARN",
3666          "documentation":"<p>The ARN of the user settings.</p>",
3667          "location":"uri",
3668          "locationName":"userSettingsArn"
3669        }
3670      }
3671    },
3672    "UpdateUserSettingsResponse":{
3673      "type":"structure",
3674      "required":["userSettings"],
3675      "members":{
3676        "userSettings":{
3677          "shape":"UserSettings",
3678          "documentation":"<p>The user settings.</p>"
3679        }
3680      }
3681    },
3682    "UserAccessLoggingSettings":{
3683      "type":"structure",
3684      "required":["userAccessLoggingSettingsArn"],
3685      "members":{
3686        "associatedPortalArns":{
3687          "shape":"ArnList",
3688          "documentation":"<p>A list of web portal ARNs that this user access logging settings is associated with.</p>"
3689        },
3690        "kinesisStreamArn":{
3691          "shape":"KinesisStreamArn",
3692          "documentation":"<p>The ARN of the Kinesis stream.</p>"
3693        },
3694        "userAccessLoggingSettingsArn":{
3695          "shape":"ARN",
3696          "documentation":"<p>The ARN of the user access logging settings.</p>"
3697        }
3698      },
3699      "documentation":"<p>A user access logging settings resource that can be associated with a web portal.</p>"
3700    },
3701    "UserAccessLoggingSettingsList":{
3702      "type":"list",
3703      "member":{"shape":"UserAccessLoggingSettingsSummary"}
3704    },
3705    "UserAccessLoggingSettingsSummary":{
3706      "type":"structure",
3707      "required":["userAccessLoggingSettingsArn"],
3708      "members":{
3709        "kinesisStreamArn":{
3710          "shape":"KinesisStreamArn",
3711          "documentation":"<p>The ARN of the Kinesis stream.</p>"
3712        },
3713        "userAccessLoggingSettingsArn":{
3714          "shape":"ARN",
3715          "documentation":"<p>The ARN of the user access logging settings.</p>"
3716        }
3717      },
3718      "documentation":"<p>The summary of user access logging settings.</p>"
3719    },
3720    "UserSettings":{
3721      "type":"structure",
3722      "required":["userSettingsArn"],
3723      "members":{
3724        "associatedPortalArns":{
3725          "shape":"ArnList",
3726          "documentation":"<p>A list of web portal ARNs that this user settings is associated with.</p>"
3727        },
3728        "cookieSynchronizationConfiguration":{
3729          "shape":"CookieSynchronizationConfiguration",
3730          "documentation":"<p>The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.</p>"
3731        },
3732        "copyAllowed":{
3733          "shape":"EnabledType",
3734          "documentation":"<p>Specifies whether the user can copy text from the streaming session to the local device.</p>"
3735        },
3736        "disconnectTimeoutInMinutes":{
3737          "shape":"DisconnectTimeoutInMinutes",
3738          "documentation":"<p>The amount of time that a streaming session remains active after users disconnect.</p>"
3739        },
3740        "downloadAllowed":{
3741          "shape":"EnabledType",
3742          "documentation":"<p>Specifies whether the user can download files from the streaming session to the local device.</p>"
3743        },
3744        "idleDisconnectTimeoutInMinutes":{
3745          "shape":"IdleDisconnectTimeoutInMinutes",
3746          "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>"
3747        },
3748        "pasteAllowed":{
3749          "shape":"EnabledType",
3750          "documentation":"<p>Specifies whether the user can paste text from the local device to the streaming session.</p>"
3751        },
3752        "printAllowed":{
3753          "shape":"EnabledType",
3754          "documentation":"<p>Specifies whether the user can print to the local device.</p>"
3755        },
3756        "uploadAllowed":{
3757          "shape":"EnabledType",
3758          "documentation":"<p>Specifies whether the user can upload files from the local device to the streaming session.</p>"
3759        },
3760        "userSettingsArn":{
3761          "shape":"ARN",
3762          "documentation":"<p>The ARN of the user settings.</p>"
3763        }
3764      },
3765      "documentation":"<p>A user settings resource that can be associated with a web portal. Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices. </p>"
3766    },
3767    "UserSettingsList":{
3768      "type":"list",
3769      "member":{"shape":"UserSettingsSummary"}
3770    },
3771    "UserSettingsSummary":{
3772      "type":"structure",
3773      "required":["userSettingsArn"],
3774      "members":{
3775        "cookieSynchronizationConfiguration":{
3776          "shape":"CookieSynchronizationConfiguration",
3777          "documentation":"<p>The configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser.</p>"
3778        },
3779        "copyAllowed":{
3780          "shape":"EnabledType",
3781          "documentation":"<p>Specifies whether the user can copy text from the streaming session to the local device.</p>"
3782        },
3783        "disconnectTimeoutInMinutes":{
3784          "shape":"DisconnectTimeoutInMinutes",
3785          "documentation":"<p>The amount of time that a streaming session remains active after users disconnect.</p>"
3786        },
3787        "downloadAllowed":{
3788          "shape":"EnabledType",
3789          "documentation":"<p>Specifies whether the user can download files from the streaming session to the local device.</p>"
3790        },
3791        "idleDisconnectTimeoutInMinutes":{
3792          "shape":"IdleDisconnectTimeoutInMinutes",
3793          "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>"
3794        },
3795        "pasteAllowed":{
3796          "shape":"EnabledType",
3797          "documentation":"<p>Specifies whether the user can paste text from the local device to the streaming session.</p>"
3798        },
3799        "printAllowed":{
3800          "shape":"EnabledType",
3801          "documentation":"<p>Specifies whether the user can print to the local device.</p>"
3802        },
3803        "uploadAllowed":{
3804          "shape":"EnabledType",
3805          "documentation":"<p>Specifies whether the user can upload files from the local device to the streaming session.</p>"
3806        },
3807        "userSettingsArn":{
3808          "shape":"ARN",
3809          "documentation":"<p>The ARN of the user settings.</p>"
3810        }
3811      },
3812      "documentation":"<p>The summary of user settings.</p>"
3813    },
3814    "ValidationException":{
3815      "type":"structure",
3816      "members":{
3817        "fieldList":{
3818          "shape":"ValidationExceptionFieldList",
3819          "documentation":"<p>The field that caused the error.</p>"
3820        },
3821        "message":{"shape":"ExceptionMessage"},
3822        "reason":{
3823          "shape":"ValidationExceptionReason",
3824          "documentation":"<p>Reason the request failed validation</p>"
3825        }
3826      },
3827      "documentation":"<p>There is a validation error.</p>",
3828      "error":{
3829        "httpStatusCode":400,
3830        "senderFault":true
3831      },
3832      "exception":true
3833    },
3834    "ValidationExceptionField":{
3835      "type":"structure",
3836      "required":[
3837        "message",
3838        "name"
3839      ],
3840      "members":{
3841        "message":{
3842          "shape":"ExceptionMessage",
3843          "documentation":"<p>The message describing why the field failed validation.</p>"
3844        },
3845        "name":{
3846          "shape":"FieldName",
3847          "documentation":"<p>The name of the field that failed validation.</p>"
3848        }
3849      },
3850      "documentation":"<p>Information about a field passed inside a request that resulted in an exception.</p>"
3851    },
3852    "ValidationExceptionFieldList":{
3853      "type":"list",
3854      "member":{"shape":"ValidationExceptionField"}
3855    },
3856    "ValidationExceptionReason":{
3857      "type":"string",
3858      "enum":[
3859        "unknownOperation",
3860        "cannotParse",
3861        "fieldValidationFailed",
3862        "other"
3863      ]
3864    },
3865    "VpcId":{
3866      "type":"string",
3867      "max":255,
3868      "min":1,
3869      "pattern":"^vpc-[0-9a-z]*$"
3870    },
3871    "keyArn":{
3872      "type":"string",
3873      "max":2048,
3874      "min":20,
3875      "pattern":"^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$"
3876    }
3877  },
3878  "documentation":"<p>WorkSpaces Web is a low cost, fully managed WorkSpace built specifically to facilitate secure, web-based workloads. WorkSpaces Web makes it easy for customers to safely provide their employees with access to internal websites and SaaS web applications without the administrative burden of appliances or specialized client software. WorkSpaces Web provides simple policy tools tailored for user interactions, while offloading common tasks like capacity management, scaling, and maintaining browser images.</p>"
3879}
3880