aws-sdk-workspacesinstances 1.11.0 → 1.12.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: 5fcb26a5661e911f09f808b4da4acb2fe525adfe902995515501f9814c60c1b8
4
- data.tar.gz: e65a72e31122cd786601b698ad83cf2b8614bc863b301010d2a06fc2bd220874
3
+ metadata.gz: b1eb6b03392fa5459c63cc045e605f6ef0dd9088ca176339a3dc2c2efb4386e9
4
+ data.tar.gz: 429e792102e5b833fd0154bd45b79c3892649d50855070c43213d9002db2d40e
5
5
  SHA512:
6
- metadata.gz: c0c218d43a3a2631f06f7e3423ec00dab1bb9ff421a0d68357bca63eabe47aaf6ccf848fcb02cce918650e490687d9334649cd872bac9bb4691238b9f1272d6d
7
- data.tar.gz: 3579e93d1506798ab4b8942e6f934e06bdcd49e31e88b17241ed6d9c397c72baff772f442d8679b22bd2c411963e58d400ac2c95a7bf2b0d1f35e867fc83b29c
6
+ metadata.gz: faeea94b5bb49382d0710eeb1a1f08536fc757e51bef8c58d45946d42af4d7377e439bb2485436078de825e59fb75e45b443fba2c2106f739c94c9a259de530f
7
+ data.tar.gz: fdcf5215e8b6fc4dfc8b4b3d666fdce9318f2254d017ff6663c41bc4ef688f6d976e80aee2e7cd22f79dfe262414f1a53b2c66aad0830c79ff2a076a4fa289d2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.0 (2026-01-20)
5
+ ------------------
6
+
7
+ * Feature - Added billing configuration support for WorkSpaces Instances with monthly and hourly billing modes, including new filtering capabilities for instance type searches.
8
+
4
9
  1.11.0 (2026-01-16)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.11.0
1
+ 1.12.0
@@ -608,6 +608,11 @@ module Aws::WorkspacesInstances
608
608
  # Comprehensive configuration settings for the WorkSpaces Instance,
609
609
  # including network, compute, and storage parameters.
610
610
  #
611
+ # @option params [Types::BillingConfiguration] :billing_configuration
612
+ # Optional billing configuration for the WorkSpace Instance. Allows
613
+ # customers to specify their preferred billing mode when creating a new
614
+ # instance. Defaults to hourly billing if not specified.
615
+ #
611
616
  # @return [Types::CreateWorkspaceInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
612
617
  #
613
618
  # * {Types::CreateWorkspaceInstanceResponse#workspace_instance_id #workspace_instance_id} => String
@@ -793,6 +798,9 @@ module Aws::WorkspacesInstances
793
798
  # ],
794
799
  # user_data: "UserData",
795
800
  # },
801
+ # billing_configuration: {
802
+ # billing_mode: "MONTHLY", # required, accepts MONTHLY, HOURLY
803
+ # },
796
804
  # })
797
805
  #
798
806
  # @example Response structure
@@ -832,6 +840,8 @@ module Aws::WorkspacesInstances
832
840
 
833
841
  # Deletes the specified WorkSpace
834
842
  #
843
+ # Usage of this API will result in deletion of the resource in question.
844
+ #
835
845
  # @option params [required, String] :workspace_instance_id
836
846
  # Unique identifier of the WorkSpaces Instance targeted for deletion.
837
847
  #
@@ -898,6 +908,7 @@ module Aws::WorkspacesInstances
898
908
  # * {Types::GetWorkspaceInstanceResponse#provision_state #provision_state} => String
899
909
  # * {Types::GetWorkspaceInstanceResponse#workspace_instance_id #workspace_instance_id} => String
900
910
  # * {Types::GetWorkspaceInstanceResponse#ec2_managed_instance #ec2_managed_instance} => Types::EC2ManagedInstance
911
+ # * {Types::GetWorkspaceInstanceResponse#billing_configuration #billing_configuration} => Types::BillingConfiguration
901
912
  #
902
913
  # @example Request syntax with placeholder values
903
914
  #
