aws-sdk-proton 1.15.0 → 1.16.0

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