aws-sdk-proton 1.15.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -389,6 +389,7 @@ module Aws::Proton
389
389
  # @example Response structure
390
390
  #
391
391
  # resp.environment_account_connection.arn #=> String
392
+ # resp.environment_account_connection.component_role_arn #=> String
392
393
  # resp.environment_account_connection.environment_account_id #=> String
393
394
  # resp.environment_account_connection.environment_name #=> String
394
395
  # resp.environment_account_connection.id #=> String
@@ -407,6 +408,54 @@ module Aws::Proton
407
408
  req.send_request(options)
408
409
  end
409
410
 
411
+ # Attempts to cancel a component deployment (for a component that is in
412
+ # the `IN_PROGRESS` deployment status).
413
+ #
414
+ # For more information about components, see [Proton components][1] in
415
+ # the *Proton Administrator Guide*.
416
+ #
417
+ #
418
+ #
419
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
420
+ #
421
+ # @option params [required, String] :component_name
422
+ # The name of the component with the deployment to cancel.
423
+ #
424
+ # @return [Types::CancelComponentDeploymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
425
+ #
426
+ # * {Types::CancelComponentDeploymentOutput#component #component} => Types::Component
427
+ #
428
+ # @example Request syntax with placeholder values
429
+ #
430
+ # resp = client.cancel_component_deployment({
431
+ # component_name: "ResourceName", # required
432
+ # })
433
+ #
434
+ # @example Response structure
435
+ #
436
+ # resp.component.arn #=> String
437
+ # resp.component.created_at #=> Time
438
+ # resp.component.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
439
+ # resp.component.deployment_status_message #=> String
440
+ # resp.component.description #=> String
441
+ # resp.component.environment_name #=> String
442
+ # resp.component.last_deployment_attempted_at #=> Time
443
+ # resp.component.last_deployment_succeeded_at #=> Time
444
+ # resp.component.last_modified_at #=> Time
445
+ # resp.component.name #=> String
446
+ # resp.component.service_instance_name #=> String
447
+ # resp.component.service_name #=> String
448
+ # resp.component.service_spec #=> String
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelComponentDeployment AWS API Documentation
451
+ #
452
+ # @overload cancel_component_deployment(params = {})
453
+ # @param [Hash] params ({})
454
+ def cancel_component_deployment(params = {}, options = {})
455
+ req = build_request(:cancel_component_deployment, params)
456
+ req.send_request(options)
457
+ end
458
+
410
459
  # Attempts to cancel an environment deployment on an UpdateEnvironment
411
460
  # action, if the deployment is `IN_PROGRESS`. For more information, see
412
461
  # [Update an environment][1] in the *Proton Administrator guide*.
@@ -443,6 +492,7 @@ module Aws::Proton
443
492
  # @example Response structure
444
493
  #
445
494
  # resp.environment.arn #=> String
495
+ # resp.environment.component_role_arn #=> String
446
496
  # resp.environment.created_at #=> Time
447
497
  # resp.environment.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
448
498
  # resp.environment.deployment_status_message #=> String
@@ -595,6 +645,118 @@ module Aws::Proton
595
645
  req.send_request(options)
596
646
  end
597
647
 
648
+ # Create an Proton component. A component is an infrastructure extension
649
+ # for a service instance.
650
+ #
651
+ # For more information about components, see [Proton components][1] in
652
+ # the *Proton Administrator Guide*.
653
+ #
654
+ #
655
+ #
656
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
657
+ #
658
+ # @option params [String] :description
659
+ # An optional customer-provided description of the component.
660
+ #
661
+ # @option params [String] :environment_name
662
+ # The name of the Proton environment that you want to associate this
663
+ # component with. You must specify this when you don't specify
664
+ # `serviceInstanceName` and `serviceName`.
665
+ #
666
+ # @option params [required, String] :manifest
667
+ # A path to a manifest file that lists the Infrastructure as Code (IaC)
668
+ # file, template language, and rendering engine for infrastructure that
669
+ # a custom component provisions.
670
+ #
671
+ # @option params [required, String] :name
672
+ # The customer-provided name of the component.
673
+ #
674
+ # @option params [String] :service_instance_name
675
+ # The name of the service instance that you want to attach this
676
+ # component to. If you don't specify this, the component isn't
677
+ # attached to any service instance. Specify both `serviceInstanceName`
678
+ # and `serviceName` or neither of them.
679
+ #
680
+ # @option params [String] :service_name
681
+ # The name of the service that `serviceInstanceName` is associated with.
682
+ # If you don't specify this, the component isn't attached to any
683
+ # service instance. Specify both `serviceInstanceName` and `serviceName`
684
+ # or neither of them.
685
+ #
686
+ # @option params [String] :service_spec
687
+ # The service spec that you want the component to use to access service
688
+ # inputs. Set this only when you attach the component to a service
689
+ # instance.
690
+ #
691
+ # @option params [Array<Types::Tag>] :tags
692
+ # An optional list of metadata items that you can associate with the
693
+ # Proton component. A tag is a key-value pair.
694
+ #
695
+ # For more information, see *Proton resources and tagging* in the
696
+ # [Proton Administrator Guide][1] or [Proton User Guide][2].
697
+ #
698
+ #
699
+ #
700
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/resources.html
701
+ # [2]: https://docs.aws.amazon.com/proton/latest/userguide/resources.html
702
+ #
703
+ # @option params [required, String] :template_file
704
+ # A path to the Infrastructure as Code (IaC) file describing
705
+ # infrastructure that a custom component provisions.
706
+ #
707
+ # <note markdown="1"> Components support a single IaC file, even if you use Terraform as
708
+ # your template language.
709
+ #
710
+ # </note>
711
+ #
712
+ # @return [Types::CreateComponentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
713
+ #
714
+ # * {Types::CreateComponentOutput#component #component} => Types::Component
715
+ #
716
+ # @example Request syntax with placeholder values
717
+ #
718
+ # resp = client.create_component({
719
+ # description: "Description",
720
+ # environment_name: "ResourceName",
721
+ # manifest: "TemplateManifestContents", # required
722
+ # name: "ResourceName", # required
723
+ # service_instance_name: "ResourceName",
724
+ # service_name: "ResourceName",
725
+ # service_spec: "SpecContents",
726
+ # tags: [
727
+ # {
728
+ # key: "TagKey", # required
729
+ # value: "TagValue", # required
730
+ # },
731
+ # ],
732
+ # template_file: "TemplateFileContents", # required
733
+ # })
734
+ #
735
+ # @example Response structure
736
+ #
737
+ # resp.component.arn #=> String
738
+ # resp.component.created_at #=> Time
739
+ # resp.component.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
740
+ # resp.component.deployment_status_message #=> String
741
+ # resp.component.description #=> String
742
+ # resp.component.environment_name #=> String
743
+ # resp.component.last_deployment_attempted_at #=> Time
744
+ # resp.component.last_deployment_succeeded_at #=> Time
745
+ # resp.component.last_modified_at #=> Time
746
+ # resp.component.name #=> String
747
+ # resp.component.service_instance_name #=> String
748
+ # resp.component.service_name #=> String
749
+ # resp.component.service_spec #=> String
750
+ #
751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateComponent AWS API Documentation
752
+ #
753
+ # @overload create_component(params = {})
754
+ # @param [Hash] params ({})
755
+ def create_component(params = {}, options = {})
756
+ req = build_request(:create_component, params)
757
+ req.send_request(options)
758
+ end
759
+
598
760
  # Deploy a new environment. An Proton environment is created from an
599
761
  # environment template that defines infrastructure and resources that
600
762
  # can be shared across services.
@@ -616,6 +778,22 @@ module Aws::Proton
616
778
  # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html
617
779
  # [2]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html
618
780
  #
781
+ # @option params [String] :component_role_arn
782
+ # The Amazon Resource Name (ARN) of the IAM service role that Proton
783
+ # uses when provisioning directly defined components in this
784
+ # environment. It determines the scope of infrastructure that a
785
+ # component can provision.
786
+ #
787
+ # You must specify `componentRoleArn` to allow directly defined
788
+ # components to be associated with this environment.
789
+ #
790
+ # For more information about components, see [Proton components][1] in
791
+ # the *Proton Administrator Guide*.
792
+ #
793
+ #
794
+ #
795
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
796
+ #
619
797
  # @option params [String] :description
620
798
  # A description of the environment that's being created and deployed.
621
799
  #
@@ -696,6 +874,7 @@ module Aws::Proton
696
874
  # @example Request syntax with placeholder values
697
875
  #
698
876
  # resp = client.create_environment({
877
+ # component_role_arn: "Arn",
699
878
  # description: "Description",
700
879
  # environment_account_connection_id: "EnvironmentAccountConnectionId",
701
880
  # name: "ResourceName", # required
@@ -720,6 +899,7 @@ module Aws::Proton
720
899
  # @example Response structure
721
900
  #
722
901
  # resp.environment.arn #=> String
902
+ # resp.environment.component_role_arn #=> String
723
903
  # resp.environment.created_at #=> Time
724
904
  # resp.environment.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
725
905
  # resp.environment.deployment_status_message #=> String
@@ -771,6 +951,23 @@ module Aws::Proton
771
951
  # **A suitable default value is auto-generated.** You should normally
772
952
  # not need to pass this option.**
773
953
  #
954
+ # @option params [String] :component_role_arn
955
+ # The Amazon Resource Name (ARN) of the IAM service role that Proton
956
+ # uses when provisioning directly defined components in the associated
957
+ # environment account. It determines the scope of infrastructure that a
958
+ # component can provision in the account.
959
+ #
960
+ # You must specify `componentRoleArn` to allow directly defined
961
+ # components to be associated with any environments running in this
962
+ # account.
963
+ #
964
+ # For more information about components, see [Proton components][1] in
965
+ # the *Proton Administrator Guide*.
966
+ #
967
+ #
968
+ #
969
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
970
+ #
774
971
  # @option params [required, String] :environment_name
775
972
  # The name of the Proton environment that's created in the associated
776
973
  # management account.
@@ -807,6 +1004,7 @@ module Aws::Proton
807
1004
  #
808
1005
  # resp = client.create_environment_account_connection({
809
1006
  # client_token: "ClientToken",
1007
+ # component_role_arn: "Arn",
810
1008
  # environment_name: "ResourceName", # required
811
1009
  # management_account_id: "AwsAccountId", # required
812
1010
  # role_arn: "Arn", # required
@@ -821,6 +1019,7 @@ module Aws::Proton
821
1019
  # @example Response structure
822
1020
  #
823
1021
  # resp.environment_account_connection.arn #=> String
1022
+ # resp.environment_account_connection.component_role_arn #=> String
824
1023
  # resp.environment_account_connection.environment_account_id #=> String
825
1024
  # resp.environment_account_connection.environment_name #=> String
826
1025
  # resp.environment_account_connection.id #=> String
@@ -1339,8 +1538,10 @@ module Aws::Proton
1339
1538
  # not need to pass this option.**
1340
1539
  #
1341
1540
  # @option params [required, Array<Types::CompatibleEnvironmentTemplateInput>] :compatible_environment_templates
1342
- # An array of compatible environment template objects for the new
1343
- # version of a service template.
1541
+ # An array of environment template objects that are compatible with the
1542
+ # new service template version. A service instance based on this service
1543
+ # template version can run in environments based on compatible
1544
+ # templates.
1344
1545
  #
1345
1546
  # @option params [String] :description
1346
1547
  # A description of the new version of a service template.
@@ -1356,6 +1557,18 @@ module Aws::Proton
1356
1557
  # An object that includes the template bundle S3 bucket path and name
1357
1558
  # for the new version of a service template.
1358
1559
  #
1560
+ # @option params [Array<String>] :supported_component_sources
1561
+ # An array of supported component sources. Components with supported
1562
+ # sources can be attached to service instances based on this service
1563
+ # template version.
1564
+ #
1565
+ # For more information about components, see [Proton components][1] in
1566
+ # the *Proton Administrator Guide*.
1567
+ #
1568
+ #
1569
+ #
1570
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
1571
+ #
1359
1572
  # @option params [Array<Types::Tag>] :tags
1360
1573
  # An optional list of metadata items that you can associate with the
1361
1574
  # Proton service template version. A tag is a key-value pair.
@@ -1393,6 +1606,7 @@ module Aws::Proton
1393
1606
  # key: "S3Key", # required
1394
1607
  # },
1395
1608
  # },
1609
+ # supported_component_sources: ["DIRECTLY_DEFINED"], # accepts DIRECTLY_DEFINED
1396
1610
  # tags: [
1397
1611
  # {
1398
1612
  # key: "TagKey", # required
@@ -1417,6 +1631,8 @@ module Aws::Proton
1417
1631
  # resp.service_template_version.schema #=> String
1418
1632
  # resp.service_template_version.status #=> String, one of "REGISTRATION_IN_PROGRESS", "REGISTRATION_FAILED", "DRAFT", "PUBLISHED"
1419
1633
  # resp.service_template_version.status_message #=> String
1634
+ # resp.service_template_version.supported_component_sources #=> Array
1635
+ # resp.service_template_version.supported_component_sources[0] #=> String, one of "DIRECTLY_DEFINED"
1420
1636
  # resp.service_template_version.template_name #=> String
1421
1637
  #
1422
1638
  # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceTemplateVersion AWS API Documentation
@@ -1494,6 +1710,53 @@ module Aws::Proton
1494
1710
  req.send_request(options)
1495
1711
  end
1496
1712
 