@@ -917,6 +928,7 @@ module Aws::WorkspacesInstances
917
928
  # resp.provision_state #=> String, one of "ALLOCATING", "ALLOCATED", "DEALLOCATING", "DEALLOCATED", "ERROR_ALLOCATING", "ERROR_DEALLOCATING"
918
929
  # resp.workspace_instance_id #=> String
919
930
  # resp.ec2_managed_instance.instance_id #=> String
931
+ # resp.billing_configuration.billing_mode #=> String, one of "MONTHLY", "HOURLY"
920
932
  #
921
933
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/GetWorkspaceInstance AWS API Documentation
922
934
  #
@@ -938,6 +950,11 @@ module Aws::WorkspacesInstances
938
950
  # Pagination token for retrieving subsequent pages of instance type
939
951
  # results.
940
952
  #
953
+ # @option params [Types::InstanceConfigurationFilter] :instance_configuration_filter
954
+ # Optional filter to narrow instance type results based on configuration
955
+ # requirements. Only returns instance types that support the specified
956
+ # combination of tenancy, platform type, and billing mode.
957
+ #
941
958
  # @return [Types::ListInstanceTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
942
959
  #
943
960
  # * {Types::ListInstanceTypesResponse#instance_types #instance_types} => Array<Types::InstanceTypeInfo>
@@ -950,12 +967,21 @@ module Aws::WorkspacesInstances
950
967
  # resp = client.list_instance_types({
951
968
  # max_results: 1,
952
969
  # next_token: "NextToken",
970
+ # instance_configuration_filter: {
971
+ # billing_mode: "MONTHLY", # required, accepts MONTHLY, HOURLY
972
+ # platform_type: "Windows", # required, accepts Windows, Windows BYOL, Linux/UNIX, Ubuntu Pro Linux, Red Hat Enterprise Linux, Red Hat BYOL Linux, SUSE Linux
973
+ # tenancy: "SHARED", # required, accepts SHARED, DEDICATED
974
+ # },
953
975
  # })
954
976
  #
955
977
  # @example Response structure
956
978
  #
957
979
  # resp.instance_types #=> Array
958
980
  # resp.instance_types[0].instance_type #=> String
981
+ # resp.instance_types[0].supported_instance_configurations #=> Array
982
+ # resp.instance_types[0].supported_instance_configurations[0].billing_mode #=> String, one of "MONTHLY", "HOURLY"
983
+ # resp.instance_types[0].supported_instance_configurations[0].platform_type #=> String, one of "Windows", "Windows BYOL", "Linux/UNIX", "Ubuntu Pro Linux", "Red Hat Enterprise Linux", "Red Hat BYOL Linux", "SUSE Linux"
984
+ # resp.instance_types[0].supported_instance_configurations[0].tenancy #=> String, one of "SHARED", "DEDICATED"
959
985
  # resp.next_token #=> String
960
986
  #
961
987
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListInstanceTypes AWS API Documentation
@@ -1156,7 +1182,7 @@ module Aws::WorkspacesInstances
1156
1182
  tracer: tracer
1157
1183
  )
1158
1184
  context[:gem_name] = 'aws-sdk-workspacesinstances'
1159
- context[:gem_version] = '1.11.0'
1185
+ context[:gem_version] = '1.12.0'
1160
1186
  Seahorse::Client::Request.new(handlers, context)
1161
1187
  end
1162
1188
 
@@ -22,6 +22,8 @@ module Aws::WorkspacesInstances
22
22
  AutoRecoveryEnum = Shapes::StringShape.new(name: 'AutoRecoveryEnum')
23
23
  AvailabilityZone = Shapes::StringShape.new(name: 'AvailabilityZone')
24
24
  BandwidthWeightingEnum = Shapes::StringShape.new(name: 'BandwidthWeightingEnum')
25
+ BillingConfiguration = Shapes::StructureShape.new(name: 'BillingConfiguration')
26
+ BillingMode = Shapes::StringShape.new(name: 'BillingMode')
25
27
  BlockDeviceMappingRequest = Shapes::StructureShape.new(name: 'BlockDeviceMappingRequest')
