aws-sdk-rolesanywhere 1.14.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10a15c0fede13d1ad9028644bbe1245bfe12a1cfa85b63c219a142fb3b1d6d17
4
- data.tar.gz: ba0ce7465c77413722107c92e2d866e7fae8dee5ac4d079013176f3d46420f12
3
+ metadata.gz: 0e368e10ead923bb5aec3e3a5869b4527c597ddaf3d6d71c212b198eeadc1955
4
+ data.tar.gz: 2c398846cd5c1876d8f73a21aa674dd8553cc4f494ab3fc01815572f552d86b1
5
5
  SHA512:
6
- metadata.gz: 2bb3a55c995dff380338a622791b2a0c38f450682d89135cab40663502828b9030cbb21c89a6285b1f3875c2dfe48330405dec03903eb3b0592e6e703b5e960b
7
- data.tar.gz: 34376dc34533a016ebb285b2e7c98bada99ce344a9868e5af12c12d7d5eb89bb30b56394b16187dd3c8e3fa46fd4ea9d7062ac82d699dc48d99f926b2186bebf
6
+ metadata.gz: 35f45cfd854a9ec41f5c7acdcc712307dc8f551ff9876666446d3458030fc421ec7db639369365871337418d400debd846d4dd0a37e4aa28cfca6e0cc413ee6f
7
+ data.tar.gz: b75bc73b02c10f45c9979ea7c71b5437cf30418850550f2c5954a2a686f7ef97041d07db7d12d302298316f22c08d84c3248ec75b02f8e7ef45daa37c8b23185
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.16.0 (2024-04-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.15.0 (2024-04-18)
10
+ ------------------
11
+
12
+ * Feature - This release introduces the PutAttributeMapping and DeleteAttributeMapping APIs. IAM Roles Anywhere now provides the capability to define a set of mapping rules, allowing customers to specify which data is extracted from their X.509 end-entity certificates.
13
+
4
14
  1.14.0 (2024-04-02)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.14.0
1
+ 1.16.0
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::RolesAnywhere
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::RolesAnywhere
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -337,50 +346,65 @@ module Aws::RolesAnywhere
337
346
  # @option options [Aws::RolesAnywhere::EndpointProvider] :endpoint_provider
338
347
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::RolesAnywhere::EndpointParameters`
339
348
  #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
355
- #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
349
+ # @option options [Float] :http_continue_timeout (1)
350
+ # The number of seconds to wait for a 100-continue response before sending the
351
+ # request body. This option has no effect unless the request has "Expect"
352
+ # header set to "100-continue". Defaults to `nil` which disables this
353
+ # behaviour. This value can safely be set per request on the session.
354
+ #
355
+ # @option options [Float] :http_idle_timeout (5)
356
+ # The number of seconds a connection is allowed to sit idle before it
357
+ # is considered stale. Stale connections are closed and removed from the
358
+ # pool before making a request.
359
+ #
360
+ # @option options [Float] :http_open_timeout (15)
361
+ # The default number of seconds to wait for response data.
362
+ # This value can safely be set per-request on the session.
363
+ #
364
+ # @option options [URI::HTTP,String] :http_proxy
365
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
366
+ #
367
+ # @option options [Float] :http_read_timeout (60)
368
+ # The default number of seconds to wait for response data.
369
+ # This value can safely be set per-request on the session.
370
+ #
371
+ # @option options [Boolean] :http_wire_trace (false)
372
+ # When `true`, HTTP debug output will be sent to the `:logger`.
373
+ #
374
+ # @option options [Proc] :on_chunk_received
375
+ # When a Proc object is provided, it will be used as callback when each chunk
376
+ # of the response body is received. It provides three arguments: the chunk,
377
+ # the number of bytes received, and the total number of
378
+ # bytes in the response (or nil if the server did not send a `content-length`).
379
+ #
380
+ # @option options [Proc] :on_chunk_sent
381
+ # When a Proc object is provided, it will be used as callback when each chunk
382
+ # of the request body is sent. It provides three arguments: the chunk,
383
+ # the number of bytes read from the body, and the total number of
384
+ # bytes in the body.
385
+ #
386
+ # @option options [Boolean] :raise_response_errors (true)
387
+ # When `true`, response errors are raised.
388
+ #
389
+ # @option options [String] :ssl_ca_bundle
390
+ # Full path to the SSL certificate authority bundle file that should be used when
391
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
392
+ # `:ssl_ca_directory` the the system default will be used if available.
393
+ #
394
+ # @option options [String] :ssl_ca_directory
395
+ # Full path of the directory that contains the unbundled SSL certificate
396
+ # authority files for verifying peer certificates. If you do
397
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
398
+ # default will be used if available.
365
399
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
400
+ # @option options [String] :ssl_ca_store
401
+ # Sets the X509::Store to verify peer certificate.
368
402
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
403
+ # @option options [Float] :ssl_timeout
404
+ # Sets the SSL timeout in seconds
372
405
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
378
- #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
406
+ # @option options [Boolean] :ssl_verify_peer (true)
407
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
408
  #
385
409
  def initialize(*args)
386
410
  super
@@ -453,6 +477,10 @@ module Aws::RolesAnywhere
453
477
  #
454
478
  # @example Response structure
455
479
  #
480
+ # resp.profile.attribute_mappings #=> Array
481
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
482
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
483
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
456
484
  # resp.profile.created_at #=> Time
457
485
  # resp.profile.created_by #=> String
458
486
  # resp.profile.duration_seconds #=> Integer
@@ -560,6 +588,62 @@ module Aws::RolesAnywhere
560
588
  req.send_request(options)
561
589
  end
562
590
 
591
+ # Delete an entry from the attribute mapping rules enforced by a given
592
+ # profile.
593
+ #
594
+ # @option params [required, String] :certificate_field
595
+ # Fields (x509Subject, x509Issuer and x509SAN) within X.509
596
+ # certificates.
597
+ #
598
+ # @option params [required, String] :profile_id
599
+ # The unique identifier of the profile.
600
+ #
601
+ # @option params [Array<String>] :specifiers
602
+ # A list of specifiers of a certificate field; for example, CN, OU, UID
603
+ # from a Subject.
604
+ #
605
+ # @return [Types::DeleteAttributeMappingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
606
+ #
607
+ # * {Types::DeleteAttributeMappingResponse#profile #profile} => Types::ProfileDetail
608
+ #
609
+ # @example Request syntax with placeholder values
610
+ #
611
+ # resp = client.delete_attribute_mapping({
612
+ # certificate_field: "x509Subject", # required, accepts x509Subject, x509Issuer, x509SAN
613
+ # profile_id: "Uuid", # required
614
+ # specifiers: ["String"],
615
+ # })
616
+ #
617
+ # @example Response structure
618
+ #
619
+ # resp.profile.attribute_mappings #=> Array
620
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
621
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
622
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
623
+ # resp.profile.created_at #=> Time
624
+ # resp.profile.created_by #=> String
625
+ # resp.profile.duration_seconds #=> Integer
626
+ # resp.profile.enabled #=> Boolean
627
+ # resp.profile.managed_policy_arns #=> Array
628
+ # resp.profile.managed_policy_arns[0] #=> String
629
+ # resp.profile.name #=> String
630
+ # resp.profile.profile_arn #=> String
631
+ # resp.profile.profile_id #=> String
632
+ # resp.profile.require_instance_properties #=> Boolean
633
+ # resp.profile.role_arns #=> Array
634
+ # resp.profile.role_arns[0] #=> String
635
+ # resp.profile.session_policy #=> String
636
+ # resp.profile.updated_at #=> Time
637
+ #
638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteAttributeMapping AWS API Documentation
639
+ #
640
+ # @overload delete_attribute_mapping(params = {})
641
+ # @param [Hash] params ({})
642
+ def delete_attribute_mapping(params = {}, options = {})
643
+ req = build_request(:delete_attribute_mapping, params)
644
+ req.send_request(options)
645
+ end
646
+
563
647
  # Deletes a certificate revocation list (CRL).
564
648
  #
565
649
  # <b>Required permissions: </b> `rolesanywhere:DeleteCrl`.
@@ -616,6 +700,10 @@ module Aws::RolesAnywhere
616
700
  #
617
701
  # @example Response structure
618
702
  #
703
+ # resp.profile.attribute_mappings #=> Array
704
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
705
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
706
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
619
707
  # resp.profile.created_at #=> Time
620
708
  # resp.profile.created_by #=> String
621
709
  # resp.profile.duration_seconds #=> Integer
@@ -741,6 +829,10 @@ module Aws::RolesAnywhere
741
829
  #
742
830
  # @example Response structure
743
831
  #
832
+ # resp.profile.attribute_mappings #=> Array
833
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
834
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
835
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
744
836
  # resp.profile.created_at #=> Time
745
837
  # resp.profile.created_by #=> String
746
838
  # resp.profile.duration_seconds #=> Integer
@@ -868,6 +960,10 @@ module Aws::RolesAnywhere
868
960
  #
869
961
  # @example Response structure
870
962
  #
963
+ # resp.profile.attribute_mappings #=> Array
964
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
965
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
966
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
871
967
  # resp.profile.created_at #=> Time
872
968
  # resp.profile.created_by #=> String
873
969
  # resp.profile.duration_seconds #=> Integer
@@ -993,6 +1089,10 @@ module Aws::RolesAnywhere
993
1089
  #
994
1090
  # @example Response structure
995
1091
  #
1092
+ # resp.profile.attribute_mappings #=> Array
1093
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
1094
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
1095
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
996
1096
  # resp.profile.created_at #=> Time
997
1097
  # resp.profile.created_by #=> String
998
1098
  # resp.profile.duration_seconds #=> Integer
@@ -1256,6 +1356,10 @@ module Aws::RolesAnywhere
1256
1356
  #
1257
1357
  # resp.next_token #=> String
1258
1358
  # resp.profiles #=> Array
1359
+ # resp.profiles[0].attribute_mappings #=> Array
1360
+ # resp.profiles[0].attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
1361
+ # resp.profiles[0].attribute_mappings[0].mapping_rules #=> Array
1362
+ # resp.profiles[0].attribute_mappings[0].mapping_rules[0].specifier #=> String
1259
1363
  # resp.profiles[0].created_at #=> Time
1260
1364
  # resp.profiles[0].created_by #=> String
1261
1365
  # resp.profiles[0].duration_seconds #=> Integer
@@ -1416,6 +1520,66 @@ module Aws::RolesAnywhere
1416
1520
  req.send_request(options)
1417
1521
  end
1418
1522
 
1523
+ # Put an entry in the attribute mapping rules that will be enforced by a
1524
+ # given profile. A mapping specifies a certificate field and one or more
1525
+ # specifiers that have contextual meanings.
1526
+ #
1527
+ # @option params [required, String] :certificate_field
1528
+ # Fields (x509Subject, x509Issuer and x509SAN) within X.509
1529
+ # certificates.
1530
+ #
1531
+ # @option params [required, Array<Types::MappingRule>] :mapping_rules
1532
+ # A list of mapping entries for every supported specifier or sub-field.
1533
+ #
1534
+ # @option params [required, String] :profile_id
1535
+ # The unique identifier of the profile.
1536
+ #
1537
+ # @return [Types::PutAttributeMappingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1538
+ #
1539
+ # * {Types::PutAttributeMappingResponse#profile #profile} => Types::ProfileDetail
1540
+ #
1541
+ # @example Request syntax with placeholder values
1542
+ #
1543
+ # resp = client.put_attribute_mapping({
1544
+ # certificate_field: "x509Subject", # required, accepts x509Subject, x509Issuer, x509SAN
1545
+ # mapping_rules: [ # required
1546
+ # {
1547
+ # specifier: "MappingRuleSpecifierString", # required
1548
+ # },
1549
+ # ],
1550
+ # profile_id: "Uuid", # required
1551
+ # })
1552
+ #
1553
+ # @example Response structure
1554
+ #
1555
+ # resp.profile.attribute_mappings #=> Array
1556
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
1557
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
1558
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
1559
+ # resp.profile.created_at #=> Time
1560
+ # resp.profile.created_by #=> String
1561
+ # resp.profile.duration_seconds #=> Integer
1562
+ # resp.profile.enabled #=> Boolean
1563
+ # resp.profile.managed_policy_arns #=> Array
1564
+ # resp.profile.managed_policy_arns[0] #=> String
1565
+ # resp.profile.name #=> String
1566
+ # resp.profile.profile_arn #=> String
1567
+ # resp.profile.profile_id #=> String
1568
+ # resp.profile.require_instance_properties #=> Boolean
1569
+ # resp.profile.role_arns #=> Array
1570
+ # resp.profile.role_arns[0] #=> String
1571
+ # resp.profile.session_policy #=> String
1572
+ # resp.profile.updated_at #=> Time
1573
+ #
1574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/PutAttributeMapping AWS API Documentation
1575
+ #
1576
+ # @overload put_attribute_mapping(params = {})
1577
+ # @param [Hash] params ({})
1578
+ def put_attribute_mapping(params = {}, options = {})
1579
+ req = build_request(:put_attribute_mapping, params)
1580
+ req.send_request(options)
1581
+ end
1582
+
1419
1583
  # Attaches a list of *notification settings* to a trust anchor.
1420
1584
  #
1421
1585
  # A notification setting includes information such as event name,
@@ -1691,6 +1855,10 @@ module Aws::RolesAnywhere
1691
1855
  #
1692
1856
  # @example Response structure
1693
1857
  #
1858
+ # resp.profile.attribute_mappings #=> Array
1859
+ # resp.profile.attribute_mappings[0].certificate_field #=> String, one of "x509Subject", "x509Issuer", "x509SAN"
1860
+ # resp.profile.attribute_mappings[0].mapping_rules #=> Array
1861
+ # resp.profile.attribute_mappings[0].mapping_rules[0].specifier #=> String
1694
1862
  # resp.profile.created_at #=> Time
1695
1863
  # resp.profile.created_by #=> String
1696
1864
  # resp.profile.duration_seconds #=> Integer
@@ -1792,7 +1960,7 @@ module Aws::RolesAnywhere
1792
1960
  params: params,
1793
1961
  config: config)
1794
1962
  context[:gem_name] = 'aws-sdk-rolesanywhere'
1795
- context[:gem_version] = '1.14.0'
1963
+ context[:gem_version] = '1.16.0'
1796
1964
  Seahorse::Client::Request.new(handlers, context)
1797
1965
  end
1798
1966
 
@@ -15,8 +15,11 @@ module Aws::RolesAnywhere
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
18
+ AttributeMapping = Shapes::StructureShape.new(name: 'AttributeMapping')
19
+ AttributeMappings = Shapes::ListShape.new(name: 'AttributeMappings')
18
20
  Blob = Shapes::BlobShape.new(name: 'Blob')
19
21
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
22
+ CertificateField = Shapes::StringShape.new(name: 'CertificateField')
20
23
  CreateProfileRequest = Shapes::StructureShape.new(name: 'CreateProfileRequest')
21
24
  CreateProfileRequestDurationSecondsInteger = Shapes::IntegerShape.new(name: 'CreateProfileRequestDurationSecondsInteger')
22
25
  CreateTrustAnchorRequest = Shapes::StructureShape.new(name: 'CreateTrustAnchorRequest')
@@ -25,6 +28,8 @@ module Aws::RolesAnywhere
25
28
  CrlDetail = Shapes::StructureShape.new(name: 'CrlDetail')
26
29
  CrlDetailResponse = Shapes::StructureShape.new(name: 'CrlDetailResponse')
27
30
  CrlDetails = Shapes::ListShape.new(name: 'CrlDetails')
31
+ DeleteAttributeMappingRequest = Shapes::StructureShape.new(name: 'DeleteAttributeMappingRequest')
32
+ DeleteAttributeMappingResponse = Shapes::StructureShape.new(name: 'DeleteAttributeMappingResponse')
28
33
  ImportCrlRequest = Shapes::StructureShape.new(name: 'ImportCrlRequest')
29
34
  ImportCrlRequestCrlDataBlob = Shapes::BlobShape.new(name: 'ImportCrlRequestCrlDataBlob')
30
35
  InstanceProperties = Shapes::ListShape.new(name: 'InstanceProperties')
@@ -43,6 +48,9 @@ module Aws::RolesAnywhere
43
48
  ListTrustAnchorsResponse = Shapes::StructureShape.new(name: 'ListTrustAnchorsResponse')
44
49
  ManagedPolicyList = Shapes::ListShape.new(name: 'ManagedPolicyList')
45
50
  ManagedPolicyListMemberString = Shapes::StringShape.new(name: 'ManagedPolicyListMemberString')
51
+ MappingRule = Shapes::StructureShape.new(name: 'MappingRule')
52
+ MappingRuleSpecifierString = Shapes::StringShape.new(name: 'MappingRuleSpecifierString')
53
+ MappingRules = Shapes::ListShape.new(name: 'MappingRules')
46
54
  NotificationChannel = Shapes::StringShape.new(name: 'NotificationChannel')
47
55
  NotificationEvent = Shapes::StringShape.new(name: 'NotificationEvent')
48
56
  NotificationSetting = Shapes::StructureShape.new(name: 'NotificationSetting')
@@ -58,6 +66,8 @@ module Aws::RolesAnywhere
58
66
  ProfileDetail = Shapes::StructureShape.new(name: 'ProfileDetail')
59
67
  ProfileDetailResponse = Shapes::StructureShape.new(name: 'ProfileDetailResponse')
60
68
  ProfileDetails = Shapes::ListShape.new(name: 'ProfileDetails')
69
+ PutAttributeMappingRequest = Shapes::StructureShape.new(name: 'PutAttributeMappingRequest')
70
+ PutAttributeMappingResponse = Shapes::StructureShape.new(name: 'PutAttributeMappingResponse')
61
71
  PutNotificationSettingsRequest = Shapes::StructureShape.new(name: 'PutNotificationSettingsRequest')
62
72
  PutNotificationSettingsResponse = Shapes::StructureShape.new(name: 'PutNotificationSettingsResponse')
63
73
  ResetNotificationSettingsRequest = Shapes::StructureShape.new(name: 'ResetNotificationSettingsRequest')
@@ -73,6 +83,7 @@ module Aws::RolesAnywhere
73
83
  Source = Shapes::StructureShape.new(name: 'Source')
74
84
  SourceData = Shapes::UnionShape.new(name: 'SourceData')
75
85
  SourceDataX509CertificateDataString = Shapes::StringShape.new(name: 'SourceDataX509CertificateDataString')
86
+ SpecifierList = Shapes::ListShape.new(name: 'SpecifierList')
76
87
  String = Shapes::StringShape.new(name: 'String')
77
88
  SubjectDetail = Shapes::StructureShape.new(name: 'SubjectDetail')
78
89
  SubjectDetailResponse = Shapes::StructureShape.new(name: 'SubjectDetailResponse')
@@ -106,6 +117,12 @@ module Aws::RolesAnywhere
106
117
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
107
118
  AccessDeniedException.struct_class = Types::AccessDeniedException
108
119
 
120
+ AttributeMapping.add_member(:certificate_field, Shapes::ShapeRef.new(shape: CertificateField, location_name: "certificateField"))
121
+ AttributeMapping.add_member(:mapping_rules, Shapes::ShapeRef.new(shape: MappingRules, location_name: "mappingRules"))
122
+ AttributeMapping.struct_class = Types::AttributeMapping
123
+
124
+ AttributeMappings.member = Shapes::ShapeRef.new(shape: AttributeMapping)
125
+
109
126
  CreateProfileRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CreateProfileRequestDurationSecondsInteger, location_name: "durationSeconds"))
110
127
  CreateProfileRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
111
128
  CreateProfileRequest.add_member(:managed_policy_arns, Shapes::ShapeRef.new(shape: ManagedPolicyList, location_name: "managedPolicyArns"))
@@ -148,6 +165,14 @@ module Aws::RolesAnywhere
148
165
 
149
166
  CrlDetails.member = Shapes::ShapeRef.new(shape: CrlDetail)
150
167
 
168
+ DeleteAttributeMappingRequest.add_member(:certificate_field, Shapes::ShapeRef.new(shape: CertificateField, required: true, location: "querystring", location_name: "certificateField"))
169
+ DeleteAttributeMappingRequest.add_member(:profile_id, Shapes::ShapeRef.new(shape: Uuid, required: true, location: "uri", location_name: "profileId"))
170
+ DeleteAttributeMappingRequest.add_member(:specifiers, Shapes::ShapeRef.new(shape: SpecifierList, location: "querystring", location_name: "specifiers"))
171
+ DeleteAttributeMappingRequest.struct_class = Types::DeleteAttributeMappingRequest
172
+
173
+ DeleteAttributeMappingResponse.add_member(:profile, Shapes::ShapeRef.new(shape: ProfileDetail, required: true, location_name: "profile"))
174
+ DeleteAttributeMappingResponse.struct_class = Types::DeleteAttributeMappingResponse
175
+
151
176
  ImportCrlRequest.add_member(:crl_data, Shapes::ShapeRef.new(shape: ImportCrlRequestCrlDataBlob, required: true, location_name: "crlData"))
152
177
  ImportCrlRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
153
178
  ImportCrlRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "name"))
@@ -193,6 +218,11 @@ module Aws::RolesAnywhere
193
218
 
194
219
  ManagedPolicyList.member = Shapes::ShapeRef.new(shape: ManagedPolicyListMemberString)
195
220
 
221
+ MappingRule.add_member(:specifier, Shapes::ShapeRef.new(shape: MappingRuleSpecifierString, required: true, location_name: "specifier"))
222
+ MappingRule.struct_class = Types::MappingRule
223
+
224
+ MappingRules.member = Shapes::ShapeRef.new(shape: MappingRule)
225
+
196
226
  NotificationSetting.add_member(:channel, Shapes::ShapeRef.new(shape: NotificationChannel, location_name: "channel"))
197
227
  NotificationSetting.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enabled"))
198
228
  NotificationSetting.add_member(:event, Shapes::ShapeRef.new(shape: NotificationEvent, required: true, location_name: "event"))
@@ -216,6 +246,7 @@ module Aws::RolesAnywhere
216
246
 
217
247
  NotificationSettings.member = Shapes::ShapeRef.new(shape: NotificationSetting)
218
248
 
249
+ ProfileDetail.add_member(:attribute_mappings, Shapes::ShapeRef.new(shape: AttributeMappings, location_name: "attributeMappings"))
219
250
  ProfileDetail.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
220
251
  ProfileDetail.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
221
252
  ProfileDetail.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "durationSeconds"))
@@ -235,6 +266,14 @@ module Aws::RolesAnywhere
235
266
 
236
267
  ProfileDetails.member = Shapes::ShapeRef.new(shape: ProfileDetail)
237
268
 
269
+ PutAttributeMappingRequest.add_member(:certificate_field, Shapes::ShapeRef.new(shape: CertificateField, required: true, location_name: "certificateField"))
270
+ PutAttributeMappingRequest.add_member(:mapping_rules, Shapes::ShapeRef.new(shape: MappingRules, required: true, location_name: "mappingRules"))
271
+ PutAttributeMappingRequest.add_member(:profile_id, Shapes::ShapeRef.new(shape: Uuid, required: true, location: "uri", location_name: "profileId"))
272
+ PutAttributeMappingRequest.struct_class = Types::PutAttributeMappingRequest
273
+
274
+ PutAttributeMappingResponse.add_member(:profile, Shapes::ShapeRef.new(shape: ProfileDetail, required: true, location_name: "profile"))
275
+ PutAttributeMappingResponse.struct_class = Types::PutAttributeMappingResponse
276
+
238
277
  PutNotificationSettingsRequest.add_member(:notification_settings, Shapes::ShapeRef.new(shape: NotificationSettings, required: true, location_name: "notificationSettings"))
239
278
  PutNotificationSettingsRequest.add_member(:trust_anchor_id, Shapes::ShapeRef.new(shape: Uuid, required: true, location_name: "trustAnchorId"))
240
279
  PutNotificationSettingsRequest.struct_class = Types::PutNotificationSettingsRequest
@@ -278,6 +317,8 @@ module Aws::RolesAnywhere
278
317
  SourceData.add_member_subclass(:unknown, Types::SourceData::Unknown)
279
318
  SourceData.struct_class = Types::SourceData
280
319
 
320
+ SpecifierList.member = Shapes::ShapeRef.new(shape: String)
321
+
281
322
  SubjectDetail.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
282
323
  SubjectDetail.add_member(:credentials, Shapes::ShapeRef.new(shape: CredentialSummaries, location_name: "credentials"))
283
324
  SubjectDetail.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
@@ -400,6 +441,17 @@ module Aws::RolesAnywhere
400
441
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
401
442
  end)
402
443
 
444
+ api.add_operation(:delete_attribute_mapping, Seahorse::Model::Operation.new.tap do |o|
445
+ o.name = "DeleteAttributeMapping"
446
+ o.http_method = "DELETE"
447
+ o.http_request_uri = "/profiles/{profileId}/mappings"
448
+ o.input = Shapes::ShapeRef.new(shape: DeleteAttributeMappingRequest)
449
+ o.output = Shapes::ShapeRef.new(shape: DeleteAttributeMappingResponse)
450
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
451
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
452
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
453
+ end)
454
+
403
455
  api.add_operation(:delete_crl, Seahorse::Model::Operation.new.tap do |o|
404
456
  o.name = "DeleteCrl"
405
457
  o.http_method = "DELETE"
@@ -611,6 +663,17 @@ module Aws::RolesAnywhere
611
663
  )
612
664
  end)
613
665
 
666
+ api.add_operation(:put_attribute_mapping, Seahorse::Model::Operation.new.tap do |o|
667
+ o.name = "PutAttributeMapping"
668
+ o.http_method = "PUT"
669
+ o.http_request_uri = "/profiles/{profileId}/mappings"
670
+ o.input = Shapes::ShapeRef.new(shape: PutAttributeMappingRequest)
671
+ o.output = Shapes::ShapeRef.new(shape: PutAttributeMappingResponse)
672
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
673
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
674
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
675
+ end)
676
+
614
677
  api.add_operation(:put_notification_settings, Seahorse::Model::Operation.new.tap do |o|
615
678
  o.name = "PutNotificationSettings"
616
679
  o.http_method = "PATCH"
@@ -40,6 +40,20 @@ module Aws::RolesAnywhere
40
40
  end
41
41
  end
42
42
 
43
+ class DeleteAttributeMapping
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::RolesAnywhere::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
43
57
  class DeleteCrl
44
58
  def self.build(context)
45
59
  unless context.config.regional_endpoint
@@ -306,6 +320,20 @@ module Aws::RolesAnywhere
306
320
  end
307
321
  end
308
322
 
323
+ class PutAttributeMapping
324
+ def self.build(context)
325
+ unless context.config.regional_endpoint
326
+ endpoint = context.config.endpoint.to_s
327
+ end
328
+ Aws::RolesAnywhere::EndpointParameters.new(
329
+ region: context.config.region,
330
+ use_dual_stack: context.config.use_dualstack_endpoint,
331
+ use_fips: context.config.use_fips_endpoint,
332
+ endpoint: endpoint,
333
+ )
334
+ end
335
+ end
336
+
309
337
  class PutNotificationSettings
310
338
  def self.build(context)
311
339
  unless context.config.regional_endpoint
@@ -62,6 +62,8 @@ module Aws::RolesAnywhere
62
62
  Aws::RolesAnywhere::Endpoints::CreateProfile.build(context)
63
63
  when :create_trust_anchor
64
64
  Aws::RolesAnywhere::Endpoints::CreateTrustAnchor.build(context)
65
+ when :delete_attribute_mapping
66
+ Aws::RolesAnywhere::Endpoints::DeleteAttributeMapping.build(context)
65
67
  when :delete_crl
66
68
  Aws::RolesAnywhere::Endpoints::DeleteCrl.build(context)
67
69
  when :delete_profile
@@ -100,6 +102,8 @@ module Aws::RolesAnywhere
100
102
  Aws::RolesAnywhere::Endpoints::ListTagsForResource.build(context)
101
103
  when :list_trust_anchors
102
104
  Aws::RolesAnywhere::Endpoints::ListTrustAnchors.build(context)
105
+ when :put_attribute_mapping
106
+ Aws::RolesAnywhere::Endpoints::PutAttributeMapping.build(context)
103
107
  when :put_notification_settings
104
108
  Aws::RolesAnywhere::Endpoints::PutNotificationSettings.build(context)
105
109
  when :reset_notification_settings
@@ -23,6 +23,27 @@ module Aws::RolesAnywhere
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # A mapping applied to the authenticating end-entity certificate.
27
+ #
28
+ # @!attribute [rw] certificate_field
29
+ # Fields (x509Subject, x509Issuer and x509SAN) within X.509
30
+ # certificates.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] mapping_rules
34
+ # A list of mapping entries for every supported specifier or
35
+ # sub-field.
36
+ # @return [Array<Types::MappingRule>]
37
+ #
38
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/AttributeMapping AWS API Documentation
39
+ #
40
+ class AttributeMapping < Struct.new(
41
+ :certificate_field,
42
+ :mapping_rules)
43
+ SENSITIVE = []
44
+ include Aws::Structure
45
+ end
46
+
26
47
  # @!attribute [rw] duration_seconds
27
48
  # Used to determine how long sessions vended using this profile are
28
49
  # valid for. See the `Expiration` section of the [CreateSession API
@@ -223,6 +244,42 @@ module Aws::RolesAnywhere
223
244
  include Aws::Structure
224
245
  end
225
246
 
247
+ # @!attribute [rw] certificate_field
248
+ # Fields (x509Subject, x509Issuer and x509SAN) within X.509
249
+ # certificates.
250
+ # @return [String]
251
+ #
252
+ # @!attribute [rw] profile_id
253
+ # The unique identifier of the profile.
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] specifiers
257
+ # A list of specifiers of a certificate field; for example, CN, OU,
258
+ # UID from a Subject.
259
+ # @return [Array<String>]
260
+ #
261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteAttributeMappingRequest AWS API Documentation
262
+ #
263
+ class DeleteAttributeMappingRequest < Struct.new(
264
+ :certificate_field,
265
+ :profile_id,
266
+ :specifiers)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
271
+ # @!attribute [rw] profile
272
+ # The state of the profile after a read or write operation.
273
+ # @return [Types::ProfileDetail]
274
+ #
275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteAttributeMappingResponse AWS API Documentation
276
+ #
277
+ class DeleteAttributeMappingResponse < Struct.new(
278
+ :profile)
279
+ SENSITIVE = []
280
+ include Aws::Structure
281
+ end
282
+
226
283
  # @!attribute [rw] crl_data
227
284
  # The x509 v3 specified certificate revocation list (CRL).
228
285
  # @return [String]
@@ -401,6 +458,21 @@ module Aws::RolesAnywhere
401
458
  include Aws::Structure
402
459
  end
403
460
 
461
+ # A single mapping entry for each supported specifier or sub-field.
462
+ #
463
+ # @!attribute [rw] specifier
464
+ # Specifier within a certificate field, such as CN, OU, or UID from
465
+ # the Subject field.
466
+ # @return [String]
467
+ #
468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/MappingRule AWS API Documentation
469
+ #
470
+ class MappingRule < Struct.new(
471
+ :specifier)
472
+ SENSITIVE = []
473
+ include Aws::Structure
474
+ end
475
+
404
476
  # Customizable notification settings that will be applied to
405
477
  # notification events. IAM Roles Anywhere consumes these settings while
406
478
  # notifying across multiple channels - CloudWatch metrics, EventBridge,
@@ -511,6 +583,10 @@ module Aws::RolesAnywhere
511
583
 
512
584
  # The state of the profile after a read or write operation.
513
585
  #
586
+ # @!attribute [rw] attribute_mappings
587
+ # A mapping applied to the authenticating end-entity certificate.
588
+ # @return [Array<Types::AttributeMapping>]
589
+ #
514
590
  # @!attribute [rw] created_at
515
591
  # The ISO-8601 timestamp when the profile was created.
516
592
  # @return [Time]
@@ -573,6 +649,7 @@ module Aws::RolesAnywhere
573
649
  # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ProfileDetail AWS API Documentation
574
650
  #
575
651
  class ProfileDetail < Struct.new(
652
+ :attribute_mappings,
576
653
  :created_at,
577
654
  :created_by,
578
655
  :duration_seconds,
@@ -601,6 +678,42 @@ module Aws::RolesAnywhere
601
678
  include Aws::Structure
602
679
  end
603
680
 
681
+ # @!attribute [rw] certificate_field
682
+ # Fields (x509Subject, x509Issuer and x509SAN) within X.509
683
+ # certificates.
684
+ # @return [String]
685
+ #
686
+ # @!attribute [rw] mapping_rules
687
+ # A list of mapping entries for every supported specifier or
688
+ # sub-field.
689
+ # @return [Array<Types::MappingRule>]
690
+ #
691
+ # @!attribute [rw] profile_id
692
+ # The unique identifier of the profile.
693
+ # @return [String]
694
+ #
695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/PutAttributeMappingRequest AWS API Documentation
696
+ #
697
+ class PutAttributeMappingRequest < Struct.new(
698
+ :certificate_field,
699
+ :mapping_rules,
700
+ :profile_id)
701
+ SENSITIVE = []
702
+ include Aws::Structure
703
+ end
704
+
705
+ # @!attribute [rw] profile
706
+ # The state of the profile after a read or write operation.
707
+ # @return [Types::ProfileDetail]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/PutAttributeMappingResponse AWS API Documentation
710
+ #
711
+ class PutAttributeMappingResponse < Struct.new(
712
+ :profile)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
604
717
  # @!attribute [rw] notification_settings
605
718
  # A list of notification settings to be associated to the trust
606
719
  # anchor.
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-rolesanywhere/customizations'
52
52
  # @!group service
53
53
  module Aws::RolesAnywhere
54
54
 
55
- GEM_VERSION = '1.14.0'
55
+ GEM_VERSION = '1.16.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -126,6 +126,18 @@ module Aws
126
126
  ) -> _CreateTrustAnchorResponseSuccess
127
127
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateTrustAnchorResponseSuccess
128
128
 
129
+ interface _DeleteAttributeMappingResponseSuccess
130
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteAttributeMappingResponse]
131
+ def profile: () -> Types::ProfileDetail
132
+ end
133
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RolesAnywhere/Client.html#delete_attribute_mapping-instance_method
134
+ def delete_attribute_mapping: (
135
+ certificate_field: ("x509Subject" | "x509Issuer" | "x509SAN"),
136
+ profile_id: ::String,
137
+ ?specifiers: Array[::String]
138
+ ) -> _DeleteAttributeMappingResponseSuccess
139
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteAttributeMappingResponseSuccess
140
+
129
141
  interface _DeleteCrlResponseSuccess
130
142
  include ::Seahorse::Client::_ResponseSuccess[Types::CrlDetailResponse]
131
143
  def crl: () -> Types::CrlDetail
@@ -333,6 +345,22 @@ module Aws
333
345
  ) -> _ListTrustAnchorsResponseSuccess
334
346
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTrustAnchorsResponseSuccess
335
347
 
348
+ interface _PutAttributeMappingResponseSuccess
349
+ include ::Seahorse::Client::_ResponseSuccess[Types::PutAttributeMappingResponse]
350
+ def profile: () -> Types::ProfileDetail
351
+ end
352
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/RolesAnywhere/Client.html#put_attribute_mapping-instance_method
353
+ def put_attribute_mapping: (
354
+ certificate_field: ("x509Subject" | "x509Issuer" | "x509SAN"),
355
+ mapping_rules: Array[
356
+ {
357
+ specifier: ::String
358
+ },
359
+ ],
360
+ profile_id: ::String
361
+ ) -> _PutAttributeMappingResponseSuccess
362
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutAttributeMappingResponseSuccess
363
+
336
364
  interface _PutNotificationSettingsResponseSuccess
337
365
  include ::Seahorse::Client::_ResponseSuccess[Types::PutNotificationSettingsResponse]
338
366
  def trust_anchor: () -> Types::TrustAnchorDetail
data/sig/types.rbs CHANGED
@@ -13,6 +13,12 @@ module Aws::RolesAnywhere
13
13
  SENSITIVE: []
14
14
  end
15
15
 
16
+ class AttributeMapping
17
+ attr_accessor certificate_field: ("x509Subject" | "x509Issuer" | "x509SAN")
18
+ attr_accessor mapping_rules: ::Array[Types::MappingRule]
19
+ SENSITIVE: []
20
+ end
21
+
16
22
  class CreateProfileRequest
17
23
  attr_accessor duration_seconds: ::Integer
18
24
  attr_accessor enabled: bool
@@ -61,6 +67,18 @@ module Aws::RolesAnywhere
61
67
  SENSITIVE: []
62
68
  end
63
69
 
70
+ class DeleteAttributeMappingRequest
71
+ attr_accessor certificate_field: ("x509Subject" | "x509Issuer" | "x509SAN")
72
+ attr_accessor profile_id: ::String
73
+ attr_accessor specifiers: ::Array[::String]
74
+ SENSITIVE: []
75
+ end
76
+
77
+ class DeleteAttributeMappingResponse
78
+ attr_accessor profile: Types::ProfileDetail
79
+ SENSITIVE: []
80
+ end
81
+
64
82
  class ImportCrlRequest
65
83
  attr_accessor crl_data: ::String
66
84
  attr_accessor enabled: bool
@@ -117,6 +135,11 @@ module Aws::RolesAnywhere
117
135
  SENSITIVE: []
118
136
  end
119
137
 
138
+ class MappingRule
139
+ attr_accessor specifier: ::String
140
+ SENSITIVE: []
141
+ end
142
+
120
143
  class NotificationSetting
121
144
  attr_accessor channel: ("ALL")
122
145
  attr_accessor enabled: bool
@@ -141,6 +164,7 @@ module Aws::RolesAnywhere
141
164
  end
142
165
 
143
166
  class ProfileDetail
167
+ attr_accessor attribute_mappings: ::Array[Types::AttributeMapping]
144
168
  attr_accessor created_at: ::Time
145
169
  attr_accessor created_by: ::String
146
170
  attr_accessor duration_seconds: ::Integer
@@ -161,6 +185,18 @@ module Aws::RolesAnywhere
161
185
  SENSITIVE: []
162
186
  end
163
187
 
188
+ class PutAttributeMappingRequest
189
+ attr_accessor certificate_field: ("x509Subject" | "x509Issuer" | "x509SAN")
190
+ attr_accessor mapping_rules: ::Array[Types::MappingRule]
191
+ attr_accessor profile_id: ::String
192
+ SENSITIVE: []
193
+ end
194
+
195
+ class PutAttributeMappingResponse
196
+ attr_accessor profile: Types::ProfileDetail
197
+ SENSITIVE: []
198
+ end
199
+
164
200
  class PutNotificationSettingsRequest
165
201
  attr_accessor notification_settings: ::Array[Types::NotificationSetting]
166
202
  attr_accessor trust_anchor_id: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-rolesanywhere
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.16.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: 2024-04-02 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.191.0
22
+ version: 3.193.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.191.0
32
+ version: 3.193.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement