aws-sdk-appstream 1.61.0 → 1.62.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7301a338bd9b1321086060d0b6a5f972fd809cb5e26a93f67515619a898ca9ea
4
- data.tar.gz: defd85ba8aff4341df55d7c2ce2b04791c8a923e27eac0d83e26ce61b2289969
3
+ metadata.gz: 5286361558a629d2aa373a1492b8780846ea84ac41768f14cd4ab4bd118173ed
4
+ data.tar.gz: 0d9f6580842eb2989f14dae689409f72bef4c29dc1c3ca8b8858b28e4213843b
5
5
  SHA512:
6
- metadata.gz: d8bc6f2a9bb2e5e2cb03737ba3a8689d84f7ca76237c2d5aea0f106e2376d87c75c1d5ed47b09828c628c946ad68e629a8817e7e081e3805b1871cdd44594dfd
7
- data.tar.gz: '084204fcb57c1be88e9a052f362a6de658cc07226a01ec468e4e2c54ff4e4cf489a4eaf11dee56e4a097b14520f9cfe05a02bd6e616cccef639d85c75de39ed0'
6
+ metadata.gz: 9cf0a0ab5623411f3d6e64bb4f617e8959c50f8b688f92313af93eab9cc7dece7693577ccf5d0246f111ca4b35a6676f84ff954cff07d1dd8430c6e6e6beb116
7
+ data.tar.gz: d5c188dd3dca8375e8e9c3639f6ee0ed312a9cb7581ae9d3eedbfbee9193de0045a7f43a9d91cfa74911a44b39b14e1b86d2c0f146abe81126fd0b6697489b5f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.62.0 (2022-01-05)
5
+ ------------------
6
+
7
+ * Feature - Includes APIs for App Entitlement management regarding entitlement and entitled application association.
8
+
4
9
  1.61.0 (2021-12-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.61.0
1
+ 1.62.0
@@ -391,6 +391,36 @@ module Aws::AppStream
391
391
  req.send_request(options)
392
392
  end
393
393
 
394
+ # Associates an application to entitle.
395
+ #
396
+ # @option params [required, String] :stack_name
397
+ # The name of the stack.
398
+ #
399
+ # @option params [required, String] :entitlement_name
400
+ # The name of the entitlement.
401
+ #
402
+ # @option params [required, String] :application_identifier
403
+ # The identifier of the application.
404
+ #
405
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
406
+ #
407
+ # @example Request syntax with placeholder values
408
+ #
409
+ # resp = client.associate_application_to_entitlement({
410
+ # stack_name: "Name", # required
411
+ # entitlement_name: "Name", # required
412
+ # application_identifier: "String", # required
413
+ # })
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationToEntitlement AWS API Documentation
416
+ #
417
+ # @overload associate_application_to_entitlement(params = {})
418
+ # @param [Hash] params ({})
419
+ def associate_application_to_entitlement(params = {}, options = {})
420
+ req = build_request(:associate_application_to_entitlement, params)
421
+ req.send_request(options)
422
+ end
423
+
394
424
  # Associates the specified fleet with the specified stack.
395
425
  #
396
426
  # @option params [required, String] :fleet_name
@@ -781,6 +811,69 @@ module Aws::AppStream
781
811
  req.send_request(options)
782
812
  end
783
813
 
814
+ # Creates a new entitlement. Entitlements control access to specific
815
+ # applications within a stack, based on user attributes. Entitlements
816
+ # apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user
817
+ # pool and streaming URL users are entitled to all applications in a
818
+ # stack. Entitlements don't apply to the desktop stream view
819
+ # application, or to applications managed by a dynamic app provider
820
+ # using the Dynamic Application Framework.
821
+ #
822
+ # @option params [required, String] :name
823
+ # The name of the entitlement.
824
+ #
825
+ # @option params [required, String] :stack_name
826
+ # The name of the stack with which the entitlement is associated.
827
+ #
828
+ # @option params [String] :description
829
+ # The description of the entitlement.
830
+ #
831
+ # @option params [required, String] :app_visibility
832
+ # Specifies whether all or selected apps are entitled.
833
+ #
834
+ # @option params [required, Array<Types::EntitlementAttribute>] :attributes
835
+ # The attributes of the entitlement.
836
+ #
837
+ # @return [Types::CreateEntitlementResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
838
+ #
839
+ # * {Types::CreateEntitlementResult#entitlement #entitlement} => Types::Entitlement
840
+ #
841
+ # @example Request syntax with placeholder values
842
+ #
843
+ # resp = client.create_entitlement({
844
+ # name: "Name", # required
845
+ # stack_name: "Name", # required
846
+ # description: "Description",
847
+ # app_visibility: "ALL", # required, accepts ALL, ASSOCIATED
848
+ # attributes: [ # required
849
+ # {
850
+ # name: "String", # required
851
+ # value: "String", # required
852
+ # },
853
+ # ],
854
+ # })
855
+ #
856
+ # @example Response structure
857
+ #
858
+ # resp.entitlement.name #=> String
859
+ # resp.entitlement.stack_name #=> String
860
+ # resp.entitlement.description #=> String
861
+ # resp.entitlement.app_visibility #=> String, one of "ALL", "ASSOCIATED"
862
+ # resp.entitlement.attributes #=> Array
863
+ # resp.entitlement.attributes[0].name #=> String
864
+ # resp.entitlement.attributes[0].value #=> String
865
+ # resp.entitlement.created_time #=> Time
866
+ # resp.entitlement.last_modified_time #=> Time
867
+ #
868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateEntitlement AWS API Documentation
869
+ #
870
+ # @overload create_entitlement(params = {})
871
+ # @param [Hash] params ({})
872
+ def create_entitlement(params = {}, options = {})
873
+ req = build_request(:create_entitlement, params)
874
+ req.send_request(options)
875
+ end
876
+
784
877
  # Creates a fleet. A fleet consists of streaming instances that run a
785
878
  # specified image when using Always-On or On-Demand.
786
879
  #
@@ -1826,6 +1919,32 @@ module Aws::AppStream
1826
1919
  req.send_request(options)
1827
1920
  end
1828
1921
 
1922
+ # Deletes the specified entitlement.
1923
+ #
1924
+ # @option params [required, String] :name
1925
+ # The name of the entitlement.
1926
+ #
1927
+ # @option params [required, String] :stack_name
1928
+ # The name of the stack with which the entitlement is associated.
1929
+ #
1930
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1931
+ #
1932
+ # @example Request syntax with placeholder values
1933
+ #
1934
+ # resp = client.delete_entitlement({
1935
+ # name: "Name", # required
1936
+ # stack_name: "Name", # required
1937
+ # })
1938
+ #
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteEntitlement AWS API Documentation
1940
+ #
1941
+ # @overload delete_entitlement(params = {})
1942
+ # @param [Hash] params ({})
1943
+ def delete_entitlement(params = {}, options = {})
1944
+ req = build_request(:delete_entitlement, params)
1945
+ req.send_request(options)
1946
+ end
1947
+
1829
1948
  # Deletes the specified fleet.
1830
1949
  #
1831
1950
  # @option params [required, String] :name
@@ -2279,6 +2398,58 @@ module Aws::AppStream
2279
2398
  req.send_request(options)
2280
2399
  end
2281
2400
 
2401
+ # Retrieves a list that describes one of more entitlements.
2402
+ #
2403
+ # @option params [String] :name
2404
+ # The name of the entitlement.
2405
+ #
2406
+ # @option params [required, String] :stack_name
2407
+ # The name of the stack with which the entitlement is associated.
2408
+ #
2409
+ # @option params [String] :next_token
2410
+ # The pagination token used to retrieve the next page of results for
2411
+ # this operation.
2412
+ #
2413
+ # @option params [Integer] :max_results
2414
+ # The maximum size of each page of results.
2415
+ #
2416
+ # @return [Types::DescribeEntitlementsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2417
+ #
2418
+ # * {Types::DescribeEntitlementsResult#entitlements #entitlements} => Array&lt;Types::Entitlement&gt;
2419
+ # * {Types::DescribeEntitlementsResult#next_token #next_token} => String
2420
+ #
2421
+ # @example Request syntax with placeholder values
2422
+ #
2423
+ # resp = client.describe_entitlements({
2424
+ # name: "Name",
2425
+ # stack_name: "Name", # required
2426
+ # next_token: "String",
2427
+ # max_results: 1,
2428
+ # })
2429
+ #
2430
+ # @example Response structure
2431
+ #
2432
+ # resp.entitlements #=> Array
2433
+ # resp.entitlements[0].name #=> String
2434
+ # resp.entitlements[0].stack_name #=> String
2435
+ # resp.entitlements[0].description #=> String
2436
+ # resp.entitlements[0].app_visibility #=> String, one of "ALL", "ASSOCIATED"
2437
+ # resp.entitlements[0].attributes #=> Array
2438
+ # resp.entitlements[0].attributes[0].name #=> String
2439
+ # resp.entitlements[0].attributes[0].value #=> String
2440
+ # resp.entitlements[0].created_time #=> Time
2441
+ # resp.entitlements[0].last_modified_time #=> Time
2442
+ # resp.next_token #=> String
2443
+ #
2444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeEntitlements AWS API Documentation
2445
+ #
2446
+ # @overload describe_entitlements(params = {})
2447
+ # @param [Hash] params ({})
2448
+ def describe_entitlements(params = {}, options = {})
2449
+ req = build_request(:describe_entitlements, params)
2450
+ req.send_request(options)
2451
+ end
2452
+
2282
2453
  # Retrieves a list that describes one or more specified fleets, if the
2283
2454
  # fleet names are provided. Otherwise, all fleets in the account are
2284
2455
  # described.
@@ -2914,6 +3085,36 @@ module Aws::AppStream
2914
3085
  req.send_request(options)
2915
3086
  end
2916
3087
 
3088
+ # Deletes the specified application from the specified entitlement.
3089
+ #
3090
+ # @option params [required, String] :stack_name
3091
+ # The name of the stack with which the entitlement is associated.
3092
+ #
3093
+ # @option params [required, String] :entitlement_name
3094
+ # The name of the entitlement.
3095
+ #
3096
+ # @option params [required, String] :application_identifier
3097
+ # The identifier of the application to remove from the entitlement.
3098
+ #
3099
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3100
+ #
3101
+ # @example Request syntax with placeholder values
3102
+ #
3103
+ # resp = client.disassociate_application_from_entitlement({
3104
+ # stack_name: "Name", # required
3105
+ # entitlement_name: "Name", # required
3106
+ # application_identifier: "String", # required
3107
+ # })
3108
+ #
3109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFromEntitlement AWS API Documentation
3110
+ #
3111
+ # @overload disassociate_application_from_entitlement(params = {})
3112
+ # @param [Hash] params ({})
3113
+ def disassociate_application_from_entitlement(params = {}, options = {})
3114
+ req = build_request(:disassociate_application_from_entitlement, params)
3115
+ req.send_request(options)
3116
+ end
3117
+
2917
3118
  # Disassociates the specified fleet from the specified stack.
2918
3119
  #
2919
3120
  # @option params [required, String] :fleet_name
@@ -3071,6 +3272,50 @@ module Aws::AppStream
3071
3272
  req.send_request(options)
3072
3273
  end
3073
3274
 
3275
+ # Retrieves a list of entitled applications.
3276
+ #
3277
+ # @option params [required, String] :stack_name
3278
+ # The name of the stack with which the entitlement is associated.
3279
+ #
3280
+ # @option params [required, String] :entitlement_name
3281
+ # The name of the entitlement.
3282
+ #
3283
+ # @option params [String] :next_token
3284
+ # The pagination token used to retrieve the next page of results for
3285
+ # this operation.
3286
+ #
3287
+ # @option params [Integer] :max_results
3288
+ # The maximum size of each page of results.
3289
+ #
3290
+ # @return [Types::ListEntitledApplicationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3291
+ #
3292
+ # * {Types::ListEntitledApplicationsResult#entitled_applications #entitled_applications} => Array&lt;Types::EntitledApplication&gt;
3293
+ # * {Types::ListEntitledApplicationsResult#next_token #next_token} => String
3294
+ #
3295
+ # @example Request syntax with placeholder values
3296
+ #
3297
+ # resp = client.list_entitled_applications({
3298
+ # stack_name: "Name", # required
3299
+ # entitlement_name: "Name", # required
3300
+ # next_token: "String",
3301
+ # max_results: 1,
3302
+ # })
3303
+ #
3304
+ # @example Response structure
3305
+ #
3306
+ # resp.entitled_applications #=> Array
3307
+ # resp.entitled_applications[0].application_identifier #=> String
3308
+ # resp.next_token #=> String
3309
+ #
3310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListEntitledApplications AWS API Documentation
3311
+ #
3312
+ # @overload list_entitled_applications(params = {})
3313
+ # @param [Hash] params ({})
3314
+ def list_entitled_applications(params = {}, options = {})
3315
+ req = build_request(:list_entitled_applications, params)
3316
+ req.send_request(options)
3317
+ end
3318
+
3074
3319
  # Retrieves a list of all tags for the specified AppStream 2.0 resource.
3075
3320
  # You can tag AppStream 2.0 image builders, images, fleets, and stacks.
3076
3321
  #
@@ -3489,6 +3734,63 @@ module Aws::AppStream
3489
3734
  req.send_request(options)
3490
3735
  end
3491
3736
 
3737
+ # Updates the specified entitlement.
3738
+ #
3739
+ # @option params [required, String] :name
3740
+ # The name of the entitlement.
3741
+ #
3742
+ # @option params [required, String] :stack_name
3743
+ # The name of the stack with which the entitlement is associated.
3744
+ #
3745
+ # @option params [String] :description
3746
+ # The description of the entitlement.
3747
+ #
3748
+ # @option params [String] :app_visibility
3749
+ # Specifies whether all or only selected apps are entitled.
3750
+ #
3751
+ # @option params [Array<Types::EntitlementAttribute>] :attributes
3752
+ # The attributes of the entitlement.
3753
+ #
3754
+ # @return [Types::UpdateEntitlementResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3755
+ #
3756
+ # * {Types::UpdateEntitlementResult#entitlement #entitlement} => Types::Entitlement
3757
+ #
3758
+ # @example Request syntax with placeholder values
3759
+ #
3760
+ # resp = client.update_entitlement({
3761
+ # name: "Name", # required
3762
+ # stack_name: "Name", # required
3763
+ # description: "Description",
3764
+ # app_visibility: "ALL", # accepts ALL, ASSOCIATED
3765
+ # attributes: [
3766
+ # {
3767
+ # name: "String", # required
3768
+ # value: "String", # required
3769
+ # },
3770
+ # ],
3771
+ # })
3772
+ #
3773
+ # @example Response structure
3774
+ #
3775
+ # resp.entitlement.name #=> String
3776
+ # resp.entitlement.stack_name #=> String
3777
+ # resp.entitlement.description #=> String
3778
+ # resp.entitlement.app_visibility #=> String, one of "ALL", "ASSOCIATED"
3779
+ # resp.entitlement.attributes #=> Array
3780
+ # resp.entitlement.attributes[0].name #=> String
3781
+ # resp.entitlement.attributes[0].value #=> String
3782
+ # resp.entitlement.created_time #=> Time
3783
+ # resp.entitlement.last_modified_time #=> Time
3784
+ #
3785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateEntitlement AWS API Documentation
3786
+ #
3787
+ # @overload update_entitlement(params = {})
3788
+ # @param [Hash] params ({})
3789
+ def update_entitlement(params = {}, options = {})
3790
+ req = build_request(:update_entitlement, params)
3791
+ req.send_request(options)
3792
+ end
3793
+
3492
3794
  # Updates the specified fleet.
3493
3795
  #
3494
3796
  # If the fleet is in the `STOPPED` state, you can update any attribute
@@ -3964,7 +4266,7 @@ module Aws::AppStream
3964
4266
  params: params,
3965
4267
  config: config)