26
28
  BlockDeviceMappings = Shapes::ListShape.new(name: 'BlockDeviceMappings')
27
29
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -65,6 +67,8 @@ module Aws::WorkspacesInstances
65
67
  HttpTokensEnum = Shapes::StringShape.new(name: 'HttpTokensEnum')
66
68
  IamInstanceProfileSpecification = Shapes::StructureShape.new(name: 'IamInstanceProfileSpecification')
67
69
  ImageId = Shapes::StringShape.new(name: 'ImageId')
70
+ InstanceConfigurationFilter = Shapes::StructureShape.new(name: 'InstanceConfigurationFilter')
71
+ InstanceConfigurationTenancyEnum = Shapes::StringShape.new(name: 'InstanceConfigurationTenancyEnum')
68
72
  InstanceInterruptionBehaviorEnum = Shapes::StringShape.new(name: 'InstanceInterruptionBehaviorEnum')
69
73
  InstanceIpv6Address = Shapes::StructureShape.new(name: 'InstanceIpv6Address')
70
74
  InstanceMaintenanceOptionsRequest = Shapes::StructureShape.new(name: 'InstanceMaintenanceOptionsRequest')
@@ -91,6 +95,7 @@ module Aws::WorkspacesInstances
91
95
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
92
96
  LicenseConfigurationRequest = Shapes::StructureShape.new(name: 'LicenseConfigurationRequest')
93
97
  LicenseSpecifications = Shapes::ListShape.new(name: 'LicenseSpecifications')
98
+ ListInstanceTypesMaxResults = Shapes::IntegerShape.new(name: 'ListInstanceTypesMaxResults')
94
99
  ListInstanceTypesRequest = Shapes::StructureShape.new(name: 'ListInstanceTypesRequest')
95
100
  ListInstanceTypesResponse = Shapes::StructureShape.new(name: 'ListInstanceTypesResponse')
96
101
  ListRegionsRequest = Shapes::StructureShape.new(name: 'ListRegionsRequest')
@@ -108,6 +113,7 @@ module Aws::WorkspacesInstances
108
113
  NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
109
114
  Placement = Shapes::StructureShape.new(name: 'Placement')
110
115
  PlacementGroupId = Shapes::StringShape.new(name: 'PlacementGroupId')
116
+ PlatformTypeEnum = Shapes::StringShape.new(name: 'PlatformTypeEnum')
111
117
  PrivateDnsNameOptionsRequest = Shapes::StructureShape.new(name: 'PrivateDnsNameOptionsRequest')
112
118
  PrivateIpAddressSpecification = Shapes::StructureShape.new(name: 'PrivateIpAddressSpecification')
113
119
  PrivateIpAddresses = Shapes::ListShape.new(name: 'PrivateIpAddresses')
@@ -131,6 +137,8 @@ module Aws::WorkspacesInstances
131
137
  String128 = Shapes::StringShape.new(name: 'String128')
132
138
  String64 = Shapes::StringShape.new(name: 'String64')
133
139
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
140
+ SupportedInstanceConfiguration = Shapes::StructureShape.new(name: 'SupportedInstanceConfiguration')
141
+ SupportedInstanceConfigurations = Shapes::ListShape.new(name: 'SupportedInstanceConfigurations')
134
142
  Tag = Shapes::StructureShape.new(name: 'Tag')
135
143
  TagKey = Shapes::StringShape.new(name: 'TagKey')
136
144
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
@@ -169,6 +177,9 @@ module Aws::WorkspacesInstances
169
177
 
170
178
  AssociateVolumeResponse.struct_class = Types::AssociateVolumeResponse
171
179
 
180
+ BillingConfiguration.add_member(:billing_mode, Shapes::ShapeRef.new(shape: BillingMode, required: true, location_name: "BillingMode"))
181
+ BillingConfiguration.struct_class = Types::BillingConfiguration
182
+
172
183
  BlockDeviceMappingRequest.add_member(:device_name, Shapes::ShapeRef.new(shape: DeviceName, location_name: "DeviceName"))
173
184
  BlockDeviceMappingRequest.add_member(:ebs, Shapes::ShapeRef.new(shape: EbsBlockDevice, location_name: "Ebs"))
174
185
  BlockDeviceMappingRequest.add_member(:no_device, Shapes::ShapeRef.new(shape: DeviceName, location_name: "NoDevice"))
@@ -218,6 +229,7 @@ module Aws::WorkspacesInstances
218
229
  CreateWorkspaceInstanceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken" => true}))
219
230
  CreateWorkspaceInstanceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
220
231
  CreateWorkspaceInstanceRequest.add_member(:managed_instance, Shapes::ShapeRef.new(shape: ManagedInstanceRequest, required: true, location_name: "ManagedInstance"))
232
+ CreateWorkspaceInstanceRequest.add_member(:billing_configuration, Shapes::ShapeRef.new(shape: BillingConfiguration, location_name: "BillingConfiguration"))
221
233
  CreateWorkspaceInstanceRequest.struct_class = Types::CreateWorkspaceInstanceRequest
222
234
 
223
235
  CreateWorkspaceInstanceResponse.add_member(:workspace_instance_id, Shapes::ShapeRef.new(shape: WorkspaceInstanceId, location_name: "WorkspaceInstanceId"))
@@ -280,6 +292,7 @@ module Aws::WorkspacesInstances
280
292
  GetWorkspaceInstanceResponse.add_member(:provision_state, Shapes::ShapeRef.new(shape: ProvisionStateEnum, location_name: "ProvisionState"))
281
293
  GetWorkspaceInstanceResponse.add_member(:workspace_instance_id, Shapes::ShapeRef.new(shape: WorkspaceInstanceId, location_name: "WorkspaceInstanceId"))
282
294
  GetWorkspaceInstanceResponse.add_member(:ec2_managed_instance, Shapes::ShapeRef.new(shape: EC2ManagedInstance, location_name: "EC2ManagedInstance"))
295
+ GetWorkspaceInstanceResponse.add_member(:billing_configuration, Shapes::ShapeRef.new(shape: BillingConfiguration, location_name: "BillingConfiguration"))
283
296
  GetWorkspaceInstanceResponse.struct_class = Types::GetWorkspaceInstanceResponse
284
297
 
285
298
  HibernationOptionsRequest.add_member(:configured, Shapes::ShapeRef.new(shape: Boolean, location_name: "Configured"))
@@ -289,6 +302,11 @@ module Aws::WorkspacesInstances
289
302
  IamInstanceProfileSpecification.add_member(:name, Shapes::ShapeRef.new(shape: String64, location_name: "Name"))
290
303
  IamInstanceProfileSpecification.struct_class = Types::IamInstanceProfileSpecification
291
304
 
305
+ InstanceConfigurationFilter.add_member(:billing_mode, Shapes::ShapeRef.new(shape: BillingMode, required: true, location_name: "BillingMode"))
306
+ InstanceConfigurationFilter.add_member(:platform_type, Shapes::ShapeRef.new(shape: PlatformTypeEnum, required: true, location_name: "PlatformType"))
307
+ InstanceConfigurationFilter.add_member(:tenancy, Shapes::ShapeRef.new(shape: InstanceConfigurationTenancyEnum, required: true, location_name: "Tenancy"))
308
+ InstanceConfigurationFilter.struct_class = Types::InstanceConfigurationFilter
309
+
292
310
  InstanceIpv6Address.add_member(:ipv_6_address, Shapes::ShapeRef.new(shape: Ipv6Address, location_name: "Ipv6Address"))
293
311
  InstanceIpv6Address.add_member(:is_primary_ipv_6, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsPrimaryIpv6"))
294
312
  InstanceIpv6Address.struct_class = Types::InstanceIpv6Address
@@ -334,6 +352,7 @@ module Aws::WorkspacesInstances
334
352
  InstanceNetworkPerformanceOptionsRequest.struct_class = Types::InstanceNetworkPerformanceOptionsRequest
335
353
 
336
354
  InstanceTypeInfo.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "InstanceType"))