1713
+ # Delete an Proton component resource.
1714
+ #
1715
+ # For more information about components, see [Proton components][1] in
1716
+ # the *Proton Administrator Guide*.
1717
+ #
1718
+ #
1719
+ #
1720
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
1721
+ #
1722
+ # @option params [required, String] :name
1723
+ # The name of the component to delete.
1724
+ #
1725
+ # @return [Types::DeleteComponentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1726
+ #
1727
+ # * {Types::DeleteComponentOutput#component #component} => Types::Component
1728
+ #
1729
+ # @example Request syntax with placeholder values
1730
+ #
1731
+ # resp = client.delete_component({
1732
+ # name: "ResourceName", # required
1733
+ # })
1734
+ #
1735
+ # @example Response structure
1736
+ #
1737
+ # resp.component.arn #=> String
1738
+ # resp.component.created_at #=> Time
1739
+ # resp.component.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
1740
+ # resp.component.deployment_status_message #=> String
1741
+ # resp.component.description #=> String
1742
+ # resp.component.environment_name #=> String
1743
+ # resp.component.last_deployment_attempted_at #=> Time
1744
+ # resp.component.last_deployment_succeeded_at #=> Time
1745
+ # resp.component.last_modified_at #=> Time
1746
+ # resp.component.name #=> String
1747
+ # resp.component.service_instance_name #=> String
1748
+ # resp.component.service_name #=> String
1749
+ # resp.component.service_spec #=> String
1750
+ #
1751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteComponent AWS API Documentation
1752
+ #
1753
+ # @overload delete_component(params = {})
1754
+ # @param [Hash] params ({})
1755
+ def delete_component(params = {}, options = {})
1756
+ req = build_request(:delete_component, params)
1757
+ req.send_request(options)
1758
+ end
1759
+
1497
1760
  # Delete an environment.
1498
1761
  #
1499
1762
  # @option params [required, String] :name
@@ -1512,6 +1775,7 @@ module Aws::Proton
1512
1775
  # @example Response structure
1513
1776
  #
1514
1777
  # resp.environment.arn #=> String
1778
+ # resp.environment.component_role_arn #=> String
1515
1779
  # resp.environment.created_at #=> Time
1516
1780
  # resp.environment.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
1517
1781
  # resp.environment.deployment_status_message #=> String
@@ -1573,6 +1837,7 @@ module Aws::Proton
1573
1837
  # @example Response structure
1574
1838
  #
1575
1839
  # resp.environment_account_connection.arn #=> String
1840
+ # resp.environment_account_connection.component_role_arn #=> String
1576
1841
  # resp.environment_account_connection.environment_account_id #=> String
1577
1842
  # resp.environment_account_connection.environment_name #=> String
1578
1843
  # resp.environment_account_connection.id #=> String
@@ -1721,7 +1986,19 @@ module Aws::Proton
1721
1986
  req.send_request(options)
1722
1987
  end
1723
1988
 
1724
- # Delete a service.
1989
+ # Delete a service, with its instances and pipeline.
1990
+ #
1991
+ # <note markdown="1"> You can't delete a service if it has any service instances that have
1992
+ # components attached to them.
1993
+ #
1994
+ # For more information about components, see [Proton components][1] in
1995
+ # the *Proton Administrator Guide*.
1996
+ #
1997
+ # </note>
1998
+ #
1999
+ #
2000
+ #
2001
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
1725
2002
  #
1726
2003
  # @option params [required, String] :name
1727
2004
  # The name of the service to delete.
@@ -1856,6 +2133,8 @@ module Aws::Proton
1856
2133
  # resp.service_template_version.schema #=> String
1857
2134
  # resp.service_template_version.status #=> String, one of "REGISTRATION_IN_PROGRESS", "REGISTRATION_FAILED", "DRAFT", "PUBLISHED"
1858
2135
  # resp.service_template_version.status_message #=> String
2136
+ # resp.service_template_version.supported_component_sources #=> Array
2137
+ # resp.service_template_version.supported_component_sources[0] #=> String, one of "DIRECTLY_DEFINED"
1859
2138
  # resp.service_template_version.template_name #=> String
1860
2139
  #
1861
2140
  # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceTemplateVersion AWS API Documentation
@@ -1927,10 +2206,64 @@ module Aws::Proton
1927
2206
  req.send_request(options)
1928
2207
  end
1929
2208
 
1930
- # Get detail data for an environment.
2209
+ # Get detailed data for a component.
2210
+ #
2211
+ # For more information about components, see [Proton components][1] in
2212
+ # the *Proton Administrator Guide*.
2213
+ #
2214
+ #
2215
+ #
2216
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
2217
+ #
2218
+ # @option params [required, String] :name
2219
+ # The name of the component that you want to get the detailed data for.
2220
+ #
2221
+ # @return [Types::GetComponentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2222
+ #
2223
+ # * {Types::GetComponentOutput#component #component} => Types::Component
2224
+ #
2225
+ # @example Request syntax with placeholder values
2226
+ #
2227
+ # resp = client.get_component({
2228
+ # name: "ResourceName", # required
2229
+ # })
2230
+ #
2231
+ # @example Response structure
2232
+ #
2233
+ # resp.component.arn #=> String
2234
+ # resp.component.created_at #=> Time
2235
+ # resp.component.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
2236
+ # resp.component.deployment_status_message #=> String
2237
+ # resp.component.description #=> String
2238
+ # resp.component.environment_name #=> String
2239
+ # resp.component.last_deployment_attempted_at #=> Time
2240
+ # resp.component.last_deployment_succeeded_at #=> Time
2241
+ # resp.component.last_modified_at #=> Time
2242
+ # resp.component.name #=> String
2243
+ # resp.component.service_instance_name #=> String
2244
+ # resp.component.service_name #=> String
2245
+ # resp.component.service_spec #=> String
2246
+ #
2247
+ #
2248
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2249
+ #
2250
+ # * component_deleted
2251
+ # * component_deployed
2252
+ #
2253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetComponent AWS API Documentation
2254
+ #
2255
+ # @overload get_component(params = {})
2256
+ # @param [Hash] params ({})
2257
+ def get_component(params = {}, options = {})
2258
+ req = build_request(:get_component, params)
2259
+ req.send_request(options)
2260
+ end
2261
+
2262
+ # Get detailed data for an environment.
1931
2263
  #
1932
2264
  # @option params [required, String] :name
1933
- # The name of the environment that you want to get the detail data for.
2265
+ # The name of the environment that you want to get the detailed data
2266
+ # for.
1934
2267
  #
1935
2268
  # @return [Types::GetEnvironmentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1936
2269
  #
@@ -1945,6 +2278,7 @@ module Aws::Proton
1945
2278
  # @example Response structure
1946
2279
  #
1947
2280
  # resp.environment.arn #=> String
2281
+ # resp.environment.component_role_arn #=> String
1948
2282
  # resp.environment.created_at #=> Time
1949
2283
  # resp.environment.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
1950
2284
  # resp.environment.deployment_status_message #=> String
@@ -1979,7 +2313,7 @@ module Aws::Proton
1979
2313
  req.send_request(options)
1980
2314
  end
1981
2315
 
1982
- # In an environment account, view the detail data for an environment
2316
+ # In an environment account, get the detailed data for an environment
1983
2317
  # account connection.
1984
2318
  #
1985
2319
  # For more information, see [Environment account connections][1] in the
@@ -1990,7 +2324,8 @@ module Aws::Proton
1990
2324
  # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html
1991
2325
  #
1992
2326
  # @option params [required, String] :id
1993
- # The ID of the environment account connection.
2327
+ # The ID of the environment account connection that you want to get the
2328
+ # detailed data for.
1994
2329
  #
1995
2330
  # @return [Types::GetEnvironmentAccountConnectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1996
2331
  #
@@ -2005,6 +2340,7 @@ module Aws::Proton
2005
2340
  # @example Response structure
2006
2341
  #
2007
2342
  # resp.environment_account_connection.arn #=> String
2343
+ # resp.environment_account_connection.component_role_arn #=> String
2008
2344
  # resp.environment_account_connection.environment_account_id #=> String
2009
2345
  # resp.environment_account_connection.environment_name #=> String
2010
2346
  # resp.environment_account_connection.id #=> String
@@ -2023,10 +2359,10 @@ module Aws::Proton
2023
2359
  req.send_request(options)
2024
2360
  end
2025
2361
 
2026
- # Get detail data for an environment template.
2362
+ # Get detailed data for an environment template.
2027
2363
  #
2028
2364
  # @option params [required, String] :name
2029
- # The name of the environment template that you want to get the detail
2365
+ # The name of the environment template that you want to get the detailed
2030
2366
  # data for.
2031
2367
  #
2032
2368
  # @return [Types::GetEnvironmentTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2060,19 +2396,20 @@ module Aws::Proton
2060
2396
  req.send_request(options)
2061
2397
  end
2062
2398
 
2063
- # View detail data for a major or minor version of an environment
2399
+ # Get detailed data for a major or minor version of an environment
2064
2400
  # template.
2065
2401
  #
2066
2402
  # @option params [required, String] :major_version
2067
- # To view environment template major version detail data, include `major
2403
+ # To get environment template major version detail data, include `major
2068
2404
  # Version`.
2069
2405
  #
2070
2406
  # @option params [required, String] :minor_version
2071
- # To view environment template minor version detail data, include
2407
+ # To get environment template minor version detail data, include
2072
2408
  # `minorVersion`.
2073
2409
  #
2074
2410
  # @option params [required, String] :template_name
2075
- # The name of the environment template.
2411
+ # The name of the environment template a version of which you want to
2412
+ # get detailed data for..
2076
2413
  #
2077
2414
  # @return [Types::GetEnvironmentTemplateVersionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2078
2415
  #
@@ -2212,10 +2549,10 @@ module Aws::Proton
2212
2549
  req.send_request(options)
2213
2550
  end
2214
2551
 
2215
- # Get detail data for a service.
2552
+ # Get detailed data for a service.
2216
2553
  #
2217
2554
  # @option params [required, String] :name
2218
- # The name of the service that you want to get the detail data for.
2555
+ # The name of the service that you want to get the detailed data for.
2219
2556
  #
2220
2557
  # @return [Types::GetServiceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2221
2558
  #
@@ -2269,12 +2606,12 @@ module Aws::Proton
2269
2606
  req.send_request(options)
2270
2607
  end
2271
2608
 
2272
- # Get detail data for a service instance. A service instance is an
2609
+ # Get detailed data for a service instance. A service instance is an
2273
2610
  # instantiation of service template and it runs in a specific
2274
2611
  # environment.
2275
2612
  #
2276
2613
  # @option params [required, String] :name
2277
- # The name of a service instance that you want to get the detail data
2614
+ # The name of a service instance that you want to get the detailed data
2278
2615
  # for.
2279
2616
  #
2280
2617
  # @option params [required, String] :service_name
@@ -2321,10 +2658,11 @@ module Aws::Proton
2321
2658
  req.send_request(options)
2322
2659
  end
2323
2660
 
2324
- # Get detail data for a service template.
2661
+ # Get detailed data for a service template.
2325
2662
  #
2326
2663
  # @option params [required, String] :name
2327
- # The name of the service template that you want to get detail data for.
2664
+ # The name of the service template that you want to get detailed data
2665
+ # for.
2328
2666
  #
2329
2667
  # @return [Types::GetServiceTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2330
2668
  #
@@ -2357,18 +2695,19 @@ module Aws::Proton
2357
2695
  req.send_request(options)
2358
2696
  end
2359
2697
 
2360
- # View detail data for a major or minor version of a service template.
2698
+ # Get detailed data for a major or minor version of a service template.
2361
2699
  #
2362
2700
  # @option params [required, String] :major_version
2363
- # To view service template major version detail data, include `major
2701
+ # To get service template major version detail data, include `major
2364
2702
  # Version`.
2365
2703
  #
2366
2704
  # @option params [required, String] :minor_version
2367
- # To view service template minor version detail data, include
2705
+ # To get service template minor version detail data, include
2368
2706
  # `minorVersion`.
2369
2707
  #
2370
2708
  # @option params [required, String] :template_name
2371
- # The name of the service template.
2709
+ # The name of the service template a version of which you want to get
2710
+ # detailed data for.
2372
2711
  #
2373
2712
  # @return [Types::GetServiceTemplateVersionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2374
2713
  #
@@ -2397,6 +2736,8 @@ module Aws::Proton
2397
2736
  # resp.service_template_version.schema #=> String
2398
2737
  # resp.service_template_version.status #=> String, one of "REGISTRATION_IN_PROGRESS", "REGISTRATION_FAILED", "DRAFT", "PUBLISHED"
2399
2738
  # resp.service_template_version.status_message #=> String
2739
+ # resp.service_template_version.supported_component_sources #=> Array
2740
+ # resp.service_template_version.supported_component_sources[0] #=> String, one of "DIRECTLY_DEFINED"
2400
2741
  # resp.service_template_version.template_name #=> String
2401
2742
  #
2402
2743
  #
@@ -2528,6 +2869,173 @@ module Aws::Proton
2528
2869
  req.send_request(options)
2529
2870
  end
2530
2871
 