3966
4268
  context[:gem_name] = 'aws-sdk-appstream'
3967
- context[:gem_version] = '1.61.0'
4269
+ context[:gem_version] = '1.62.0'
3968
4270
  Seahorse::Client::Request.new(handlers, context)
3969
4271
  end
3970
4272
 
@@ -21,6 +21,7 @@ module Aws::AppStream
21
21
  Action = Shapes::StringShape.new(name: 'Action')
22
22
  AppBlock = Shapes::StructureShape.new(name: 'AppBlock')
23
23
  AppBlocks = Shapes::ListShape.new(name: 'AppBlocks')
24
+ AppVisibility = Shapes::StringShape.new(name: 'AppVisibility')
24
25
  Application = Shapes::StructureShape.new(name: 'Application')
25
26
  ApplicationAttribute = Shapes::StringShape.new(name: 'ApplicationAttribute')
26
27
  ApplicationAttributes = Shapes::ListShape.new(name: 'ApplicationAttributes')
@@ -34,6 +35,8 @@ module Aws::AppStream
34
35
  ArnList = Shapes::ListShape.new(name: 'ArnList')
35
36
  AssociateApplicationFleetRequest = Shapes::StructureShape.new(name: 'AssociateApplicationFleetRequest')
36
37
  AssociateApplicationFleetResult = Shapes::StructureShape.new(name: 'AssociateApplicationFleetResult')
