aws-sdk-appstream 1.61.0 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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