2872
+ # Get a list of component Infrastructure as Code (IaC) outputs.
2873
+ #
2874
+ # For more information about components, see [Proton components][1] in
2875
+ # the *Proton Administrator Guide*.
2876
+ #
2877
+ #
2878
+ #
2879
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
2880
+ #
2881
+ # @option params [required, String] :component_name
2882
+ # The name of the component whose outputs you want.
2883
+ #
2884
+ # @option params [String] :next_token
2885
+ # A token that indicates the location of the next output in the array of
2886
+ # outputs, after the list of outputs that was previously requested.
2887
+ #
2888
+ # @return [Types::ListComponentOutputsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2889
+ #
2890
+ # * {Types::ListComponentOutputsOutput#next_token #next_token} => String
2891
+ # * {Types::ListComponentOutputsOutput#outputs #outputs} => Array&lt;Types::Output&gt;
2892
+ #
2893
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2894
+ #
2895
+ # @example Request syntax with placeholder values
2896
+ #
2897
+ # resp = client.list_component_outputs({
2898
+ # component_name: "ResourceName", # required
2899
+ # next_token: "EmptyNextToken",
2900
+ # })
2901
+ #
2902
+ # @example Response structure
2903
+ #
2904
+ # resp.next_token #=> String
2905
+ # resp.outputs #=> Array
2906
+ # resp.outputs[0].key #=> String
2907
+ # resp.outputs[0].value_string #=> String
2908
+ #
2909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListComponentOutputs AWS API Documentation
2910
+ #
2911
+ # @overload list_component_outputs(params = {})
2912
+ # @param [Hash] params ({})
2913
+ def list_component_outputs(params = {}, options = {})
2914
+ req = build_request(:list_component_outputs, params)
2915
+ req.send_request(options)
2916
+ end
2917
+
2918
+ # List provisioned resources for a component with details.
2919
+ #
2920
+ # For more information about components, see [Proton components][1] in
2921
+ # the *Proton Administrator Guide*.
2922
+ #
2923
+ #
2924
+ #
2925
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
2926
+ #
2927
+ # @option params [required, String] :component_name
2928
+ # The name of the component whose provisioned resources you want.
2929
+ #
2930
+ # @option params [String] :next_token
2931
+ # A token that indicates the location of the next provisioned resource
2932
+ # in the array of provisioned resources, after the list of provisioned
2933
+ # resources that was previously requested.
2934
+ #
2935
+ # @return [Types::ListComponentProvisionedResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2936
+ #
2937
+ # * {Types::ListComponentProvisionedResourcesOutput#next_token #next_token} => String
2938
+ # * {Types::ListComponentProvisionedResourcesOutput#provisioned_resources #provisioned_resources} => Array&lt;Types::ProvisionedResource&gt;
2939
+ #
2940
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2941
+ #
2942
+ # @example Request syntax with placeholder values
2943
+ #
2944
+ # resp = client.list_component_provisioned_resources({
2945
+ # component_name: "ResourceName", # required
2946
+ # next_token: "EmptyNextToken",
2947
+ # })
2948
+ #
2949
+ # @example Response structure
2950
+ #
2951
+ # resp.next_token #=> String
2952
+ # resp.provisioned_resources #=> Array
2953
+ # resp.provisioned_resources[0].identifier #=> String
2954
+ # resp.provisioned_resources[0].name #=> String
2955
+ # resp.provisioned_resources[0].provisioning_engine #=> String, one of "CLOUDFORMATION", "TERRAFORM"
2956
+ #
2957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListComponentProvisionedResources AWS API Documentation
2958
+ #
2959
+ # @overload list_component_provisioned_resources(params = {})
2960
+ # @param [Hash] params ({})
2961
+ def list_component_provisioned_resources(params = {}, options = {})
2962
+ req = build_request(:list_component_provisioned_resources, params)
2963
+ req.send_request(options)
2964
+ end
2965
+
2966
+ # List components with summary data. You can filter the result list by
2967
+ # environment, service, or a single service instance.
2968
+ #
2969
+ # For more information about components, see [Proton components][1] in
2970
+ # the *Proton Administrator Guide*.
2971
+ #
2972
+ #
2973
+ #
2974
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
2975
+ #
2976
+ # @option params [String] :environment_name
2977
+ # The name of an environment for result list filtering. Proton returns
2978
+ # components associated with the environment or attached to service
2979
+ # instances running in it.
2980
+ #
2981
+ # @option params [Integer] :max_results
2982
+ # The maximum number of components to list.
2983
+ #
2984
+ # @option params [String] :next_token
2985
+ # A token that indicates the location of the next component in the array
2986
+ # of components, after the list of components that was previously
2987
+ # requested.
2988
+ #
2989
+ # @option params [String] :service_instance_name
2990
+ # The name of a service instance for result list filtering. Proton
2991
+ # returns the component attached to the service instance, if any.
2992
+ #
2993
+ # @option params [String] :service_name
2994
+ # The name of a service for result list filtering. Proton returns
2995
+ # components attached to service instances of the service.
2996
+ #
2997
+ # @return [Types::ListComponentsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2998
+ #
2999
+ # * {Types::ListComponentsOutput#components #components} => Array&lt;Types::ComponentSummary&gt;
3000
+ # * {Types::ListComponentsOutput#next_token #next_token} => String
3001
+ #
3002
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3003
+ #
3004
+ # @example Request syntax with placeholder values
3005
+ #
3006
+ # resp = client.list_components({
3007
+ # environment_name: "ResourceName",
3008
+ # max_results: 1,
3009
+ # next_token: "NextToken",
3010
+ # service_instance_name: "ResourceName",
3011
+ # service_name: "ResourceName",
3012
+ # })
3013
+ #
3014
+ # @example Response structure
3015
+ #
3016
+ # resp.components #=> Array
3017
+ # resp.components[0].arn #=> String
3018
+ # resp.components[0].created_at #=> Time
3019
+ # resp.components[0].deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
3020
+ # resp.components[0].deployment_status_message #=> String
3021
+ # resp.components[0].environment_name #=> String
3022
+ # resp.components[0].last_deployment_attempted_at #=> Time
3023
+ # resp.components[0].last_deployment_succeeded_at #=> Time
3024
+ # resp.components[0].last_modified_at #=> Time
3025
+ # resp.components[0].name #=> String
3026
+ # resp.components[0].service_instance_name #=> String
3027
+ # resp.components[0].service_name #=> String
3028
+ # resp.next_token #=> String
3029
+ #
3030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListComponents AWS API Documentation
3031
+ #
3032
+ # @overload list_components(params = {})
3033
+ # @param [Hash] params ({})
3034
+ def list_components(params = {}, options = {})
3035
+ req = build_request(:list_components, params)
3036
+ req.send_request(options)
3037
+ end
3038
+
2531
3039
  # View a list of environment account connections.
2532
3040
  #
2533
3041
  # For more information, see [Environment account connections][1] in the
@@ -2577,6 +3085,7 @@ module Aws::Proton
2577
3085
  #
2578
3086
  # resp.environment_account_connections #=> Array
2579
3087
  # resp.environment_account_connections[0].arn #=> String
3088
+ # resp.environment_account_connections[0].component_role_arn #=> String
2580
3089
  # resp.environment_account_connections[0].environment_account_id #=> String
2581
3090
  # resp.environment_account_connections[0].environment_name #=> String
2582
3091
  # resp.environment_account_connections[0].id #=> String
@@ -2824,6 +3333,7 @@ module Aws::Proton
2824
3333
  #
2825
3334
  # resp.environments #=> Array
2826
3335
  # resp.environments[0].arn #=> String
3336
+ # resp.environments[0].component_role_arn #=> String
2827
3337
  # resp.environments[0].created_at #=> Time
2828
3338
  # resp.environments[0].deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
2829
3339
  # resp.environments[0].deployment_status_message #=> String