38
+ AssociateApplicationToEntitlementRequest = Shapes::StructureShape.new(name: 'AssociateApplicationToEntitlementRequest')
39
+ AssociateApplicationToEntitlementResult = Shapes::StructureShape.new(name: 'AssociateApplicationToEntitlementResult')
37
40
  AssociateFleetRequest = Shapes::StructureShape.new(name: 'AssociateFleetRequest')
38
41
  AssociateFleetResult = Shapes::StructureShape.new(name: 'AssociateFleetResult')
39
42
  AuthenticationType = Shapes::StringShape.new(name: 'AuthenticationType')
@@ -56,6 +59,8 @@ module Aws::AppStream
56
59
  CreateApplicationResult = Shapes::StructureShape.new(name: 'CreateApplicationResult')
57
60
  CreateDirectoryConfigRequest = Shapes::StructureShape.new(name: 'CreateDirectoryConfigRequest')
58
61
  CreateDirectoryConfigResult = Shapes::StructureShape.new(name: 'CreateDirectoryConfigResult')
62
+ CreateEntitlementRequest = Shapes::StructureShape.new(name: 'CreateEntitlementRequest')
63
+ CreateEntitlementResult = Shapes::StructureShape.new(name: 'CreateEntitlementResult')
59
64
  CreateFleetRequest = Shapes::StructureShape.new(name: 'CreateFleetRequest')
60
65
  CreateFleetResult = Shapes::StructureShape.new(name: 'CreateFleetResult')
61
66
  CreateImageBuilderRequest = Shapes::StructureShape.new(name: 'CreateImageBuilderRequest')
@@ -78,6 +83,8 @@ module Aws::AppStream
78
83
  DeleteApplicationResult = Shapes::StructureShape.new(name: 'DeleteApplicationResult')
79
84
  DeleteDirectoryConfigRequest = Shapes::StructureShape.new(name: 'DeleteDirectoryConfigRequest')
80
85
  DeleteDirectoryConfigResult = Shapes::StructureShape.new(name: 'DeleteDirectoryConfigResult')
86
+ DeleteEntitlementRequest = Shapes::StructureShape.new(name: 'DeleteEntitlementRequest')
87
+ DeleteEntitlementResult = Shapes::StructureShape.new(name: 'DeleteEntitlementResult')
81
88
  DeleteFleetRequest = Shapes::StructureShape.new(name: 'DeleteFleetRequest')
82
89
  DeleteFleetResult = Shapes::StructureShape.new(name: 'DeleteFleetResult')
83
90
  DeleteImageBuilderRequest = Shapes::StructureShape.new(name: 'DeleteImageBuilderRequest')
@@ -100,6 +107,8 @@ module Aws::AppStream
100
107
  DescribeApplicationsResult = Shapes::StructureShape.new(name: 'DescribeApplicationsResult')
101
108
  DescribeDirectoryConfigsRequest = Shapes::StructureShape.new(name: 'DescribeDirectoryConfigsRequest')
102
109
  DescribeDirectoryConfigsResult = Shapes::StructureShape.new(name: 'DescribeDirectoryConfigsResult')
110
+ DescribeEntitlementsRequest = Shapes::StructureShape.new(name: 'DescribeEntitlementsRequest')
111
+ DescribeEntitlementsResult = Shapes::StructureShape.new(name: 'DescribeEntitlementsResult')
103
112
  DescribeFleetsRequest = Shapes::StructureShape.new(name: 'DescribeFleetsRequest')
104
113
  DescribeFleetsResult = Shapes::StructureShape.new(name: 'DescribeFleetsResult')
105
114
  DescribeImageBuildersRequest = Shapes::StructureShape.new(name: 'DescribeImageBuildersRequest')
@@ -128,6 +137,8 @@ module Aws::AppStream
128
137
  DisableUserResult = Shapes::StructureShape.new(name: 'DisableUserResult')
129
138
  DisassociateApplicationFleetRequest = Shapes::StructureShape.new(name: 'DisassociateApplicationFleetRequest')
130
139
  DisassociateApplicationFleetResult = Shapes::StructureShape.new(name: 'DisassociateApplicationFleetResult')
140
+ DisassociateApplicationFromEntitlementRequest = Shapes::StructureShape.new(name: 'DisassociateApplicationFromEntitlementRequest')
141
+ DisassociateApplicationFromEntitlementResult = Shapes::StructureShape.new(name: 'DisassociateApplicationFromEntitlementResult')
131
142
  DisassociateFleetRequest = Shapes::StructureShape.new(name: 'DisassociateFleetRequest')
132
143
  DisassociateFleetResult = Shapes::StructureShape.new(name: 'DisassociateFleetResult')
133
144
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
@@ -138,6 +149,14 @@ module Aws::AppStream
138
149
  EmbedHostDomains = Shapes::ListShape.new(name: 'EmbedHostDomains')
139
150
  EnableUserRequest = Shapes::StructureShape.new(name: 'EnableUserRequest')
140
151
  EnableUserResult = Shapes::StructureShape.new(name: 'EnableUserResult')
152
+ EntitledApplication = Shapes::StructureShape.new(name: 'EntitledApplication')
153
+ EntitledApplicationList = Shapes::ListShape.new(name: 'EntitledApplicationList')
154
+ Entitlement = Shapes::StructureShape.new(name: 'Entitlement')
155
+ EntitlementAlreadyExistsException = Shapes::StructureShape.new(name: 'EntitlementAlreadyExistsException')
156
+ EntitlementAttribute = Shapes::StructureShape.new(name: 'EntitlementAttribute')
157
+ EntitlementAttributeList = Shapes::ListShape.new(name: 'EntitlementAttributeList')
158
+ EntitlementList = Shapes::ListShape.new(name: 'EntitlementList')
159
+ EntitlementNotFoundException = Shapes::StructureShape.new(name: 'EntitlementNotFoundException')
141
160
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
142
161
  ExpireSessionRequest = Shapes::StructureShape.new(name: 'ExpireSessionRequest')
143
162
  ExpireSessionResult = Shapes::StructureShape.new(name: 'ExpireSessionResult')
@@ -174,6 +193,8 @@ module Aws::AppStream
174
193
  ListAssociatedFleetsResult = Shapes::StructureShape.new(name: 'ListAssociatedFleetsResult')
175
194
  ListAssociatedStacksRequest = Shapes::StructureShape.new(name: 'ListAssociatedStacksRequest')
176
195
  ListAssociatedStacksResult = Shapes::StructureShape.new(name: 'ListAssociatedStacksResult')
196
+ ListEntitledApplicationsRequest = Shapes::StructureShape.new(name: 'ListEntitledApplicationsRequest')
197
+ ListEntitledApplicationsResult = Shapes::StructureShape.new(name: 'ListEntitledApplicationsResult')
177
198
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
178
199
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
179
200
  Long = Shapes::IntegerShape.new(name: 'Long')
@@ -247,6 +268,8 @@ module Aws::AppStream
247
268
  UpdateApplicationResult = Shapes::StructureShape.new(name: 'UpdateApplicationResult')
248
269
  UpdateDirectoryConfigRequest = Shapes::StructureShape.new(name: 'UpdateDirectoryConfigRequest')
249
270
  UpdateDirectoryConfigResult = Shapes::StructureShape.new(name: 'UpdateDirectoryConfigResult')
271
+ UpdateEntitlementRequest = Shapes::StructureShape.new(name: 'UpdateEntitlementRequest')
272
+ UpdateEntitlementResult = Shapes::StructureShape.new(name: 'UpdateEntitlementResult')
250
273
  UpdateFleetRequest = Shapes::StructureShape.new(name: 'UpdateFleetRequest')
251
274
  UpdateFleetResult = Shapes::StructureShape.new(name: 'UpdateFleetResult')
252
275
  UpdateImagePermissionsRequest = Shapes::StructureShape.new(name: 'UpdateImagePermissionsRequest')
@@ -336,6 +359,13 @@ module Aws::AppStream
336
359
  AssociateApplicationFleetResult.add_member(:application_fleet_association, Shapes::ShapeRef.new(shape: ApplicationFleetAssociation, location_name: "ApplicationFleetAssociation"))
337
360
  AssociateApplicationFleetResult.struct_class = Types::AssociateApplicationFleetResult
338
361
 
362
+ AssociateApplicationToEntitlementRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
363
+ AssociateApplicationToEntitlementRequest.add_member(:entitlement_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "EntitlementName"))
364
+ AssociateApplicationToEntitlementRequest.add_member(:application_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ApplicationIdentifier"))
365
+ AssociateApplicationToEntitlementRequest.struct_class = Types::AssociateApplicationToEntitlementRequest
366
+
367
+ AssociateApplicationToEntitlementResult.struct_class = Types::AssociateApplicationToEntitlementResult
368
+
339
369
  AssociateFleetRequest.add_member(:fleet_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "FleetName"))
340
370
  AssociateFleetRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "StackName"))
341
371
  AssociateFleetRequest.struct_class = Types::AssociateFleetRequest
@@ -412,6 +442,16 @@ module Aws::AppStream
412
442
  CreateDirectoryConfigResult.add_member(:directory_config, Shapes::ShapeRef.new(shape: DirectoryConfig, location_name: "DirectoryConfig"))
413
443
  CreateDirectoryConfigResult.struct_class = Types::CreateDirectoryConfigResult
414
444
 
445
+ CreateEntitlementRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
446
+ CreateEntitlementRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
447
+ CreateEntitlementRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
448
+ CreateEntitlementRequest.add_member(:app_visibility, Shapes::ShapeRef.new(shape: AppVisibility, required: true, location_name: "AppVisibility"))
449
+ CreateEntitlementRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: EntitlementAttributeList, required: true, location_name: "Attributes"))
450
+ CreateEntitlementRequest.struct_class = Types::CreateEntitlementRequest
451
+
452
+ CreateEntitlementResult.add_member(:entitlement, Shapes::ShapeRef.new(shape: Entitlement, location_name: "Entitlement"))
453
+ CreateEntitlementResult.struct_class = Types::CreateEntitlementResult
454
+
415
455
  CreateFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
416
456
  CreateFleetRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
417
457
  CreateFleetRequest.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
@@ -533,6 +573,12 @@ module Aws::AppStream
533
573
 
534
574
  DeleteDirectoryConfigResult.struct_class = Types::DeleteDirectoryConfigResult
535
575
 
576
+ DeleteEntitlementRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
577
+ DeleteEntitlementRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
578
+ DeleteEntitlementRequest.struct_class = Types::DeleteEntitlementRequest
579
+
580
+ DeleteEntitlementResult.struct_class = Types::DeleteEntitlementResult
581
+
536
582
  DeleteFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
537
583
  DeleteFleetRequest.struct_class = Types::DeleteFleetRequest
538
584
 
@@ -608,6 +654,16 @@ module Aws::AppStream
608
654
  DescribeDirectoryConfigsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
609
655
  DescribeDirectoryConfigsResult.struct_class = Types::DescribeDirectoryConfigsResult
610
656
 
657
+ DescribeEntitlementsRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name"))
658
+ DescribeEntitlementsRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
659
+ DescribeEntitlementsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
660
+ DescribeEntitlementsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
661
+ DescribeEntitlementsRequest.struct_class = Types::DescribeEntitlementsRequest
662
+
663
+ DescribeEntitlementsResult.add_member(:entitlements, Shapes::ShapeRef.new(shape: EntitlementList, location_name: "Entitlements"))
664
+ DescribeEntitlementsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
665
+ DescribeEntitlementsResult.struct_class = Types::DescribeEntitlementsResult
666
+
611
667
  DescribeFleetsRequest.add_member(:names, Shapes::ShapeRef.new(shape: StringList, location_name: "Names"))
612
668
  DescribeFleetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
613
669
  DescribeFleetsRequest.struct_class = Types::DescribeFleetsRequest
@@ -717,6 +773,13 @@ module Aws::AppStream
717
773
 
718
774
  DisassociateApplicationFleetResult.struct_class = Types::DisassociateApplicationFleetResult
719
775
 
776
+ DisassociateApplicationFromEntitlementRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
777
+ DisassociateApplicationFromEntitlementRequest.add_member(:entitlement_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "EntitlementName"))
778
+ DisassociateApplicationFromEntitlementRequest.add_member(:application_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ApplicationIdentifier"))
779
+ DisassociateApplicationFromEntitlementRequest.struct_class = Types::DisassociateApplicationFromEntitlementRequest
780
+
781
+ DisassociateApplicationFromEntitlementResult.struct_class = Types::DisassociateApplicationFromEntitlementResult
782
+
720
783
  DisassociateFleetRequest.add_member(:fleet_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "FleetName"))
721
784
  DisassociateFleetRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "StackName"))
722
785
  DisassociateFleetRequest.struct_class = Types::DisassociateFleetRequest
@@ -737,6 +800,34 @@ module Aws::AppStream
737
800
 
738
801
  EnableUserResult.struct_class = Types::EnableUserResult
739
802
 