355
+ InstanceTypeInfo.add_member(:supported_instance_configurations, Shapes::ShapeRef.new(shape: SupportedInstanceConfigurations, location_name: "SupportedInstanceConfigurations"))
337
356
  InstanceTypeInfo.struct_class = Types::InstanceTypeInfo
338
357
 
339
358
  InstanceTypes.member = Shapes::ShapeRef.new(shape: InstanceTypeInfo)
@@ -359,8 +378,9 @@ module Aws::WorkspacesInstances
359
378
 
360
379
  LicenseSpecifications.member = Shapes::ShapeRef.new(shape: LicenseConfigurationRequest)
361
380
 
362
- ListInstanceTypesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
381
+ ListInstanceTypesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListInstanceTypesMaxResults, location_name: "MaxResults"))
363
382
  ListInstanceTypesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
383
+ ListInstanceTypesRequest.add_member(:instance_configuration_filter, Shapes::ShapeRef.new(shape: InstanceConfigurationFilter, location_name: "InstanceConfigurationFilter"))
364
384
  ListInstanceTypesRequest.struct_class = Types::ListInstanceTypesRequest
365
385
 
366
386
  ListInstanceTypesResponse.add_member(:instance_types, Shapes::ShapeRef.new(shape: InstanceTypes, required: true, location_name: "InstanceTypes"))
@@ -480,6 +500,13 @@ module Aws::WorkspacesInstances
480
500
  SpotMarketOptions.add_member(:valid_until_utc, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ValidUntilUtc"))
481
501
  SpotMarketOptions.struct_class = Types::SpotMarketOptions
482
502
 
503
+ SupportedInstanceConfiguration.add_member(:billing_mode, Shapes::ShapeRef.new(shape: BillingMode, location_name: "BillingMode"))
504
+ SupportedInstanceConfiguration.add_member(:platform_type, Shapes::ShapeRef.new(shape: PlatformTypeEnum, location_name: "PlatformType"))
505
+ SupportedInstanceConfiguration.add_member(:tenancy, Shapes::ShapeRef.new(shape: InstanceConfigurationTenancyEnum, location_name: "Tenancy"))
506
+ SupportedInstanceConfiguration.struct_class = Types::SupportedInstanceConfiguration
507
+
508
+ SupportedInstanceConfigurations.member = Shapes::ShapeRef.new(shape: SupportedInstanceConfiguration)
509
+
483
510
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
484
511
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
485
512
  Tag.struct_class = Types::Tag
@@ -54,6 +54,23 @@ module Aws::WorkspacesInstances
54
54
  #
55
55
  class AssociateVolumeResponse < Aws::EmptyStructure; end
56
56
 
57
+ # Defines billing configuration settings for WorkSpace Instances,
58
+ # containing the billing mode selection.
59
+ #
60
+ # @!attribute [rw] billing_mode
61
+ # Specifies the billing mode for WorkSpace Instances. MONTHLY provides
62
+ # fixed monthly rates for predictable budgeting, while HOURLY enables
63
+ # pay-per-second billing for actual usage.
64
+ # @return [String]
65
+ #
66
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/BillingConfiguration AWS API Documentation
67
+ #
68
+ class BillingConfiguration < Struct.new(
69
+ :billing_mode)
70
+ SENSITIVE = []
71
+ include Aws::Structure
72
+ end
73
+
57
74
  # Defines device mapping for WorkSpace Instance storage.
58
75
  #
59
76
  # @!attribute [rw] device_name
@@ -290,12 +307,19 @@ module Aws::WorkspacesInstances
290
307
  # including network, compute, and storage parameters.
291
308
  # @return [Types::ManagedInstanceRequest]
292
309
  #
310
+ # @!attribute [rw] billing_configuration
311
+ # Optional billing configuration for the WorkSpace Instance. Allows
312
+ # customers to specify their preferred billing mode when creating a
313
+ # new instance. Defaults to hourly billing if not specified.
314
+ # @return [Types::BillingConfiguration]
315
+ #
293
316
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateWorkspaceInstanceRequest AWS API Documentation
294
317
  #
295
318
  class CreateWorkspaceInstanceRequest < Struct.new(
296
319
  :client_token,
297
320
  :tags,
298
- :managed_instance)
321
+ :managed_instance,
322
+ :billing_configuration)
299
323
  SENSITIVE = [:client_token]