@@ -2940,18 +3450,17 @@ module Aws::Proton
2940
3450
  req.send_request(options)
2941
3451
  end
2942
3452
 
2943
- # View a list service instance infrastructure as code outputs with
2944
- # detail data.
3453
+ # Get a list service of instance Infrastructure as Code (IaC) outputs.
2945
3454
  #
2946
3455
  # @option params [String] :next_token
2947
3456
  # A token that indicates the location of the next output in the array of
2948
3457
  # outputs, after the list of outputs that was previously requested.
2949
3458
  #
2950
3459
  # @option params [required, String] :service_instance_name
2951
- # The service instance name.
3460
+ # The name of the service instance whose outputs you want.
2952
3461
  #
2953
3462
  # @option params [required, String] :service_name
2954
- # The service name.
3463
+ # The name of the service that `serviceInstanceName` is associated to.
2955
3464
  #
2956
3465
  # @return [Types::ListServiceInstanceOutputsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2957
3466
  #
@@ -2992,10 +3501,10 @@ module Aws::Proton
2992
3501
  # resources that was previously requested.
2993
3502
  #
2994
3503
  # @option params [required, String] :service_instance_name
2995
- # The service instance name.
3504
+ # The name of the service instance whose provisioned resources you want.
2996
3505
  #
2997
3506
  # @option params [required, String] :service_name
2998
- # The service name.
3507
+ # The name of the service that `serviceInstanceName` is associated to.
2999
3508
  #
3000
3509
  # @return [Types::ListServiceInstanceProvisionedResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3001
3510
  #
@@ -3029,7 +3538,7 @@ module Aws::Proton
3029
3538
  req.send_request(options)
3030
3539
  end
3031
3540
 
3032
- # List service instances with summaries of detail data.
3541
+ # List service instances with summary data.
3033
3542
  #
3034
3543
  # @option params [Integer] :max_results
3035
3544
  # The maximum number of service instances to list.
@@ -3083,15 +3592,14 @@ module Aws::Proton
3083
3592
  req.send_request(options)
3084
3593
  end
3085
3594
 
3086
- # View a list service pipeline infrastructure as code outputs with
3087
- # detail.
3595
+ # Get a list of service pipeline Infrastructure as Code (IaC) outputs.
3088
3596
  #
3089
3597
  # @option params [String] :next_token
3090
3598
  # A token that indicates the location of the next output in the array of
3091
3599
  # outputs, after the list of outputs that was previously requested.
3092
3600
  #
3093
3601
  # @option params [required, String] :service_name
3094
- # The service name.
3602
+ # The name of the service whose pipeline's outputs you want.
3095
3603
  #
3096
3604
  # @return [Types::ListServicePipelineOutputsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3097
3605
  #
@@ -3131,7 +3639,8 @@ module Aws::Proton
3131
3639
  # resources that was previously requested.
3132
3640
  #
3133
3641
  # @option params [required, String] :service_name
3134
- # The service name.
3642
+ # The name of the service whose pipeline's provisioned resources you
3643
+ # want.
3135
3644
  #
3136
3645
  # @return [Types::ListServicePipelineProvisionedResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3137
3646
  #
@@ -3407,7 +3916,7 @@ module Aws::Proton
3407
3916
  # ],
3408
3917
  # resource_arn: "Arn", # required
3409
3918
  # status: "IN_PROGRESS", # required, accepts IN_PROGRESS, FAILED, SUCCEEDED
3410
- # status_message: "SyntheticNotifyResourceDeploymentStatusChangeInputString",
3919
+ # status_message: "NotifyResourceDeploymentStatusChangeInputStatusMessageString",
3411
3920
  # })
3412
3921
  #
3413
3922
  # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/NotifyResourceDeploymentStatusChange AWS API Documentation
@@ -3451,6 +3960,7 @@ module Aws::Proton
3451
3960
  # @example Response structure
3452
3961
  #
3453
3962
  # resp.environment_account_connection.arn #=> String
3963
+ # resp.environment_account_connection.component_role_arn #=> String
3454
3964
  # resp.environment_account_connection.environment_account_id #=> String
3455
3965
  # resp.environment_account_connection.environment_name #=> String
3456
3966
  # resp.environment_account_connection.id #=> String
@@ -3592,6 +4102,120 @@ module Aws::Proton
3592
4102
  req.send_request(options)
3593
4103
  end
3594
4104
 
4105
+ # Update a component.
4106
+ #
4107
+ # There are a few modes for updating a component. The `deploymentType`
4108
+ # field defines the mode.
4109
+ #
4110
+ # <note markdown="1"> You can't update a component while its deployment status, or the
4111
+ # deployment status of a service instance attached to it, is
4112
+ # `IN_PROGRESS`.
4113
+ #
4114
+ # </note>
4115
+ #
4116
+ # For more information about components, see [Proton components][1] in
4117
+ # the *Proton Administrator Guide*.
4118
+ #
4119
+ #
4120
+ #
4121
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
4122
+ #
4123
+ # @option params [required, String] :deployment_type
4124
+ # The deployment type. It defines the mode for updating a component, as
4125
+ # follows:
4126
+ #
4127
+ #
4128
+ #
4129
+ # : `NONE`
4130
+ #
4131
+ # In this mode, a deployment *doesn't* occur. Only the requested
4132
+ # metadata parameters are updated. You can only specify `description`
4133
+ # in this mode.
4134
+ #
4135
+ #
4136
+ #
4137
+ # : `CURRENT_VERSION`
4138
+ #
4139
+ # In this mode, the component is deployed and updated with the new
4140
+ # `serviceSpec`, `templateSource`, and/or `type` that you provide.
4141
+ # Only requested parameters are updated.
4142
+ #
4143
+ # @option params [String] :description
4144
+ # An optional customer-provided description of the component.
4145
+ #
4146
+ # @option params [required, String] :name
4147
+ # The name of the component to update.
4148
+ #
4149
+ # @option params [String] :service_instance_name
4150
+ # The name of the service instance that you want to attach this
4151
+ # component to. Don't specify to keep the component's current service
4152
+ # instance attachment. Specify an empty string to detach the component
4153
+ # from the service instance it's attached to. Specify non-empty values
4154
+ # for both `serviceInstanceName` and `serviceName` or for neither of
4155
+ # them.
4156
+ #
4157
+ # @option params [String] :service_name
4158
+ # The name of the service that `serviceInstanceName` is associated with.
4159
+ # Don't specify to keep the component's current service instance
4160
+ # attachment. Specify an empty string to detach the component from the
4161
+ # service instance it's attached to. Specify non-empty values for both
4162
+ # `serviceInstanceName` and `serviceName` or for neither of them.
4163
+ #
4164
+ # @option params [String] :service_spec
4165
+ # The service spec that you want the component to use to access service
4166
+ # inputs. Set this only when the component is attached to a service
4167
+ # instance.
4168
+ #
4169
+ # @option params [String] :template_file
4170
+ # A path to the Infrastructure as Code (IaC) file describing
4171
+ # infrastructure that a custom component provisions.
4172
+ #
4173
+ # <note markdown="1"> Components support a single IaC file, even if you use Terraform as
4174
+ # your template language.
4175
+ #
4176
+ # </note>
4177
+ #
4178
+ # @return [Types::UpdateComponentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4179
+ #
4180
+ # * {Types::UpdateComponentOutput#component #component} => Types::Component
4181
+ #
4182
+ # @example Request syntax with placeholder values
4183
+ #
4184
+ # resp = client.update_component({
4185
+ # deployment_type: "NONE", # required, accepts NONE, CURRENT_VERSION
4186
+ # description: "Description",
4187
+ # name: "ResourceName", # required
4188
+ # service_instance_name: "ResourceNameOrEmpty",
4189
+ # service_name: "ResourceNameOrEmpty",
4190
+ # service_spec: "SpecContents",
4191
+ # template_file: "TemplateFileContents",
4192
+ # })
4193
+ #
4194
+ # @example Response structure
4195
+ #
4196
+ # resp.component.arn #=> String
4197
+ # resp.component.created_at #=> Time
4198
+ # resp.component.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
4199
+ # resp.component.deployment_status_message #=> String
4200
+ # resp.component.description #=> String
4201
+ # resp.component.environment_name #=> String
4202
+ # resp.component.last_deployment_attempted_at #=> Time
4203
+ # resp.component.last_deployment_succeeded_at #=> Time
4204
+ # resp.component.last_modified_at #=> Time
4205
+ # resp.component.name #=> String
4206
+ # resp.component.service_instance_name #=> String
4207
+ # resp.component.service_name #=> String
4208
+ # resp.component.service_spec #=> String
4209
+ #
4210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateComponent AWS API Documentation
4211
+ #
4212
+ # @overload update_component(params = {})
4213
+ # @param [Hash] params ({})
4214
+ def update_component(params = {}, options = {})
4215
+ req = build_request(:update_component, params)
4216
+ req.send_request(options)
4217
+ end
4218
+
3595
4219
  # Update an environment.