803
+ EntitledApplication.add_member(:application_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ApplicationIdentifier"))
804
+ EntitledApplication.struct_class = Types::EntitledApplication
805
+
806
+ EntitledApplicationList.member = Shapes::ShapeRef.new(shape: EntitledApplication)
807
+
808
+ Entitlement.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
809
+ Entitlement.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
810
+ Entitlement.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
811
+ Entitlement.add_member(:app_visibility, Shapes::ShapeRef.new(shape: AppVisibility, required: true, location_name: "AppVisibility"))
812
+ Entitlement.add_member(:attributes, Shapes::ShapeRef.new(shape: EntitlementAttributeList, required: true, location_name: "Attributes"))
813
+ Entitlement.add_member(:created_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTime"))
814
+ Entitlement.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastModifiedTime"))
815
+ Entitlement.struct_class = Types::Entitlement
816
+
817
+ EntitlementAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
818
+ EntitlementAlreadyExistsException.struct_class = Types::EntitlementAlreadyExistsException
819
+
820
+ EntitlementAttribute.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
821
+ EntitlementAttribute.add_member(:value, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Value"))
822
+ EntitlementAttribute.struct_class = Types::EntitlementAttribute
823
+
824
+ EntitlementAttributeList.member = Shapes::ShapeRef.new(shape: EntitlementAttribute)
825
+
826
+ EntitlementList.member = Shapes::ShapeRef.new(shape: Entitlement)
827
+
828
+ EntitlementNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
829
+ EntitlementNotFoundException.struct_class = Types::EntitlementNotFoundException
830
+
740
831
  ExpireSessionRequest.add_member(:session_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "SessionId"))
741
832
  ExpireSessionRequest.struct_class = Types::ExpireSessionRequest
742
833
 
@@ -869,6 +960,16 @@ module Aws::AppStream
869
960
  ListAssociatedStacksResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
870
961
  ListAssociatedStacksResult.struct_class = Types::ListAssociatedStacksResult
871
962
 
963
+ ListEntitledApplicationsRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
964
+ ListEntitledApplicationsRequest.add_member(:entitlement_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "EntitlementName"))
965
+ ListEntitledApplicationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
966
+ ListEntitledApplicationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
967
+ ListEntitledApplicationsRequest.struct_class = Types::ListEntitledApplicationsRequest
968
+
969
+ ListEntitledApplicationsResult.add_member(:entitled_applications, Shapes::ShapeRef.new(shape: EntitledApplicationList, location_name: "EntitledApplications"))
970
+ ListEntitledApplicationsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
971
+ ListEntitledApplicationsResult.struct_class = Types::ListEntitledApplicationsResult
972
+
872
973
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "ResourceArn"))
873
974
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
874
975
 
@@ -1045,6 +1146,16 @@ module Aws::AppStream
1045
1146
  UpdateDirectoryConfigResult.add_member(:directory_config, Shapes::ShapeRef.new(shape: DirectoryConfig, location_name: "DirectoryConfig"))
1046
1147
  UpdateDirectoryConfigResult.struct_class = Types::UpdateDirectoryConfigResult
1047
1148
 
1149
+ UpdateEntitlementRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
1150
+ UpdateEntitlementRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "StackName"))
1151
+ UpdateEntitlementRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
1152
+ UpdateEntitlementRequest.add_member(:app_visibility, Shapes::ShapeRef.new(shape: AppVisibility, location_name: "AppVisibility"))
1153
+ UpdateEntitlementRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: EntitlementAttributeList, location_name: "Attributes"))
1154
+ UpdateEntitlementRequest.struct_class = Types::UpdateEntitlementRequest
1155
+
1156
+ UpdateEntitlementResult.add_member(:entitlement, Shapes::ShapeRef.new(shape: Entitlement, location_name: "Entitlement"))
1157
+ UpdateEntitlementResult.struct_class = Types::UpdateEntitlementResult
1158
+
1048
1159
  UpdateFleetRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
1049
1160
  UpdateFleetRequest.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
1050
1161
  UpdateFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
@@ -1173,6 +1284,19 @@ module Aws::AppStream
1173
1284
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1174
1285
  end)
1175
1286
 
1287
+ api.add_operation(:associate_application_to_entitlement, Seahorse::Model::Operation.new.tap do |o|
1288
+ o.name = "AssociateApplicationToEntitlement"
1289
+ o.http_method = "POST"
1290
+ o.http_request_uri = "/"
1291
+ o.input = Shapes::ShapeRef.new(shape: AssociateApplicationToEntitlementRequest)
1292
+ o.output = Shapes::ShapeRef.new(shape: AssociateApplicationToEntitlementResult)
1293
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1294
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1295
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1296
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1297
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1298
+ end)
1299
+
1176
1300
  api.add_operation(:associate_fleet, Seahorse::Model::Operation.new.tap do |o|
1177
1301
  o.name = "AssociateFleet"
1178
1302
  o.http_method = "POST"
@@ -1260,6 +1384,18 @@ module Aws::AppStream
1260
1384
  o.errors << Shapes::ShapeRef.new(shape: InvalidRoleException)
1261
1385
  end)
1262
1386
 
1387
+ api.add_operation(:create_entitlement, Seahorse::Model::Operation.new.tap do |o|
1388
+ o.name = "CreateEntitlement"
1389
+ o.http_method = "POST"
1390
+ o.http_request_uri = "/"
1391
+ o.input = Shapes::ShapeRef.new(shape: CreateEntitlementRequest)
1392
+ o.output = Shapes::ShapeRef.new(shape: CreateEntitlementResult)
1393
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1394
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1395
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1396
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementAlreadyExistsException)
1397
+ end)
1398
+
1263
1399
  api.add_operation(:create_fleet, Seahorse::Model::Operation.new.tap do |o|
1264
1400
  o.name = "CreateFleet"
1265
1401
  o.http_method = "POST"
@@ -1407,6 +1543,19 @@ module Aws::AppStream
1407
1543
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1408
1544
  end)
1409
1545
 
1546
+ api.add_operation(:delete_entitlement, Seahorse::Model::Operation.new.tap do |o|
1547
+ o.name = "DeleteEntitlement"
1548
+ o.http_method = "POST"
1549
+ o.http_request_uri = "/"
1550
+ o.input = Shapes::ShapeRef.new(shape: DeleteEntitlementRequest)
1551
+ o.output = Shapes::ShapeRef.new(shape: DeleteEntitlementResult)
1552
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1553
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1554
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1555
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1556
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1557
+ end)
1558
+
1410
1559
  api.add_operation(:delete_fleet, Seahorse::Model::Operation.new.tap do |o|
1411
1560
  o.name = "DeleteFleet"
1412
1561
  o.http_method = "POST"
@@ -1459,6 +1608,7 @@ module Aws::AppStream
1459
1608
  o.output = Shapes::ShapeRef.new(shape: DeleteStackResult)
1460
1609
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
1461
1610
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1611
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1462
1612
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1463
1613
  end)
1464
1614
 
@@ -1520,6 +1670,17 @@ module Aws::AppStream
1520
1670
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1521
1671
  end)
1522
1672
 
1673
+ api.add_operation(:describe_entitlements, Seahorse::Model::Operation.new.tap do |o|
1674
+ o.name = "DescribeEntitlements"
1675
+ o.http_method = "POST"
1676
+ o.http_request_uri = "/"
1677
+ o.input = Shapes::ShapeRef.new(shape: DescribeEntitlementsRequest)
1678
+ o.output = Shapes::ShapeRef.new(shape: DescribeEntitlementsResult)
1679
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1680
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1681
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1682
+ end)
1683
+
1523
1684
  api.add_operation(:describe_fleets, Seahorse::Model::Operation.new.tap do |o|
1524
1685
  o.name = "DescribeFleets"
1525
1686
  o.http_method = "POST"
@@ -1638,6 +1799,18 @@ module Aws::AppStream
1638
1799
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1639
1800
  end)
1640
1801
 