300
324
  include Aws::Structure
301
325
  end
@@ -567,6 +591,11 @@ module Aws::WorkspacesInstances
567
591
  # Details of the associated EC2 managed instance.
568
592
  # @return [Types::EC2ManagedInstance]
569
593
  #
594
+ # @!attribute [rw] billing_configuration
595
+ # Returns the current billing configuration for the WorkSpace
596
+ # Instance, indicating the active billing mode.
597
+ # @return [Types::BillingConfiguration]
598
+ #
570
599
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/GetWorkspaceInstanceResponse AWS API Documentation
571
600
  #
572
601
  class GetWorkspaceInstanceResponse < Struct.new(
@@ -574,7 +603,8 @@ module Aws::WorkspacesInstances
574
603
  :ec2_instance_errors,
575
604
  :provision_state,
576
605
  :workspace_instance_id,
577
- :ec2_managed_instance)
606
+ :ec2_managed_instance,
607
+ :billing_configuration)
578
608
  SENSITIVE = []
579
609
  include Aws::Structure
580
610
  end
@@ -612,6 +642,39 @@ module Aws::WorkspacesInstances
612
642
  include Aws::Structure
613
643
  end
614
644
 
645
+ # Defines filtering criteria for WorkSpace Instance type searches.
646
+ # Combines multiple filter conditions including billing mode, platform
647
+ # type, and tenancy to help customers find instance types that meet
648
+ # their specific requirements.
649
+ #
650
+ # @!attribute [rw] billing_mode
651
+ # Filters WorkSpace Instance types based on supported billing modes.
652
+ # Allows customers to search for instance types that support their
653
+ # preferred billing model, such as HOURLY or MONTHLY billing.
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] platform_type
657
+ # Filters WorkSpace Instance types by operating system platform.
658
+ # Allows customers to find instances that support their desired OS,
659
+ # such as Windows, Linux/UNIX, Ubuntu Pro, RHEL, or SUSE.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] tenancy
663
+ # Filters WorkSpace Instance types by tenancy model. Allows customers
664
+ # to find instances that match their tenancy requirements, such as
665
+ # SHARED or DEDICATED.
666
+ # @return [String]
667
+ #
668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceConfigurationFilter AWS API Documentation
669
+ #
670
+ class InstanceConfigurationFilter < Struct.new(
671
+ :billing_mode,
672
+ :platform_type,
673
+ :tenancy)
674
+ SENSITIVE = []
675
+ include Aws::Structure
676
+ end
677
+
615
678
  # Represents an IPv6 address configuration for a WorkSpace Instance.
616
679
  #
617
680
  # @!attribute [rw] ipv_6_address
@@ -833,10 +896,18 @@ module Aws::WorkspacesInstances
833
896
  # Unique identifier for the WorkSpace Instance type.
834
897
  # @return [String]
835
898
  #
899
+ # @!attribute [rw] supported_instance_configurations
900
+ # Lists all valid combinations of tenancy, platform type, and billing
901
+ # mode supported for the specific WorkSpace Instance type. Contains
902
+ # the complete set of configuration options available for this
903
+ # instance type.
904
+ # @return [Array<Types::SupportedInstanceConfiguration>]
905
+ #
836
906
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/InstanceTypeInfo AWS API Documentation
837
907
  #
838
908
  class InstanceTypeInfo < Struct.new(
839
- :instance_type)
909
+ :instance_type,
910
+ :supported_instance_configurations)
840
911
  SENSITIVE = []
841
912
  include Aws::Structure
842
913
  end
@@ -915,11 +986,19 @@ module Aws::WorkspacesInstances
915
986
  # results.
916
987
  # @return [String]
917
988
  #