3596
4220
  #
3597
4221
  # If the environment is associated with an environment account
@@ -3667,6 +4291,22 @@ module Aws::Proton
3667
4291
  # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html
3668
4292
  # [2]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html
3669
4293
  #
4294
+ # @option params [String] :component_role_arn
4295
+ # The Amazon Resource Name (ARN) of the IAM service role that Proton
4296
+ # uses when provisioning directly defined components in this
4297
+ # environment. It determines the scope of infrastructure that a
4298
+ # component can provision.
4299
+ #
4300
+ # The environment must have a `componentRoleArn` to allow directly
4301
+ # defined components to be associated with the environment.
4302
+ #
4303
+ # For more information about components, see [Proton components][1] in
4304
+ # the *Proton Administrator Guide*.
4305
+ #
4306
+ #
4307
+ #
4308
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
4309
+ #
3670
4310
  # @option params [required, String] :deployment_type
3671
4311
  # There are four modes for updating an environment. The `deploymentType`
3672
4312
  # field defines the mode.
@@ -3744,6 +4384,7 @@ module Aws::Proton
3744
4384
  # @example Request syntax with placeholder values
3745
4385
  #
3746
4386
  # resp = client.update_environment({
4387
+ # component_role_arn: "Arn",
3747
4388
  # deployment_type: "NONE", # required, accepts NONE, CURRENT_VERSION, MINOR_VERSION, MAJOR_VERSION
3748
4389
  # description: "Description",
3749
4390
  # environment_account_connection_id: "EnvironmentAccountConnectionId",
@@ -3762,6 +4403,7 @@ module Aws::Proton
3762
4403
  # @example Response structure
3763
4404
  #
3764
4405
  # resp.environment.arn #=> String
4406
+ # resp.environment.component_role_arn #=> String
3765
4407
  # resp.environment.created_at #=> Time
3766
4408
  # resp.environment.deployment_status #=> String, one of "IN_PROGRESS", "FAILED", "SUCCEEDED", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "CANCELLING", "CANCELLED"
3767
4409
  # resp.environment.deployment_status_message #=> String
@@ -3801,10 +4443,27 @@ module Aws::Proton
3801
4443
  #
3802
4444
  # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html
3803
4445
  #
4446
+ # @option params [String] :component_role_arn
4447
+ # The Amazon Resource Name (ARN) of the IAM service role that Proton
4448
+ # uses when provisioning directly defined components in the associated
4449
+ # environment account. It determines the scope of infrastructure that a
4450
+ # component can provision in the account.
4451
+ #
4452
+ # The environment account connection must have a `componentRoleArn` to
4453
+ # allow directly defined components to be associated with any
4454
+ # environments running in the account.
4455
+ #
4456
+ # For more information about components, see [Proton components][1] in
4457
+ # the *Proton Administrator Guide*.
4458
+ #
4459
+ #
4460
+ #
4461
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
4462
+ #
3804
4463
  # @option params [required, String] :id
3805
4464
  # The ID of the environment account connection to update.
3806
4465
  #
3807
- # @option params [required, String] :role_arn
4466
+ # @option params [String] :role_arn
3808
4467
  # The Amazon Resource Name (ARN) of the IAM service role that's
3809
4468
  # associated with the environment account connection to update.
3810
4469
  #
@@ -3815,13 +4474,15 @@ module Aws::Proton
3815
4474
  # @example Request syntax with placeholder values
3816
4475
  #
3817
4476
  # resp = client.update_environment_account_connection({
4477
+ # component_role_arn: "Arn",
3818
4478
  # id: "EnvironmentAccountConnectionId", # required
3819
- # role_arn: "Arn", # required
4479
+ # role_arn: "Arn",
3820
4480
  # })
3821
4481
  #
3822
4482
  # @example Response structure
3823
4483
  #
3824
4484
  # resp.environment_account_connection.arn #=> String
4485
+ # resp.environment_account_connection.component_role_arn #=> String
3825
4486
  # resp.environment_account_connection.environment_account_id #=> String
3826
4487
  # resp.environment_account_connection.environment_name #=> String
3827
4488
  # resp.environment_account_connection.id #=> String
@@ -3953,6 +4614,18 @@ module Aws::Proton
3953
4614
  #
3954
4615
  # Edit the `spec` parameter to add or delete instances.
3955
4616
  #
4617
+ # <note markdown="1"> You can't delete a service instance (remove it from the spec) if it
4618
+ # has an attached component.
4619
+ #
4620
+ # For more information about components, see [Proton components][1] in
4621
+ # the *Proton Administrator Guide*.
4622
+ #
4623
+ # </note>
4624
+ #
4625
+ #
4626
+ #
4627
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
4628
+ #
3956
4629
  # @option params [String] :description
3957
4630
  # The edited service description.
3958
4631
  #
@@ -4019,49 +4692,24 @@ module Aws::Proton
4019
4692
 
4020
4693
  # Update a service instance.
4021
4694
  #