1802
+ api.add_operation(:disassociate_application_from_entitlement, Seahorse::Model::Operation.new.tap do |o|
1803
+ o.name = "DisassociateApplicationFromEntitlement"
1804
+ o.http_method = "POST"
1805
+ o.http_request_uri = "/"
1806
+ o.input = Shapes::ShapeRef.new(shape: DisassociateApplicationFromEntitlementRequest)
1807
+ o.output = Shapes::ShapeRef.new(shape: DisassociateApplicationFromEntitlementResult)
1808
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1809
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1810
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1811
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1812
+ end)
1813
+
1641
1814
  api.add_operation(:disassociate_fleet, Seahorse::Model::Operation.new.tap do |o|
1642
1815
  o.name = "DisassociateFleet"
1643
1816
  o.http_method = "POST"
@@ -1684,6 +1857,17 @@ module Aws::AppStream
1684
1857
  o.output = Shapes::ShapeRef.new(shape: ListAssociatedStacksResult)
1685
1858
  end)
1686
1859
 
1860
+ api.add_operation(:list_entitled_applications, Seahorse::Model::Operation.new.tap do |o|
1861
+ o.name = "ListEntitledApplications"
1862
+ o.http_method = "POST"
1863
+ o.http_request_uri = "/"
1864
+ o.input = Shapes::ShapeRef.new(shape: ListEntitledApplicationsRequest)
1865
+ o.output = Shapes::ShapeRef.new(shape: ListEntitledApplicationsResult)
1866
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1867
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1868
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1869
+ end)
1870
+
1687
1871
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1688
1872
  o.name = "ListTagsForResource"
1689
1873
  o.http_method = "POST"
@@ -1787,6 +1971,18 @@ module Aws::AppStream
1787
1971
  o.errors << Shapes::ShapeRef.new(shape: InvalidRoleException)
1788
1972
  end)
1789
1973
 