989
+ # @!attribute [rw] instance_configuration_filter
990
+ # Optional filter to narrow instance type results based on
991
+ # configuration requirements. Only returns instance types that support
992
+ # the specified combination of tenancy, platform type, and billing
993
+ # mode.
994
+ # @return [Types::InstanceConfigurationFilter]
995
+ #
918
996
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListInstanceTypesRequest AWS API Documentation
919
997
  #
920
998
  class ListInstanceTypesRequest < Struct.new(
921
999
  :max_results,
922
- :next_token)
1000
+ :next_token,
1001
+ :instance_configuration_filter)
923
1002
  SENSITIVE = [:next_token]
924
1003
  include Aws::Structure
925
1004
  end
@@ -1442,6 +1521,35 @@ module Aws::WorkspacesInstances
1442
1521
  include Aws::Structure
1443
1522
  end
1444
1523
 
1524
+ # Represents a single valid configuration combination that an instance
1525
+ # type supports, combining tenancy, platform type, and billing mode into
1526
+ # one complete configuration specification.
1527
+ #
1528
+ # @!attribute [rw] billing_mode
1529
+ # Specifies the billing mode supported in this configuration
1530
+ # combination.
1531
+ # @return [String]
1532
+ #
1533
+ # @!attribute [rw] platform_type
1534
+ # Specifies the operating system platform supported in this
1535
+ # configuration combination.
1536
+ # @return [String]
1537
+ #
1538
+ # @!attribute [rw] tenancy
1539
+ # Specifies the tenancy model supported in this configuration
1540
+ # combination.
1541
+ # @return [String]
1542
+ #
1543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/SupportedInstanceConfiguration AWS API Documentation
1544
+ #
1545
+ class SupportedInstanceConfiguration < Struct.new(
1546
+ :billing_mode,
1547
+ :platform_type,
1548
+ :tenancy)
1549
+ SENSITIVE = []
1550
+ include Aws::Structure
1551
+ end
1552
+
1445
1553
  # Represents a key-value metadata tag.
1446
1554
  #
1447
1555
  # @!attribute [rw] key
@@ -55,7 +55,7 @@ module Aws::WorkspacesInstances
55
55
  autoload :EndpointProvider, 'aws-sdk-workspacesinstances/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-workspacesinstances/endpoints'
57
57
 
58
- GEM_VERSION = '1.11.0'
58
+ GEM_VERSION = '1.12.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -302,6 +302,9 @@ module Aws
302
302
  },
303
303
  ]?,
304
304
  user_data: ::String?
305
+ },
306
+ ?billing_configuration: {
307
+ billing_mode: ("MONTHLY" | "HOURLY")
305
308
  }
306
309
  ) -> _CreateWorkspaceInstanceResponseSuccess
307
310
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateWorkspaceInstanceResponseSuccess
@@ -343,6 +346,7 @@ module Aws
343
346
  def provision_state: () -> ("ALLOCATING" | "ALLOCATED" | "DEALLOCATING" | "DEALLOCATED" | "ERROR_ALLOCATING" | "ERROR_DEALLOCATING")
344
347
  def workspace_instance_id: () -> ::String
345
348
  def ec2_managed_instance: () -> Types::EC2ManagedInstance
349
+ def billing_configuration: () -> Types::BillingConfiguration
346
350
  end