4022
- # There are four modes for updating a service instance. The
4695
+ # There are a few modes for updating a service instance. The
4023
4696
  # `deploymentType` field defines the mode.
4024
4697
  #
4698
+ # <note markdown="1"> You can't update a service instance while its deployment status, or
4699
+ # the deployment status of a component attached to it, is `IN_PROGRESS`.
4025
4700
  #
4701
+ # For more information about components, see [Proton components][1] in
4702
+ # the *Proton Administrator Guide*.
4026
4703
  #
4027
- # : `NONE`
4028
- #
4029
- # In this mode, a deployment *doesn't* occur. Only the requested
4030
- # metadata parameters are updated.
4031
- #
4032
- #
4033
- #
4034
- # : `CURRENT_VERSION`
4035
- #
4036
- # In this mode, the service instance is deployed and updated with the
4037
- # new spec that you provide. Only requested parameters are updated.
4038
- # *Don’t* include minor or major version parameters when you use this
4039
- # `deployment-type`.
4040
- #
4041
- #
4042
- #
4043
- # : `MINOR_VERSION`
4044
- #
4045
- # In this mode, the service instance is deployed and updated with the
4046
- # published, recommended (latest) minor version of the current major
4047
- # version in use, by default. You can also specify a different minor
4048
- # version of the current major version in use.
4704
+ # </note>
4049
4705
  #
4050
4706
  #
4051
4707
  #
4052
- # : `MAJOR_VERSION`
4053
- #
4054
- # In this mode, the service instance is deployed and updated with the
4055
- # published, recommended (latest) major and minor version of the
4056
- # current template, by default. You can also specify a different major
4057
- # version that's higher than the major version in use and a minor
4058
- # version.
4708
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
4059
4709
  #
4060
4710
  # @option params [required, String] :deployment_type
4061
- # The deployment type.
4062
- #
4063
- # There are four modes for updating a service instance. The
4064
- # `deploymentType` field defines the mode.
4711
+ # The deployment type. It defines the mode for updating a service
4712
+ # instance, as follows:
4065
4713
  #
4066
4714
  #
4067
4715
  #
@@ -4077,7 +4725,7 @@ module Aws::Proton
4077
4725
  # In this mode, the service instance is deployed and updated with the
4078
4726
  # new spec that you provide. Only requested parameters are updated.
4079
4727
  # *Don’t* include major or minor version parameters when you use this
4080
- # `deployment-type`.
4728
+ # deployment type.
4081
4729
  #
4082
4730
  #
4083
4731
  #
@@ -4332,8 +4980,10 @@ module Aws::Proton
4332
4980
  # Update a major or minor version of a service template.
4333
4981
  #
4334
4982
  # @option params [Array<Types::CompatibleEnvironmentTemplateInput>] :compatible_environment_templates
4335
- # An array of compatible environment names for a service template major
4336
- # or minor version to update.
4983
+ # An array of environment template objects that are compatible with this
4984
+ # service template version. A service instance based on this service
4985
+ # template version can run in environments based on compatible
4986
+ # templates.
4337
4987
  #
4338
4988
  # @option params [String] :description
4339
4989
  # A description of a service template version to update.
@@ -4349,6 +4999,24 @@ module Aws::Proton
4349
4999
  # @option params [String] :status
4350
5000
  # The status of the service template minor version to update.
4351
5001
  #
5002
+ # @option params [Array<String>] :supported_component_sources
5003
+ # An array of supported component sources. Components with supported
5004
+ # sources can be attached to service instances based on this service
5005
+ # template version.
5006
+ #
5007
+ # <note markdown="1"> A change to `supportedComponentSources` doesn't impact existing
5008
+ # component attachments to instances based on this template version. A
5009
+ # change only affects later associations.
5010
+ #
5011
+ # </note>
5012
+ #
5013
+ # For more information about components, see [Proton components][1] in
5014
+ # the *Proton Administrator Guide*.
5015
+ #
5016
+ #
5017
+ #
5018
+ # [1]: https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html
5019
+ #
4352
5020
  # @option params [required, String] :template_name
4353
5021
  # The name of the service template.
4354
5022
  #
@@ -4369,6 +5037,7 @@ module Aws::Proton
4369
5037
  # major_version: "TemplateVersionPart", # required
4370
5038
  # minor_version: "TemplateVersionPart", # required
4371
5039
  # status: "REGISTRATION_IN_PROGRESS", # accepts REGISTRATION_IN_PROGRESS, REGISTRATION_FAILED, DRAFT, PUBLISHED
5040
+ # supported_component_sources: ["DIRECTLY_DEFINED"], # accepts DIRECTLY_DEFINED
4372
5041
  # template_name: "ResourceName", # required
4373
5042
  # })
4374
5043
  #
@@ -4387,6 +5056,8 @@ module Aws::Proton
4387
5056
  # resp.service_template_version.schema #=> String
4388
5057
  # resp.service_template_version.status #=> String, one of "REGISTRATION_IN_PROGRESS", "REGISTRATION_FAILED", "DRAFT", "PUBLISHED"
4389
5058
  # resp.service_template_version.status_message #=> String
5059
+ # resp.service_template_version.supported_component_sources #=> Array
5060
+ # resp.service_template_version.supported_component_sources[0] #=> String, one of "DIRECTLY_DEFINED"
4390
5061
  # resp.service_template_version.template_name #=> String
4391
5062
  #
4392
5063
  # @see http://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplateVersion AWS API Documentation
@@ -4466,7 +5137,7 @@ module Aws::Proton
4466
5137
  params: params,
4467
5138
  config: config)
4468
5139
  context[:gem_name] = 'aws-sdk-proton'
4469
- context[:gem_version] = '1.15.0'
5140
+ context[:gem_version] = '1.16.0'
4470
5141
  Seahorse::Client::Request.new(handlers, context)
4471
5142
  end
4472
5143
 
@@ -4534,6 +5205,8 @@ module Aws::Proton
4534
5205
  #
4535
5206
  # | waiter_name | params | :delay | :max_attempts |
4536
5207
  # | --------------------------------------- | ----------------------------------------- | -------- | ------------- |
5208
+ # | component_deleted | {Client#get_component} | 5 | 999 |
5209
+ # | component_deployed | {Client#get_component} | 5 | 999 |
4537
5210
  # | environment_deployed | {Client#get_environment} | 5 | 999 |
4538
5211
  # | environment_template_version_registered | {Client#get_environment_template_version} | 2 | 150 |
4539
5212
  # | service_created | {Client#get_service} | 5 | 999 |
@@ -4592,6 +5265,8 @@ module Aws::Proton
4592
5265
 
4593
5266
  def waiters
4594
5267
  {
5268
+ component_deleted: Waiters::ComponentDeleted,
5269
+ component_deployed: Waiters::ComponentDeployed,
4595
5270
  environment_deployed: Waiters::EnvironmentDeployed,
4596
5271
  environment_template_version_registered: Waiters::EnvironmentTemplateVersionRegistered,
4597
5272
  service_created: Waiters::ServiceCreated,