1974
+ api.add_operation(:update_entitlement, Seahorse::Model::Operation.new.tap do |o|
1975
+ o.name = "UpdateEntitlement"
1976
+ o.http_method = "POST"
1977
+ o.http_request_uri = "/"
1978
+ o.input = Shapes::ShapeRef.new(shape: UpdateEntitlementRequest)
1979
+ o.output = Shapes::ShapeRef.new(shape: UpdateEntitlementResult)
1980
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1981
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1982
+ o.errors << Shapes::ShapeRef.new(shape: EntitlementNotFoundException)
1983
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1984
+ end)
1985
+
1790
1986
  api.add_operation(:update_fleet, Seahorse::Model::Operation.new.tap do |o|
1791
1987
  o.name = "UpdateFleet"
1792
1988
  o.http_method = "POST"
@@ -28,6 +28,8 @@ module Aws::AppStream
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {ConcurrentModificationException}
31
+ # * {EntitlementAlreadyExistsException}
32
+ # * {EntitlementNotFoundException}
31
33
  # * {IncompatibleImageException}
32
34
  # * {InvalidAccountStatusException}
33
35
  # * {InvalidParameterCombinationException}
@@ -61,6 +63,36 @@ module Aws::AppStream
61
63
  end
62
64
  end
63
65
 
66
+ class EntitlementAlreadyExistsException < ServiceError
67
+
68
+ # @param [Seahorse::Client::RequestContext] context
69
+ # @param [String] message
70
+ # @param [Aws::AppStream::Types::EntitlementAlreadyExistsException] data
71
+ def initialize(context, message, data = Aws::EmptyStructure.new)
72
+ super(context, message, data)
73
+ end
74
+
75
+ # @return [String]
76
+ def message
77
+ @message || @data[:message]
78
+ end
79
+ end
80
+
81
+ class EntitlementNotFoundException < ServiceError
82
+
83
+ # @param [Seahorse::Client::RequestContext] context
84
+ # @param [String] message
85
+ # @param [Aws::AppStream::Types::EntitlementNotFoundException] data
86
+ def initialize(context, message, data = Aws::EmptyStructure.new)
87
+ super(context, message, data)
88
+ end
89
+
90
+ # @return [String]
91
+ def message
92
+ @message || @data[:message]
93
+ end
94
+ end
95
+
64
96
  class IncompatibleImageException < ServiceError
65
97
 
66
98
  # @param [Seahorse::Client::RequestContext] context
@@ -300,6 +300,41 @@ module Aws::AppStream
300
300
  include Aws::Structure
301
301
  end
302
302
 
303
+ # @note When making an API call, you may pass AssociateApplicationToEntitlementRequest
304
+ # data as a hash:
305
+ #
306
+ # {
307
+ # stack_name: "Name", # required
308
+ # entitlement_name: "Name", # required
309
+ # application_identifier: "String", # required
310
+ # }
311
+ #
312
+ # @!attribute [rw] stack_name
313
+ # The name of the stack.
314
+ # @return [String]
315
+ #
316
+ # @!attribute [rw] entitlement_name
317
+ # The name of the entitlement.
318
+ # @return [String]
319
+ #
320
+ # @!attribute [rw] application_identifier
321
+ # The identifier of the application.
322
+ # @return [String]
323
+ #
324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationToEntitlementRequest AWS API Documentation
325
+ #
326
+ class AssociateApplicationToEntitlementRequest < Struct.new(
327
+ :stack_name,
328
+ :entitlement_name,
329
+ :application_identifier)
330
+ SENSITIVE = []
331
+ include Aws::Structure
332
+ end
333
+
334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateApplicationToEntitlementResult AWS API Documentation
335
+ #
336
+ class AssociateApplicationToEntitlementResult < Aws::EmptyStructure; end
337
+
303
338
  # @note When making an API call, you may pass AssociateFleetRequest
304
339
  # data as a hash:
305
340
  #
@@ -748,6 +783,66 @@ module Aws::AppStream
748
783
  include Aws::Structure
749
784
  end
750
785
 
786
+ # @note When making an API call, you may pass CreateEntitlementRequest
787
+ # data as a hash:
788
+ #
789
+ # {
790
+ # name: "Name", # required
791
+ # stack_name: "Name", # required
792
+ # description: "Description",
793
+ # app_visibility: "ALL", # required, accepts ALL, ASSOCIATED
794
+ # attributes: [ # required
795
+ # {
796
+ # name: "String", # required
797
+ # value: "String", # required
798
+ # },
799
+ # ],
800
+ # }
801
+ #
802
+ # @!attribute [rw] name
803
+ # The name of the entitlement.
804
+ # @return [String]
805
+ #
806
+ # @!attribute [rw] stack_name
807
+ # The name of the stack with which the entitlement is associated.
808
+ # @return [String]
809
+ #
810
+ # @!attribute [rw] description
811
+ # The description of the entitlement.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] app_visibility
815
+ # Specifies whether all or selected apps are entitled.
816
+ # @return [String]
817
+ #
818
+ # @!attribute [rw] attributes
819
+ # The attributes of the entitlement.
820
+ # @return [Array<Types::EntitlementAttribute>]
821
+ #
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateEntitlementRequest AWS API Documentation
823
+ #
824
+ class CreateEntitlementRequest < Struct.new(
825
+ :name,
826
+ :stack_name,
827
+ :description,
828
+ :app_visibility,
829
+ :attributes)
830
+ SENSITIVE = []
831
+ include Aws::Structure
832
+ end
833
+
834
+ # @!attribute [rw] entitlement
835
+ # The entitlement.
836
+ # @return [Types::Entitlement]
837
+ #
838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateEntitlementResult AWS API Documentation
839
+ #
840
+ class CreateEntitlementResult < Struct.new(
841
+ :entitlement)
842
+ SENSITIVE = []
843
+ include Aws::Structure
844
+ end
845
+
751
846
  # @note When making an API call, you may pass CreateFleetRequest
752
847
  # data as a hash:
753
848
  #
@@ -1808,6 +1903,35 @@ module Aws::AppStream
1808
1903
  #
1809
1904
  class DeleteDirectoryConfigResult < Aws::EmptyStructure; end
1810
1905
 
1906
+ # @note When making an API call, you may pass DeleteEntitlementRequest
1907
+ # data as a hash:
1908
+ #
1909
+ # {
1910
+ # name: "Name", # required
1911
+ # stack_name: "Name", # required
1912
+ # }
1913
+ #
1914
+ # @!attribute [rw] name
1915
+ # The name of the entitlement.
1916
+ # @return [String]
1917
+ #
1918
+ # @!attribute [rw] stack_name
1919
+ # The name of the stack with which the entitlement is associated.
1920
+ # @return [String]
1921
+ #
1922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteEntitlementRequest AWS API Documentation
1923
+ #
1924
+ class DeleteEntitlementRequest < Struct.new(
1925
+ :name,
1926
+ :stack_name)
1927
+ SENSITIVE = []
1928
+ include Aws::Structure
1929
+ end
1930
+
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteEntitlementResult AWS API Documentation
1932
+ #
1933
+ class DeleteEntitlementResult < Aws::EmptyStructure; end
1934
+
1811
1935
  # @note When making an API call, you may pass DeleteFleetRequest
1812
1936
  # data as a hash:
1813
1937
  #
@@ -2197,6 +2321,62 @@ module Aws::AppStream
2197
2321
  include Aws::Structure
2198
2322
  end
2199
2323
 
2324
+ # @note When making an API call, you may pass DescribeEntitlementsRequest
2325
+ # data as a hash:
2326
+ #
2327
+ # {
2328
+ # name: "Name",
2329
+ # stack_name: "Name", # required
2330
+ # next_token: "String",
2331
+ # max_results: 1,
2332
+ # }
2333
+ #
2334
+ # @!attribute [rw] name
2335
+ # The name of the entitlement.
2336
+ # @return [String]
2337
+ #
2338
+ # @!attribute [rw] stack_name
2339
+ # The name of the stack with which the entitlement is associated.
2340
+ # @return [String]
2341
+ #
2342
+ # @!attribute [rw] next_token
2343
+ # The pagination token used to retrieve the next page of results for
2344
+ # this operation.
2345
+ # @return [String]
2346
+ #
2347
+ # @!attribute [rw] max_results
2348
+ # The maximum size of each page of results.
2349
+ # @return [Integer]
2350
+ #
2351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeEntitlementsRequest AWS API Documentation
2352
+ #
2353
+ class DescribeEntitlementsRequest < Struct.new(
2354
+ :name,
2355
+ :stack_name,
2356
+ :next_token,
2357
+ :max_results)
2358
+ SENSITIVE = []
2359
+ include Aws::Structure
2360
+ end
2361
+
2362
+ # @!attribute [rw] entitlements
2363
+ # The entitlements.
2364
+ # @return [Array<Types::Entitlement>]
2365
+ #
2366
+ # @!attribute [rw] next_token
2367
+ # The pagination token used to retrieve the next page of results for
2368
+ # this operation.
2369
+ # @return [String]
2370
+ #
2371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeEntitlementsResult AWS API Documentation
2372
+ #
2373
+ class DescribeEntitlementsResult < Struct.new(
2374
+ :entitlements,
2375
+ :next_token)
2376
+ SENSITIVE = []
2377
+ include Aws::Structure
2378
+ end
2379
+
2200
2380
  # @note When making an API call, you may pass DescribeFleetsRequest
2201
2381
  # data as a hash:
2202
2382
  #
@@ -2789,6 +2969,41 @@ module Aws::AppStream
2789
2969
  #
2790
2970
  class DisassociateApplicationFleetResult < Aws::EmptyStructure; end
2791
2971
 
2972
+ # @note When making an API call, you may pass DisassociateApplicationFromEntitlementRequest
2973
+ # data as a hash:
2974
+ #
2975
+ # {
2976
+ # stack_name: "Name", # required
2977
+ # entitlement_name: "Name", # required
2978
+ # application_identifier: "String", # required
2979
+ # }
2980
+ #
2981
+ # @!attribute [rw] stack_name
2982
+ # The name of the stack with which the entitlement is associated.
2983
+ # @return [String]
2984
+ #
2985
+ # @!attribute [rw] entitlement_name
2986
+ # The name of the entitlement.
2987
+ # @return [String]
2988
+ #
2989
+ # @!attribute [rw] application_identifier
2990
+ # The identifier of the application to remove from the entitlement.
2991
+ # @return [String]
2992
+ #
2993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFromEntitlementRequest AWS API Documentation
2994
+ #
2995
+ class DisassociateApplicationFromEntitlementRequest < Struct.new(
2996
+ :stack_name,
2997
+ :entitlement_name,
2998
+ :application_identifier)
2999
+ SENSITIVE = []
3000
+ include Aws::Structure
3001
+ end
3002
+
3003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateApplicationFromEntitlementResult AWS API Documentation
3004
+ #
3005
+ class DisassociateApplicationFromEntitlementResult < Aws::EmptyStructure; end
3006
+
2792
3007
  # @note When making an API call, you may pass DisassociateFleetRequest
2793
3008
  # data as a hash:
2794
3009
  #
@@ -2884,6 +3099,148 @@ module Aws::AppStream
2884
3099
  #
2885
3100
  class EnableUserResult < Aws::EmptyStructure; end
2886
3101
 
3102
+ # The application associated to an entitlement. Access is controlled
3103
+ # based on user attributes.
3104
+ #
3105
+ # @!attribute [rw] application_identifier
3106
+ # The identifier of the application.
3107
+ # @return [String]
3108
+ #
3109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitledApplication AWS API Documentation
3110
+ #
3111
+ class EntitledApplication < Struct.new(
3112
+ :application_identifier)
3113
+ SENSITIVE = []
3114
+ include Aws::Structure
3115
+ end
3116
+
3117
+ # Specifies an entitlement. Entitlements control access to specific
3118
+ # applications within a stack, based on user attributes. Entitlements
3119
+ # apply to SAML 2.0 federated user identities. Amazon AppStream 2.0 user
3120
+ # pool and streaming URL users are entitled to all applications in a
3121
+ # stack. Entitlements don't apply to the desktop stream view
3122
+ # application, or to applications managed by a dynamic app provider
3123
+ # using the Dynamic Application Framework.
3124
+ #
3125
+ # @!attribute [rw] name
3126
+ # The name of the entitlement.
3127
+ # @return [String]
3128
+ #
3129
+ # @!attribute [rw] stack_name
3130
+ # The name of the stack with which the entitlement is associated.
3131
+ # @return [String]
3132
+ #
3133
+ # @!attribute [rw] description
3134
+ # The description of the entitlement.
3135
+ # @return [String]
3136
+ #
3137
+ # @!attribute [rw] app_visibility
3138
+ # Specifies whether all or selected apps are entitled.
3139
+ # @return [String]
3140
+ #
3141
+ # @!attribute [rw] attributes
3142
+ # The attributes of the entitlement.
3143
+ # @return [Array<Types::EntitlementAttribute>]
3144
+ #
3145
+ # @!attribute [rw] created_time
3146
+ # The time when the entitlement was created.
3147
+ # @return [Time]
3148
+ #
3149
+ # @!attribute [rw] last_modified_time
3150
+ # The time when the entitlement was last modified.
3151
+ # @return [Time]
3152
+ #
3153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Entitlement AWS API Documentation
3154
+ #
3155
+ class Entitlement < Struct.new(
3156
+ :name,
3157
+ :stack_name,
3158
+ :description,
3159
+ :app_visibility,
3160
+ :attributes,
3161
+ :created_time,
3162
+ :last_modified_time)
3163
+ SENSITIVE = []
3164
+ include Aws::Structure
3165
+ end
3166
+
3167
+ # The entitlement already exists.
3168
+ #
3169
+ # @!attribute [rw] message
3170
+ # The error message in the exception.
3171
+ # @return [String]
3172
+ #
3173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementAlreadyExistsException AWS API Documentation
3174
+ #
3175
+ class EntitlementAlreadyExistsException < Struct.new(
3176
+ :message)
3177
+ SENSITIVE = []
3178
+ include Aws::Structure
3179
+ end
3180
+
3181
+ # An attribute associated with an entitlement. Application entitlements
3182
+ # work by matching a supported SAML 2.0 attribute name to a value when a
3183
+ # user identity federates to an Amazon AppStream 2.0 SAML application.
3184
+ #
3185
+ # @note When making an API call, you may pass EntitlementAttribute
3186
+ # data as a hash:
3187
+ #
3188
+ # {
3189
+ # name: "String", # required
3190
+ # value: "String", # required
3191
+ # }
3192
+ #
3193
+ # @!attribute [rw] name
3194
+ # A supported AWS IAM SAML `PrincipalTag` attribute that is matched to
3195
+ # the associated value when a user identity federates into an Amazon
3196
+ # AppStream 2.0 SAML application.
3197
+ #
3198
+ # The following are valid values:
3199
+ #
3200
+ # * roles
3201
+ #
3202
+ # * department
3203
+ #
3204
+ # * organization
3205
+ #
3206
+ # * groups
3207
+ #
3208
+ # * title
3209
+ #
3210
+ # * costCenter
3211
+ #
3212
+ # * userType
3213
+ # @return [String]
3214
+ #
3215
+ # @!attribute [rw] value
3216
+ # A value that is matched to a supported SAML attribute name when a
3217
+ # user identity federates into an Amazon AppStream 2.0 SAML
3218
+ # application.
3219
+ # @return [String]
3220
+ #
3221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementAttribute AWS API Documentation
3222
+ #
3223
+ class EntitlementAttribute < Struct.new(
3224
+ :name,
3225
+ :value)
3226
+ SENSITIVE = []
3227
+ include Aws::Structure
3228
+ end
3229
+
3230
+ # The entitlement can't be found.
3231
+ #
3232
+ # @!attribute [rw] message
3233
+ # The error message in the exception.
3234
+ # @return [String]
3235
+ #
3236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EntitlementNotFoundException AWS API Documentation
3237
+ #
3238
+ class EntitlementNotFoundException < Struct.new(
3239
+ :message)
3240
+ SENSITIVE = []
3241
+ include Aws::Structure
3242
+ end
3243
+
2887
3244
  # @note When making an API call, you may pass ExpireSessionRequest
2888
3245
  # data as a hash:
2889
3246
  #
@@ -3723,6 +4080,62 @@ module Aws::AppStream
3723
4080
  include Aws::Structure
3724
4081
  end
3725
4082
 
4083
+ # @note When making an API call, you may pass ListEntitledApplicationsRequest
4084
+ # data as a hash:
4085
+ #
4086
+ # {
4087
+ # stack_name: "Name", # required
4088
+ # entitlement_name: "Name", # required
4089
+ # next_token: "String",
4090
+ # max_results: 1,
4091
+ # }
4092
+ #
4093
+ # @!attribute [rw] stack_name
4094
+ # The name of the stack with which the entitlement is associated.
4095
+ # @return [String]
4096
+ #
4097
+ # @!attribute [rw] entitlement_name
4098
+ # The name of the entitlement.
4099
+ # @return [String]
4100
+ #
4101
+ # @!attribute [rw] next_token
4102
+ # The pagination token used to retrieve the next page of results for
4103
+ # this operation.
4104
+ # @return [String]
4105
+ #
4106
+ # @!attribute [rw] max_results
4107
+ # The maximum size of each page of results.
4108
+ # @return [Integer]
4109
+ #
4110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListEntitledApplicationsRequest AWS API Documentation
4111
+ #
4112
+ class ListEntitledApplicationsRequest < Struct.new(
4113
+ :stack_name,
4114
+ :entitlement_name,
4115
+ :next_token,
4116
+ :max_results)
4117
+ SENSITIVE = []
4118
+ include Aws::Structure
4119
+ end
4120
+
4121
+ # @!attribute [rw] entitled_applications
4122
+ # The entitled applications.
4123
+ # @return [Array<Types::EntitledApplication>]
4124
+ #
4125
+ # @!attribute [rw] next_token
4126
+ # The pagination token used to retrieve the next page of results for
4127
+ # this operation.
4128
+ # @return [String]
4129
+ #
4130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListEntitledApplicationsResult AWS API Documentation
4131
+ #
4132
+ class ListEntitledApplicationsResult < Struct.new(
4133
+ :entitled_applications,
4134
+ :next_token)
4135
+ SENSITIVE = []
4136
+ include Aws::Structure
4137
+ end
4138
+
3726
4139
  # @note When making an API call, you may pass ListTagsForResourceRequest
3727
4140
  # data as a hash:
3728
4141
  #
@@ -4526,6 +4939,66 @@ module Aws::AppStream
4526
4939
  include Aws::Structure
4527
4940
  end
4528
4941
 
4942
+ # @note When making an API call, you may pass UpdateEntitlementRequest
4943
+ # data as a hash:
4944
+ #
4945
+ # {
4946
+ # name: "Name", # required
4947
+ # stack_name: "Name", # required
4948
+ # description: "Description",
4949
+ # app_visibility: "ALL", # accepts ALL, ASSOCIATED
4950
+ # attributes: [
4951
+ # {
4952
+ # name: "String", # required
4953
+ # value: "String", # required
4954
+ # },
4955
+ # ],
4956
+ # }
4957
+ #
4958
+ # @!attribute [rw] name
4959
+ # The name of the entitlement.
4960
+ # @return [String]
4961
+ #
4962
+ # @!attribute [rw] stack_name
4963
+ # The name of the stack with which the entitlement is associated.
4964
+ # @return [String]
4965
+ #
4966
+ # @!attribute [rw] description
4967
+ # The description of the entitlement.
4968
+ # @return [String]
4969
+ #
4970
+ # @!attribute [rw] app_visibility
4971
+ # Specifies whether all or only selected apps are entitled.
4972
+ # @return [String]
4973
+ #
4974
+ # @!attribute [rw] attributes
4975
+ # The attributes of the entitlement.
4976
+ # @return [Array<Types::EntitlementAttribute>]
4977
+ #
4978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateEntitlementRequest AWS API Documentation
4979
+ #
4980
+ class UpdateEntitlementRequest < Struct.new(
4981
+ :name,
4982
+ :stack_name,
4983
+ :description,
4984
+ :app_visibility,
4985
+ :attributes)
4986
+ SENSITIVE = []
4987
+ include Aws::Structure
4988
+ end
4989
+
4990
+ # @!attribute [rw] entitlement
4991
+ # The entitlement.
4992
+ # @return [Types::Entitlement]
4993
+ #
4994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateEntitlementResult AWS API Documentation
4995
+ #
4996
+ class UpdateEntitlementResult < Struct.new(
4997
+ :entitlement)
4998
+ SENSITIVE = []
4999
+ include Aws::Structure
5000
+ end
5001
+
4529
5002
  # @note When making an API call, you may pass UpdateFleetRequest
4530
5003
  # data as a hash:
4531
5004
  #
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-appstream/customizations'
49
49
  # @!group service
50
50
  module Aws::AppStream
51
51
 
52
- GEM_VERSION = '1.61.0'
52
+ GEM_VERSION = '1.62.0'
53
53
 
54
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-appstream
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.61.0
4
+ version: 1.62.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core