347
351
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WorkspacesInstances/Client.html#get_workspace_instance-instance_method
348
352
  def get_workspace_instance: (
@@ -358,7 +362,12 @@ module Aws
358
362
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WorkspacesInstances/Client.html#list_instance_types-instance_method
359
363
  def list_instance_types: (
360
364
  ?max_results: ::Integer,
361
- ?next_token: ::String
365
+ ?next_token: ::String,
366
+ ?instance_configuration_filter: {
367
+ billing_mode: ("MONTHLY" | "HOURLY"),
368
+ platform_type: ("Windows" | "Windows BYOL" | "Linux/UNIX" | "Ubuntu Pro Linux" | "Red Hat Enterprise Linux" | "Red Hat BYOL Linux" | "SUSE Linux"),
369
+ tenancy: ("SHARED" | "DEDICATED")
370
+ }
362
371
  ) -> _ListInstanceTypesResponseSuccess
363
372
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListInstanceTypesResponseSuccess
364
373
 
data/sig/types.rbs CHANGED
@@ -23,6 +23,11 @@ module Aws::WorkspacesInstances
23
23
  class AssociateVolumeResponse < Aws::EmptyStructure
24
24
  end
25
25
 
26
+ class BillingConfiguration
27
+ attr_accessor billing_mode: ("MONTHLY" | "HOURLY")
28
+ SENSITIVE: []
29
+ end
30
+
26
31
  class BlockDeviceMappingRequest
27
32
  attr_accessor device_name: ::String
28
33
  attr_accessor ebs: Types::EbsBlockDevice
@@ -87,6 +92,7 @@ module Aws::WorkspacesInstances
87
92
  attr_accessor client_token: ::String
88
93
  attr_accessor tags: ::Array[Types::Tag]
89
94
  attr_accessor managed_instance: Types::ManagedInstanceRequest
95
+ attr_accessor billing_configuration: Types::BillingConfiguration
90
96
  SENSITIVE: [:client_token]
91
97
  end
92
98
 
@@ -176,6 +182,7 @@ module Aws::WorkspacesInstances
176
182
  attr_accessor provision_state: ("ALLOCATING" | "ALLOCATED" | "DEALLOCATING" | "DEALLOCATED" | "ERROR_ALLOCATING" | "ERROR_DEALLOCATING")
177
183
  attr_accessor workspace_instance_id: ::String
178
184
  attr_accessor ec2_managed_instance: Types::EC2ManagedInstance
185
+ attr_accessor billing_configuration: Types::BillingConfiguration
179
186
  SENSITIVE: []
180
187
  end
181
188
 
@@ -190,6 +197,13 @@ module Aws::WorkspacesInstances
190
197
  SENSITIVE: []
191
198
  end
192
199
 
200
+ class InstanceConfigurationFilter
201
+ attr_accessor billing_mode: ("MONTHLY" | "HOURLY")
202
+ attr_accessor platform_type: ("Windows" | "Windows BYOL" | "Linux/UNIX" | "Ubuntu Pro Linux" | "Red Hat Enterprise Linux" | "Red Hat BYOL Linux" | "SUSE Linux")
203
+ attr_accessor tenancy: ("SHARED" | "DEDICATED")
204
+ SENSITIVE: []
205
+ end
206
+
193
207
  class InstanceIpv6Address
194
208
  attr_accessor ipv_6_address: ::String
195
209
  attr_accessor is_primary_ipv_6: bool
@@ -248,6 +262,7 @@ module Aws::WorkspacesInstances
248
262
 
249
263
  class InstanceTypeInfo
250
264
  attr_accessor instance_type: ::String
265
+ attr_accessor supported_instance_configurations: ::Array[Types::SupportedInstanceConfiguration]
251
266
  SENSITIVE: []
252
267
  end
253
268
 
@@ -275,6 +290,7 @@ module Aws::WorkspacesInstances
275
290
  class ListInstanceTypesRequest
276
291
  attr_accessor max_results: ::Integer
277
292
  attr_accessor next_token: ::String
293
+ attr_accessor instance_configuration_filter: Types::InstanceConfigurationFilter
278
294
  SENSITIVE: [:next_token]
279
295
  end
280
296
 
@@ -415,6 +431,13 @@ module Aws::WorkspacesInstances
415
431
  SENSITIVE: []
416
432
  end
417
433
 
434
+ class SupportedInstanceConfiguration
435
+ attr_accessor billing_mode: ("MONTHLY" | "HOURLY")
436
+ attr_accessor platform_type: ("Windows" | "Windows BYOL" | "Linux/UNIX" | "Ubuntu Pro Linux" | "Red Hat Enterprise Linux" | "Red Hat BYOL Linux" | "SUSE Linux")
437
+ attr_accessor tenancy: ("SHARED" | "DEDICATED")
438
+ SENSITIVE: []
439
+ end
440
+
418
441
  class Tag
419
442
  attr_accessor key: ::String
420
443
  attr_accessor value: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-workspacesinstances
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services