aws-sdk-servicecatalog 1.73.0 → 1.74.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e511847ebbd21746b87b9f2d3d8f9bfd6fe1e89d8f37556c79c39bb83fcb0490
4
- data.tar.gz: 5e487e19e62d5aca884f1fa6c484f534ab19862e73603c4198d46fa2b968c376
3
+ metadata.gz: 1f63e728d7e85836b83c7e519b66dd4ee25211d1c22398f08d19fde4160d5bb7
4
+ data.tar.gz: f4949541f07d4befe8e0d9ec64fe26a4ed580347f0e6fd3a254ecf60894d05a5
5
5
  SHA512:
6
- metadata.gz: 7b31a582d1ef8c9a6dd1907ac60e3bfed451e5d2eb7321f5b17802147d52815e711a6dd72dcb45749b58a209e4fe0b201dfb57b54e898901fcad62bb177355eb
7
- data.tar.gz: 03ea2f8ce25d18a80528a60429a67ea0689071b3a9d9479082a55f480af42c9af3ff85f3a7bc93ba890c2def4f6a704ca4a75b193aa0110a25c796529fa6ddf6
6
+ metadata.gz: 4d17983c29dca98d171737d218b87cae1cf210d2bc0c103df0a26b4159d748f3c3181b6b1e958f9fac1481f049c76c881c62ff4441d57e0c5f60a4085bbb6558
7
+ data.tar.gz: 8c5b847eab24ff654fb7dcf15b1bb7a270a4972454c385370914f3b729f01df9946103e4687fb8dfb0de6ba92cf8de5dbfd77d4fe17d03e9565dc185b5db9b6d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.74.0 (2022-11-18)
5
+ ------------------
6
+
7
+ * Feature - This release 1. adds support for Principal Name Sharing with Service Catalog portfolio sharing. 2. Introduces repo sourced products which are created and managed with existing SC APIs. These products are synced to external repos and auto create new product versions based on changes in the repo.
8
+
4
9
  1.73.0 (2022-10-25)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.73.0
1
+ 1.74.0
@@ -454,6 +454,29 @@ module Aws::ServiceCatalog
454
454
 
455
455
  # Associates the specified principal ARN with the specified portfolio.
456
456
  #
457
+ # If you share the portfolio with principal name sharing enabled, the
458
+ # `PrincipalARN` association is included in the share.
459
+ #
460
+ # The `PortfolioID`, `PrincipalARN`, and `PrincipalType` parameters are
461
+ # required.
462
+ #
463
+ # You can associate a maximum of 10 Principals with a portfolio using
464
+ # `PrincipalType` as `IAM_PATTERN`
465
+ #
466
+ # <note markdown="1"> When you associate a principal with portfolio, a potential privilege
467
+ # escalation path may occur when that portfolio is then shared with
468
+ # other accounts. For a user in a recipient account who is *not* an
469
+ # Service Catalog Admin, but still has the ability to create Principals
470
+ # (Users/Groups/Roles), that user could create a role that matches a
471
+ # principal name association for the portfolio. Although this user may
472
+ # not know which principal names are associated through Service Catalog,
473
+ # they may be able to guess the user. If this potential escalation path
474
+ # is a concern, then Service Catalog recommends using `PrincipalType` as
475
+ # `IAM`. With this configuration, the `PrincipalARN` must already exist
476
+ # in the recipient account before it can be associated.
477
+ #
478
+ # </note>
479
+ #
457
480
  # @option params [String] :accept_language
458
481
  # The language code.
459
482
  #
@@ -467,10 +490,17 @@ module Aws::ServiceCatalog
467
490
  # The portfolio identifier.
468
491
  #
469
492
  # @option params [required, String] :principal_arn
470
- # The ARN of the principal (IAM user, role, or group).
493
+ # The ARN of the principal (IAM user, role, or group). This field allows
494
+ # an ARN with no `accountID` if `PrincipalType` is `IAM_PATTERN`.
495
+ #
496
+ # You can associate multiple `IAM` patterns even if the account has no
497
+ # principal with that name. This is useful in Principal Name Sharing if
498
+ # you want to share a principal without creating it in the account that
499
+ # owns the portfolio.
471
500
  #
472
501
  # @option params [required, String] :principal_type
473
- # The principal type. The supported value is `IAM`.
502
+ # The principal type. The supported value is `IAM` if you use a fully
503
+ # defined ARN, or `IAM_PATTERN` if you use an ARN with no `accountID`.
474
504
  #
475
505
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
476
506
  #
@@ -480,7 +510,7 @@ module Aws::ServiceCatalog
480
510
  # accept_language: "AcceptLanguage",
481
511
  # portfolio_id: "Id", # required
482
512
  # principal_arn: "PrincipalARN", # required
483
- # principal_type: "IAM", # required, accepts IAM
513
+ # principal_type: "IAM", # required, accepts IAM, IAM_PATTERN
484
514
  # })
485
515
  #
486
516
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolio AWS API Documentation
@@ -1035,6 +1065,20 @@ module Aws::ServiceCatalog
1035
1065
  # error. To update an existing share, you must use the `
1036
1066
  # UpdatePortfolioShare` API instead.
1037
1067
  #
1068
+ # <note markdown="1"> When you associate a principal with portfolio, a potential privilege
1069
+ # escalation path may occur when that portfolio is then shared with
1070
+ # other accounts. For a user in a recipient account who is *not* an
1071
+ # Service Catalog Admin, but still has the ability to create Principals
1072
+ # (Users/Groups/Roles), that user could create a role that matches a
1073
+ # principal name association for the portfolio. Although this user may
1074
+ # not know which principal names are associated through Service Catalog,
1075
+ # they may be able to guess the user. If this potential escalation path
1076
+ # is a concern, then Service Catalog recommends using `PrincipalType` as
1077
+ # `IAM`. With this configuration, the `PrincipalARN` must already exist
1078
+ # in the recipient account before it can be associated.
1079
+ #
1080
+ # </note>
1081
+ #
1038
1082
  # @option params [String] :accept_language
1039
1083
  # The language code.
1040
1084
  #
@@ -1062,6 +1106,18 @@ module Aws::ServiceCatalog
1062
1106
  # Enables or disables `TagOptions ` sharing when creating the portfolio
1063
1107
  # share. If this flag is not provided, TagOptions sharing is disabled.
1064
1108
  #
1109
+ # @option params [Boolean] :share_principals
1110
+ # Enables or disables `Principal` sharing when creating the portfolio
1111
+ # share. If this flag is not provided, principal sharing is disabled.
1112
+ #
1113
+ # When you enable Principal Name Sharing for a portfolio share, the
1114
+ # share recipient account end users with a principal that matches any of
1115
+ # the associated IAM patterns can provision products from the portfolio.
1116
+ # Once shared, the share recipient can view associations of
1117
+ # `PrincipalType`\: `IAM_PATTERN` on their portfolio. You can create the
1118
+ # principals in the recipient account before or after creating the
1119
+ # share.
1120
+ #
1065
1121
  # @return [Types::CreatePortfolioShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1066
1122
  #
1067
1123
  # * {Types::CreatePortfolioShareOutput#portfolio_share_token #portfolio_share_token} => String
@@ -1077,6 +1133,7 @@ module Aws::ServiceCatalog
1077
1133
  # value: "OrganizationNodeValue",
1078
1134
  # },
1079
1135
  # share_tag_options: false,
1136
+ # share_principals: false,
1080
1137
  # })
1081
1138
  #
1082
1139
  # @example Response structure
@@ -1139,7 +1196,7 @@ module Aws::ServiceCatalog
1139
1196
  # @option params [Array<Types::Tag>] :tags
1140
1197
  # One or more tags.
1141
1198
  #
1142
- # @option params [required, Types::ProvisioningArtifactProperties] :provisioning_artifact_parameters
1199
+ # @option params [Types::ProvisioningArtifactProperties] :provisioning_artifact_parameters
1143
1200
  # The configuration of the provisioning artifact.
1144
1201
  #
1145
1202
  # @option params [required, String] :idempotency_token
@@ -1150,6 +1207,16 @@ module Aws::ServiceCatalog
1150
1207
  # **A suitable default value is auto-generated.** You should normally
1151
1208
  # not need to pass this option.**
1152
1209
  #
1210
+ # @option params [Types::SourceConnection] :source_connection
1211
+ # Specifies connection details for the created product and syncs the
1212
+ # product to the connection source artifact. This automatically manages
1213
+ # the product's artifacts based on changes to the source. The
1214
+ # `SourceConnection` parameter consists of the following sub-fields.
1215
+ #
1216
+ # * `Type`
1217
+ #
1218
+ # * `ConnectionParamters`
1219
+ #
1153
1220
  # @return [Types::CreateProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1154
1221
  #
1155
1222
  # * {Types::CreateProductOutput#product_view_detail #product_view_detail} => Types::ProductViewDetail
@@ -1174,16 +1241,27 @@ module Aws::ServiceCatalog
1174
1241
  # value: "TagValue", # required
1175
1242
  # },
1176
1243
  # ],
1177
- # provisioning_artifact_parameters: { # required
1244
+ # provisioning_artifact_parameters: {
1178
1245
  # name: "ProvisioningArtifactName",
1179
1246
  # description: "ProvisioningArtifactDescription",
1180
- # info: { # required
1247
+ # info: {
1181
1248
  # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
1182
1249
  # },
1183
1250
  # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE, MARKETPLACE_AMI, MARKETPLACE_CAR
1184
1251
  # disable_template_validation: false,
1185
1252
  # },
1186
1253
  # idempotency_token: "IdempotencyToken", # required
1254
+ # source_connection: {
1255
+ # type: "CODESTAR", # accepts CODESTAR
1256
+ # connection_parameters: { # required
1257
+ # code_star: {
1258
+ # connection_arn: "CodeStarConnectionArn", # required
1259
+ # repository: "Repository", # required
1260
+ # branch: "RepositoryBranch", # required
1261
+ # artifact_path: "RepositoryArtifactPath", # required
1262
+ # },
1263
+ # },
1264
+ # },
1187
1265
  # })
1188
1266
  #
1189
1267
  # @example Response structure
@@ -1202,6 +1280,16 @@ module Aws::ServiceCatalog
1202
1280
  # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
1203
1281
  # resp.product_view_detail.product_arn #=> String
1204
1282
  # resp.product_view_detail.created_time #=> Time
1283
+ # resp.product_view_detail.source_connection.type #=> String, one of "CODESTAR"
1284
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.connection_arn #=> String
1285
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.repository #=> String
1286
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.branch #=> String
1287
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.artifact_path #=> String
1288
+ # resp.product_view_detail.source_connection.last_sync.last_sync_time #=> Time
1289
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status #=> String, one of "SUCCEEDED", "FAILED"
1290
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status_message #=> String
1291
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_time #=> Time
1292
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_provisioning_artifact_id #=> String
1205
1293
  # resp.provisioning_artifact_detail.id #=> String
1206
1294
  # resp.provisioning_artifact_detail.name #=> String
1207
1295
  # resp.provisioning_artifact_detail.description #=> String
@@ -1209,6 +1297,7 @@ module Aws::ServiceCatalog
1209
1297
  # resp.provisioning_artifact_detail.created_time #=> Time
1210
1298
  # resp.provisioning_artifact_detail.active #=> Boolean
1211
1299
  # resp.provisioning_artifact_detail.guidance #=> String, one of "DEFAULT", "DEPRECATED"
1300
+ # resp.provisioning_artifact_detail.source_revision #=> String
1212
1301
  # resp.tags #=> Array
1213
1302
  # resp.tags[0].key #=> String
1214
1303
  # resp.tags[0].value #=> String
@@ -1391,7 +1480,7 @@ module Aws::ServiceCatalog
1391
1480
  # parameters: { # required
1392
1481
  # name: "ProvisioningArtifactName",
1393
1482
  # description: "ProvisioningArtifactDescription",
1394
- # info: { # required
1483
+ # info: {
1395
1484
  # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
1396
1485
  # },
1397
1486
  # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE, MARKETPLACE_AMI, MARKETPLACE_CAR
@@ -1409,6 +1498,7 @@ module Aws::ServiceCatalog
1409
1498
  # resp.provisioning_artifact_detail.created_time #=> Time
1410
1499
  # resp.provisioning_artifact_detail.active #=> Boolean
1411
1500
  # resp.provisioning_artifact_detail.guidance #=> String, one of "DEFAULT", "DEPRECATED"
1501
+ # resp.provisioning_artifact_detail.source_revision #=> String
1412
1502
  # resp.info #=> Hash
1413
1503
  # resp.info["ProvisioningArtifactInfoKey"] #=> String
1414
1504
  # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
@@ -2106,6 +2196,7 @@ module Aws::ServiceCatalog
2106
2196
  # resp.portfolio_share_details[0].type #=> String, one of "ACCOUNT", "ORGANIZATION", "ORGANIZATIONAL_UNIT", "ORGANIZATION_MEMBER_ACCOUNT"
2107
2197
  # resp.portfolio_share_details[0].accepted #=> Boolean
2108
2198
  # resp.portfolio_share_details[0].share_tag_options #=> Boolean
2199
+ # resp.portfolio_share_details[0].share_principals #=> Boolean
2109
2200
  #
2110
2201
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioShares AWS API Documentation
2111
2202
  #
@@ -2243,6 +2334,16 @@ module Aws::ServiceCatalog
2243
2334
  # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
2244
2335
  # resp.product_view_detail.product_arn #=> String
2245
2336
  # resp.product_view_detail.created_time #=> Time
2337
+ # resp.product_view_detail.source_connection.type #=> String, one of "CODESTAR"
2338
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.connection_arn #=> String
2339
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.repository #=> String
2340
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.branch #=> String
2341
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.artifact_path #=> String
2342
+ # resp.product_view_detail.source_connection.last_sync.last_sync_time #=> Time
2343
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status #=> String, one of "SUCCEEDED", "FAILED"
2344
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status_message #=> String
2345
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_time #=> Time
2346
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_provisioning_artifact_id #=> String
2246
2347
  # resp.provisioning_artifact_summaries #=> Array
2247
2348
  # resp.provisioning_artifact_summaries[0].id #=> String
2248
2349
  # resp.provisioning_artifact_summaries[0].name #=> String
@@ -2529,6 +2630,7 @@ module Aws::ServiceCatalog
2529
2630
  # resp.provisioning_artifact_detail.created_time #=> Time
2530
2631
  # resp.provisioning_artifact_detail.active #=> Boolean
2531
2632
  # resp.provisioning_artifact_detail.guidance #=> String, one of "DEFAULT", "DEPRECATED"
2633
+ # resp.provisioning_artifact_detail.source_revision #=> String
2532
2634
  # resp.info #=> Hash
2533
2635
  # resp.info["ProvisioningArtifactInfoKey"] #=> String
2534
2636
  # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
@@ -2924,6 +3026,17 @@ module Aws::ServiceCatalog
2924
3026
  # Disassociates a previously associated principal ARN from a specified
2925
3027
  # portfolio.
2926
3028
  #
3029
+ # The `PrincipalType` and `PrincipalARN` must match the
3030
+ # `AssociatePrincipalWithPortfolio` call request details. For example,
3031
+ # to disassociate an association created with a `PrincipalARN` of
3032
+ # `PrincipalType` IAM you must use the `PrincipalType` IAM when calling
3033
+ # `DisassociatePrincipalFromPortfolio`.
3034
+ #
3035
+ # For portfolios that have been shared with principal name sharing
3036
+ # enabled: after disassociating a principal, share recipient accounts
3037
+ # will no longer be able to provision products in this portfolio using a
3038
+ # role matching the name of the associated principal.
3039
+ #
2927
3040
  # @option params [String] :accept_language
2928
3041
  # The language code.
2929
3042
  #
@@ -2937,7 +3050,12 @@ module Aws::ServiceCatalog
2937
3050
  # The portfolio identifier.
2938
3051
  #
2939
3052
  # @option params [required, String] :principal_arn
2940
- # The ARN of the principal (IAM user, role, or group).
3053
+ # The ARN of the principal (IAM user, role, or group). This field allows
3054
+ # an ARN with no `accountID` if `PrincipalType` is `IAM_PATTERN`.
3055
+ #
3056
+ # @option params [String] :principal_type
3057
+ # The supported value is `IAM` if you use a fully defined ARN, or
3058
+ # `IAM_PATTERN` if you use no `accountID`.
2941
3059
  #
2942
3060
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2943
3061
  #
@@ -2947,6 +3065,7 @@ module Aws::ServiceCatalog
2947
3065
  # accept_language: "AcceptLanguage",
2948
3066
  # portfolio_id: "Id", # required
2949
3067
  # principal_arn: "PrincipalARN", # required
3068
+ # principal_type: "IAM", # accepts IAM, IAM_PATTERN
2950
3069
  # })
2951
3070
  #
2952
3071
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolio AWS API Documentation
@@ -3328,11 +3447,10 @@ module Aws::ServiceCatalog
3328
3447
  req.send_request(options)
3329
3448
  end
3330
3449
 
3331
- # Requests the import of a resource as a Amazon Web Services Service
3332
- # Catalog provisioned product that is associated to a Amazon Web
3333
- # Services Service Catalog product and provisioning artifact. Once
3334
- # imported, all supported Amazon Web Services Service Catalog governance
3335
- # actions are supported on the provisioned product.
3450
+ # Requests the import of a resource as an Service Catalog provisioned
3451
+ # product that is associated to an Service Catalog product and
3452
+ # provisioning artifact. Once imported, all supported Service Catalog
3453
+ # governance actions are supported on the provisioned product.
3336
3454
  #
3337
3455
  # Resource import only supports CloudFormation stack ARNs.
3338
3456
  # CloudFormation StackSets and non-root nested stacks are not supported.
@@ -3343,8 +3461,7 @@ module Aws::ServiceCatalog
3343
3461
  # `IMPORT_ROLLBACK_COMPLETE`.
3344
3462
  #
3345
3463
  # Import of the resource requires that the CloudFormation stack template
3346
- # matches the associated Amazon Web Services Service Catalog product
3347
- # provisioning artifact.
3464
+ # matches the associated Service Catalog product provisioning artifact.
3348
3465
  #
3349
3466
  # The user or role that performs this operation must have the
3350
3467
  # `cloudformation:GetTemplate` and `cloudformation:DescribeStacks` IAM
@@ -3913,7 +4030,8 @@ module Aws::ServiceCatalog
3913
4030
  req.send_request(options)
3914
4031
  end
3915
4032
 
3916
- # Lists all principal ARNs associated with the specified portfolio.
4033
+ # Lists all `PrincipalARN`s and corresponding `PrincipalType`s
4034
+ # associated with the specified portfolio.
3917
4035
  #
3918
4036
  # @option params [String] :accept_language
3919
4037
  # The language code.
@@ -3954,7 +4072,7 @@ module Aws::ServiceCatalog
3954
4072
  #
3955
4073
  # resp.principals #=> Array
3956
4074
  # resp.principals[0].principal_arn #=> String
3957
- # resp.principals[0].principal_type #=> String, one of "IAM"
4075
+ # resp.principals[0].principal_type #=> String, one of "IAM", "IAM_PATTERN"
3958
4076
  # resp.next_page_token #=> String
3959
4077
  #
3960
4078
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListPrincipalsForPortfolio AWS API Documentation
@@ -4066,6 +4184,7 @@ module Aws::ServiceCatalog
4066
4184
  # resp.provisioning_artifact_details[0].created_time #=> Time
4067
4185
  # resp.provisioning_artifact_details[0].active #=> Boolean
4068
4186
  # resp.provisioning_artifact_details[0].guidance #=> String, one of "DEFAULT", "DEPRECATED"
4187
+ # resp.provisioning_artifact_details[0].source_revision #=> String
4069
4188
  # resp.next_page_token #=> String
4070
4189
  #
4071
4190
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListProvisioningArtifacts AWS API Documentation
@@ -4903,6 +5022,16 @@ module Aws::ServiceCatalog
4903
5022
  # resp.product_view_details[0].status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
4904
5023
  # resp.product_view_details[0].product_arn #=> String
4905
5024
  # resp.product_view_details[0].created_time #=> Time
5025
+ # resp.product_view_details[0].source_connection.type #=> String, one of "CODESTAR"
5026
+ # resp.product_view_details[0].source_connection.connection_parameters.code_star.connection_arn #=> String
5027
+ # resp.product_view_details[0].source_connection.connection_parameters.code_star.repository #=> String
5028
+ # resp.product_view_details[0].source_connection.connection_parameters.code_star.branch #=> String
5029
+ # resp.product_view_details[0].source_connection.connection_parameters.code_star.artifact_path #=> String
5030
+ # resp.product_view_details[0].source_connection.last_sync.last_sync_time #=> Time
5031
+ # resp.product_view_details[0].source_connection.last_sync.last_sync_status #=> String, one of "SUCCEEDED", "FAILED"
5032
+ # resp.product_view_details[0].source_connection.last_sync.last_sync_status_message #=> String
5033
+ # resp.product_view_details[0].source_connection.last_sync.last_successful_sync_time #=> Time
5034
+ # resp.product_view_details[0].source_connection.last_sync.last_successful_sync_provisioning_artifact_id #=> String
4906
5035
  # resp.next_page_token #=> String
4907
5036
  #
4908
5037
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SearchProductsAsAdmin AWS API Documentation
@@ -5317,9 +5446,10 @@ module Aws::ServiceCatalog
5317
5446
  end
5318
5447
 
5319
5448
  # Updates the specified portfolio share. You can use this API to enable
5320
- # or disable TagOptions sharing for an existing portfolio share.
5449
+ # or disable `TagOptions` sharing or Principal sharing for an existing
5450
+ # portfolio share.
5321
5451
  #
5322
- # The portfolio share cannot be updated if the ` CreatePortfolioShare`
5452
+ # The portfolio share cannot be updated if the `CreatePortfolioShare`
5323
5453
  # operation is `IN_PROGRESS`, as the share is not available to recipient
5324
5454
  # entities. In this case, you must wait for the portfolio share to be
5325
5455
  # COMPLETED.
@@ -5334,6 +5464,20 @@ module Aws::ServiceCatalog
5334
5464
  # This API cannot be used for removing the portfolio share. You must use
5335
5465
  # `DeletePortfolioShare` API for that action.
5336
5466
  #
5467
+ # <note markdown="1"> When you associate a principal with portfolio, a potential privilege
5468
+ # escalation path may occur when that portfolio is then shared with
5469
+ # other accounts. For a user in a recipient account who is *not* an
5470
+ # Service Catalog Admin, but still has the ability to create Principals
5471
+ # (Users/Groups/Roles), that user could create a role that matches a
5472
+ # principal name association for the portfolio. Although this user may
5473
+ # not know which principal names are associated through Service Catalog,
5474
+ # they may be able to guess the user. If this potential escalation path
5475
+ # is a concern, then Service Catalog recommends using `PrincipalType` as
5476
+ # `IAM`. With this configuration, the `PrincipalARN` must already exist
5477
+ # in the recipient account before it can be associated.
5478
+ #
5479
+ # </note>
5480
+ #
5337
5481
  # @option params [String] :accept_language
5338
5482
  # The language code.
5339
5483
  #
@@ -5356,8 +5500,13 @@ module Aws::ServiceCatalog
5356
5500
  # Information about the organization node.
5357
5501
  #
5358
5502
  # @option params [Boolean] :share_tag_options
5359
- # A flag to enable or disable TagOptions sharing for the portfolio
5360
- # share. If this field is not provided, the current state of TagOptions
5503
+ # Enables or disables `TagOptions` sharing for the portfolio share. If
5504
+ # this field is not provided, the current state of TagOptions sharing on
5505
+ # the portfolio share will not be modified.
5506
+ #
5507
+ # @option params [Boolean] :share_principals
5508
+ # A flag to enables or disables `Principals` sharing in the portfolio.
5509
+ # If this field is not provided, the current state of the `Principals`
5361
5510
  # sharing on the portfolio share will not be modified.
5362
5511
  #
5363
5512
  # @return [Types::UpdatePortfolioShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -5376,6 +5525,7 @@ module Aws::ServiceCatalog
5376
5525
  # value: "OrganizationNodeValue",
5377
5526
  # },
5378
5527
  # share_tag_options: false,
5528
+ # share_principals: false,
5379
5529
  # })
5380
5530
  #
5381
5531
  # @example Response structure
@@ -5433,6 +5583,16 @@ module Aws::ServiceCatalog
5433
5583
  # @option params [Array<String>] :remove_tags
5434
5584
  # The tags to remove from the product.
5435
5585
  #
5586
+ # @option params [Types::SourceConnection] :source_connection
5587
+ # Specifies connection details for the updated product and syncs the
5588
+ # product to the connection source artifact. This automatically manages
5589
+ # the product's artifacts based on changes to the source. The
5590
+ # `SourceConnection` parameter consists of the following sub-fields.
5591
+ #
5592
+ # * `Type`
5593
+ #
5594
+ # * `ConnectionParamters`
5595
+ #
5436
5596
  # @return [Types::UpdateProductOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5437
5597
  #
5438
5598
  # * {Types::UpdateProductOutput#product_view_detail #product_view_detail} => Types::ProductViewDetail
@@ -5457,6 +5617,17 @@ module Aws::ServiceCatalog
5457
5617
  # },
5458
5618
  # ],
5459
5619
  # remove_tags: ["TagKey"],
5620
+ # source_connection: {
5621
+ # type: "CODESTAR", # accepts CODESTAR
5622
+ # connection_parameters: { # required
5623
+ # code_star: {
5624
+ # connection_arn: "CodeStarConnectionArn", # required
5625
+ # repository: "Repository", # required
5626
+ # branch: "RepositoryBranch", # required
5627
+ # artifact_path: "RepositoryArtifactPath", # required
5628
+ # },
5629
+ # },
5630
+ # },
5460
5631
  # })
5461
5632
  #
5462
5633
  # @example Response structure
@@ -5475,6 +5646,16 @@ module Aws::ServiceCatalog
5475
5646
  # resp.product_view_detail.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
5476
5647
  # resp.product_view_detail.product_arn #=> String
5477
5648
  # resp.product_view_detail.created_time #=> Time
5649
+ # resp.product_view_detail.source_connection.type #=> String, one of "CODESTAR"
5650
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.connection_arn #=> String
5651
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.repository #=> String
5652
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.branch #=> String
5653
+ # resp.product_view_detail.source_connection.connection_parameters.code_star.artifact_path #=> String
5654
+ # resp.product_view_detail.source_connection.last_sync.last_sync_time #=> Time
5655
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status #=> String, one of "SUCCEEDED", "FAILED"
5656
+ # resp.product_view_detail.source_connection.last_sync.last_sync_status_message #=> String
5657
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_time #=> Time
5658
+ # resp.product_view_detail.source_connection.last_sync.last_successful_sync_provisioning_artifact_id #=> String
5478
5659
  # resp.tags #=> Array
5479
5660
  # resp.tags[0].key #=> String
5480
5661
  # resp.tags[0].value #=> String
@@ -5790,6 +5971,7 @@ module Aws::ServiceCatalog
5790
5971
  # resp.provisioning_artifact_detail.created_time #=> Time
5791
5972
  # resp.provisioning_artifact_detail.active #=> Boolean
5792
5973
  # resp.provisioning_artifact_detail.guidance #=> String, one of "DEFAULT", "DEPRECATED"
5974
+ # resp.provisioning_artifact_detail.source_revision #=> String
5793
5975
  # resp.info #=> Hash
5794
5976
  # resp.info["ProvisioningArtifactInfoKey"] #=> String
5795
5977
  # resp.status #=> String, one of "AVAILABLE", "CREATING", "FAILED"
@@ -5913,7 +6095,7 @@ module Aws::ServiceCatalog
5913
6095
  params: params,
5914
6096
  config: config)
5915
6097
  context[:gem_name] = 'aws-sdk-servicecatalog'
5916
- context[:gem_version] = '1.73.0'
6098
+ context[:gem_version] = '1.74.0'
5917
6099
  Seahorse::Client::Request.new(handlers, context)
5918
6100
  end
5919
6101
 
@@ -49,6 +49,8 @@ module Aws::ServiceCatalog
49
49
  CloudWatchDashboard = Shapes::StructureShape.new(name: 'CloudWatchDashboard')
50
50
  CloudWatchDashboardName = Shapes::StringShape.new(name: 'CloudWatchDashboardName')
51
51
  CloudWatchDashboards = Shapes::ListShape.new(name: 'CloudWatchDashboards')
52
+ CodeStarConnectionArn = Shapes::StringShape.new(name: 'CodeStarConnectionArn')
53
+ CodeStarParameters = Shapes::StructureShape.new(name: 'CodeStarParameters')
52
54
  ConstraintDescription = Shapes::StringShape.new(name: 'ConstraintDescription')
53
55
  ConstraintDetail = Shapes::StructureShape.new(name: 'ConstraintDetail')
54
56
  ConstraintDetails = Shapes::ListShape.new(name: 'ConstraintDetails')
@@ -178,6 +180,11 @@ module Aws::ServiceCatalog
178
180
  InvalidParametersException = Shapes::StructureShape.new(name: 'InvalidParametersException')
179
181
  InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException')
180
182
  LastRequestId = Shapes::StringShape.new(name: 'LastRequestId')
183
+ LastSuccessfulSyncTime = Shapes::TimestampShape.new(name: 'LastSuccessfulSyncTime')
184
+ LastSync = Shapes::StructureShape.new(name: 'LastSync')
185
+ LastSyncStatus = Shapes::StringShape.new(name: 'LastSyncStatus')
186
+ LastSyncStatusMessage = Shapes::StringShape.new(name: 'LastSyncStatusMessage')
187
+ LastSyncTime = Shapes::TimestampShape.new(name: 'LastSyncTime')
181
188
  LaunchPath = Shapes::StructureShape.new(name: 'LaunchPath')
182
189
  LaunchPathSummaries = Shapes::ListShape.new(name: 'LaunchPathSummaries')
183
190
  LaunchPathSummary = Shapes::StructureShape.new(name: 'LaunchPathSummary')
@@ -352,6 +359,9 @@ module Aws::ServiceCatalog
352
359
  RejectPortfolioShareInput = Shapes::StructureShape.new(name: 'RejectPortfolioShareInput')
353
360
  RejectPortfolioShareOutput = Shapes::StructureShape.new(name: 'RejectPortfolioShareOutput')
354
361
  Replacement = Shapes::StringShape.new(name: 'Replacement')
362
+ Repository = Shapes::StringShape.new(name: 'Repository')
363
+ RepositoryArtifactPath = Shapes::StringShape.new(name: 'RepositoryArtifactPath')
364
+ RepositoryBranch = Shapes::StringShape.new(name: 'RepositoryBranch')
355
365
  RequiresRecreation = Shapes::StringShape.new(name: 'RequiresRecreation')
356
366
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
357
367
  ResourceAttribute = Shapes::StringShape.new(name: 'ResourceAttribute')
@@ -404,8 +414,13 @@ module Aws::ServiceCatalog
404
414
  ShareStatus = Shapes::StringShape.new(name: 'ShareStatus')
405
415
  SortField = Shapes::StringShape.new(name: 'SortField')
406
416
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
417
+ SourceConnection = Shapes::StructureShape.new(name: 'SourceConnection')
418
+ SourceConnectionDetail = Shapes::StructureShape.new(name: 'SourceConnectionDetail')
419
+ SourceConnectionParameters = Shapes::StructureShape.new(name: 'SourceConnectionParameters')
407
420
  SourceProvisioningArtifactProperties = Shapes::ListShape.new(name: 'SourceProvisioningArtifactProperties')
408
421
  SourceProvisioningArtifactPropertiesMap = Shapes::MapShape.new(name: 'SourceProvisioningArtifactPropertiesMap')
422
+ SourceRevision = Shapes::StringShape.new(name: 'SourceRevision')
423
+ SourceType = Shapes::StringShape.new(name: 'SourceType')
409
424
  StackInstance = Shapes::StructureShape.new(name: 'StackInstance')
410
425
  StackInstanceStatus = Shapes::StringShape.new(name: 'StackInstanceStatus')
411
426
  StackInstances = Shapes::ListShape.new(name: 'StackInstances')
@@ -548,6 +563,12 @@ module Aws::ServiceCatalog
548
563
 
549
564
  CloudWatchDashboards.member = Shapes::ShapeRef.new(shape: CloudWatchDashboard)
550
565
 
566
+ CodeStarParameters.add_member(:connection_arn, Shapes::ShapeRef.new(shape: CodeStarConnectionArn, required: true, location_name: "ConnectionArn"))
567
+ CodeStarParameters.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, required: true, location_name: "Repository"))
568
+ CodeStarParameters.add_member(:branch, Shapes::ShapeRef.new(shape: RepositoryBranch, required: true, location_name: "Branch"))
569
+ CodeStarParameters.add_member(:artifact_path, Shapes::ShapeRef.new(shape: RepositoryArtifactPath, required: true, location_name: "ArtifactPath"))
570
+ CodeStarParameters.struct_class = Types::CodeStarParameters
571
+
551
572
  ConstraintDetail.add_member(:constraint_id, Shapes::ShapeRef.new(shape: Id, location_name: "ConstraintId"))
552
573
  ConstraintDetail.add_member(:type, Shapes::ShapeRef.new(shape: ConstraintType, location_name: "Type"))
553
574
  ConstraintDetail.add_member(:description, Shapes::ShapeRef.new(shape: ConstraintDescription, location_name: "Description"))
@@ -609,6 +630,7 @@ module Aws::ServiceCatalog
609
630
  CreatePortfolioShareInput.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
610
631
  CreatePortfolioShareInput.add_member(:organization_node, Shapes::ShapeRef.new(shape: OrganizationNode, location_name: "OrganizationNode"))
611
632
  CreatePortfolioShareInput.add_member(:share_tag_options, Shapes::ShapeRef.new(shape: Boolean, location_name: "ShareTagOptions"))
633
+ CreatePortfolioShareInput.add_member(:share_principals, Shapes::ShapeRef.new(shape: Boolean, location_name: "SharePrincipals"))
612
634
  CreatePortfolioShareInput.struct_class = Types::CreatePortfolioShareInput
613
635
 
614
636
  CreatePortfolioShareOutput.add_member(:portfolio_share_token, Shapes::ShapeRef.new(shape: Id, location_name: "PortfolioShareToken"))
@@ -624,8 +646,9 @@ module Aws::ServiceCatalog
624
646
  CreateProductInput.add_member(:support_url, Shapes::ShapeRef.new(shape: SupportUrl, location_name: "SupportUrl"))
625
647
  CreateProductInput.add_member(:product_type, Shapes::ShapeRef.new(shape: ProductType, required: true, location_name: "ProductType"))
626
648
  CreateProductInput.add_member(:tags, Shapes::ShapeRef.new(shape: AddTags, location_name: "Tags"))
627
- CreateProductInput.add_member(:provisioning_artifact_parameters, Shapes::ShapeRef.new(shape: ProvisioningArtifactProperties, required: true, location_name: "ProvisioningArtifactParameters"))
649
+ CreateProductInput.add_member(:provisioning_artifact_parameters, Shapes::ShapeRef.new(shape: ProvisioningArtifactProperties, location_name: "ProvisioningArtifactParameters"))
628
650
  CreateProductInput.add_member(:idempotency_token, Shapes::ShapeRef.new(shape: IdempotencyToken, required: true, location_name: "IdempotencyToken", metadata: {"idempotencyToken"=>true}))
651
+ CreateProductInput.add_member(:source_connection, Shapes::ShapeRef.new(shape: SourceConnection, location_name: "SourceConnection"))
629
652
  CreateProductInput.struct_class = Types::CreateProductInput
630
653
 
631
654
  CreateProductOutput.add_member(:product_view_detail, Shapes::ShapeRef.new(shape: ProductViewDetail, location_name: "ProductViewDetail"))
@@ -910,6 +933,7 @@ module Aws::ServiceCatalog
910
933
  DisassociatePrincipalFromPortfolioInput.add_member(:accept_language, Shapes::ShapeRef.new(shape: AcceptLanguage, location_name: "AcceptLanguage"))
911
934
  DisassociatePrincipalFromPortfolioInput.add_member(:portfolio_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "PortfolioId"))
912
935
  DisassociatePrincipalFromPortfolioInput.add_member(:principal_arn, Shapes::ShapeRef.new(shape: PrincipalARN, required: true, location_name: "PrincipalARN"))
936
+ DisassociatePrincipalFromPortfolioInput.add_member(:principal_type, Shapes::ShapeRef.new(shape: PrincipalType, location_name: "PrincipalType"))
913
937
  DisassociatePrincipalFromPortfolioInput.struct_class = Types::DisassociatePrincipalFromPortfolioInput
914
938
 
915
939
  DisassociatePrincipalFromPortfolioOutput.struct_class = Types::DisassociatePrincipalFromPortfolioOutput
@@ -1012,6 +1036,13 @@ module Aws::ServiceCatalog
1012
1036
 
1013
1037
  InvalidStateException.struct_class = Types::InvalidStateException
1014
1038
 
1039
+ LastSync.add_member(:last_sync_time, Shapes::ShapeRef.new(shape: LastSyncTime, location_name: "LastSyncTime"))
1040
+ LastSync.add_member(:last_sync_status, Shapes::ShapeRef.new(shape: LastSyncStatus, location_name: "LastSyncStatus"))
1041
+ LastSync.add_member(:last_sync_status_message, Shapes::ShapeRef.new(shape: LastSyncStatusMessage, location_name: "LastSyncStatusMessage"))
1042
+ LastSync.add_member(:last_successful_sync_time, Shapes::ShapeRef.new(shape: LastSuccessfulSyncTime, location_name: "LastSuccessfulSyncTime"))
1043
+ LastSync.add_member(:last_successful_sync_provisioning_artifact_id, Shapes::ShapeRef.new(shape: Id, location_name: "LastSuccessfulSyncProvisioningArtifactId"))
1044
+ LastSync.struct_class = Types::LastSync
1045
+
1015
1046
  LaunchPath.add_member(:id, Shapes::ShapeRef.new(shape: Id, location_name: "Id"))
1016
1047
  LaunchPath.add_member(:name, Shapes::ShapeRef.new(shape: PortfolioName, location_name: "Name"))
1017
1048
  LaunchPath.struct_class = Types::LaunchPath
@@ -1255,6 +1286,7 @@ module Aws::ServiceCatalog
1255
1286
  PortfolioShareDetail.add_member(:type, Shapes::ShapeRef.new(shape: DescribePortfolioShareType, location_name: "Type"))
1256
1287
  PortfolioShareDetail.add_member(:accepted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Accepted"))
1257
1288
  PortfolioShareDetail.add_member(:share_tag_options, Shapes::ShapeRef.new(shape: Boolean, location_name: "ShareTagOptions"))
1289
+ PortfolioShareDetail.add_member(:share_principals, Shapes::ShapeRef.new(shape: Boolean, location_name: "SharePrincipals"))
1258
1290
  PortfolioShareDetail.struct_class = Types::PortfolioShareDetail
1259
1291
 
1260
1292
  PortfolioShareDetails.member = Shapes::ShapeRef.new(shape: PortfolioShareDetail)
@@ -1278,6 +1310,7 @@ module Aws::ServiceCatalog
1278
1310
  ProductViewDetail.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
1279
1311
  ProductViewDetail.add_member(:product_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ProductARN"))
1280
1312
  ProductViewDetail.add_member(:created_time, Shapes::ShapeRef.new(shape: CreatedTime, location_name: "CreatedTime"))
1313
+ ProductViewDetail.add_member(:source_connection, Shapes::ShapeRef.new(shape: SourceConnectionDetail, location_name: "SourceConnection"))
1281
1314
  ProductViewDetail.struct_class = Types::ProductViewDetail
1282
1315
 
1283
1316
  ProductViewDetails.member = Shapes::ShapeRef.new(shape: ProductViewDetail)
@@ -1410,6 +1443,7 @@ module Aws::ServiceCatalog
1410
1443
  ProvisioningArtifactDetail.add_member(:created_time, Shapes::ShapeRef.new(shape: CreationTime, location_name: "CreatedTime"))
1411
1444
  ProvisioningArtifactDetail.add_member(:active, Shapes::ShapeRef.new(shape: ProvisioningArtifactActive, location_name: "Active"))
1412
1445
  ProvisioningArtifactDetail.add_member(:guidance, Shapes::ShapeRef.new(shape: ProvisioningArtifactGuidance, location_name: "Guidance"))
1446
+ ProvisioningArtifactDetail.add_member(:source_revision, Shapes::ShapeRef.new(shape: SourceRevision, location_name: "SourceRevision"))
1413
1447
  ProvisioningArtifactDetail.struct_class = Types::ProvisioningArtifactDetail
1414
1448
 
1415
1449
  ProvisioningArtifactDetails.member = Shapes::ShapeRef.new(shape: ProvisioningArtifactDetail)
@@ -1439,7 +1473,7 @@ module Aws::ServiceCatalog
1439
1473
 
1440
1474
  ProvisioningArtifactProperties.add_member(:name, Shapes::ShapeRef.new(shape: ProvisioningArtifactName, location_name: "Name"))
1441
1475
  ProvisioningArtifactProperties.add_member(:description, Shapes::ShapeRef.new(shape: ProvisioningArtifactDescription, location_name: "Description"))
1442
- ProvisioningArtifactProperties.add_member(:info, Shapes::ShapeRef.new(shape: ProvisioningArtifactInfo, required: true, location_name: "Info"))
1476
+ ProvisioningArtifactProperties.add_member(:info, Shapes::ShapeRef.new(shape: ProvisioningArtifactInfo, location_name: "Info"))
1443
1477
  ProvisioningArtifactProperties.add_member(:type, Shapes::ShapeRef.new(shape: ProvisioningArtifactType, location_name: "Type"))
1444
1478
  ProvisioningArtifactProperties.add_member(:disable_template_validation, Shapes::ShapeRef.new(shape: DisableTemplateValidation, location_name: "DisableTemplateValidation"))
1445
1479
  ProvisioningArtifactProperties.struct_class = Types::ProvisioningArtifactProperties
@@ -1641,6 +1675,18 @@ module Aws::ServiceCatalog
1641
1675
 
1642
1676
  ShareErrors.member = Shapes::ShapeRef.new(shape: ShareError)
1643
1677
 
1678
+ SourceConnection.add_member(:type, Shapes::ShapeRef.new(shape: SourceType, location_name: "Type"))
1679
+ SourceConnection.add_member(:connection_parameters, Shapes::ShapeRef.new(shape: SourceConnectionParameters, required: true, location_name: "ConnectionParameters"))
1680
+ SourceConnection.struct_class = Types::SourceConnection
1681
+
1682
+ SourceConnectionDetail.add_member(:type, Shapes::ShapeRef.new(shape: SourceType, location_name: "Type"))
1683
+ SourceConnectionDetail.add_member(:connection_parameters, Shapes::ShapeRef.new(shape: SourceConnectionParameters, location_name: "ConnectionParameters"))
1684
+ SourceConnectionDetail.add_member(:last_sync, Shapes::ShapeRef.new(shape: LastSync, location_name: "LastSync"))
1685
+ SourceConnectionDetail.struct_class = Types::SourceConnectionDetail
1686
+
1687
+ SourceConnectionParameters.add_member(:code_star, Shapes::ShapeRef.new(shape: CodeStarParameters, location_name: "CodeStar"))
1688
+ SourceConnectionParameters.struct_class = Types::SourceConnectionParameters
1689
+
1644
1690
  SourceProvisioningArtifactProperties.member = Shapes::ShapeRef.new(shape: SourceProvisioningArtifactPropertiesMap)
1645
1691
 
1646
1692
  SourceProvisioningArtifactPropertiesMap.key = Shapes::ShapeRef.new(shape: ProvisioningArtifactPropertyName)
@@ -1726,6 +1772,7 @@ module Aws::ServiceCatalog
1726
1772
  UpdatePortfolioShareInput.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
1727
1773
  UpdatePortfolioShareInput.add_member(:organization_node, Shapes::ShapeRef.new(shape: OrganizationNode, location_name: "OrganizationNode"))
1728
1774
  UpdatePortfolioShareInput.add_member(:share_tag_options, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "ShareTagOptions"))
1775
+ UpdatePortfolioShareInput.add_member(:share_principals, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "SharePrincipals"))
1729
1776
  UpdatePortfolioShareInput.struct_class = Types::UpdatePortfolioShareInput
1730
1777
 
1731
1778
  UpdatePortfolioShareOutput.add_member(:portfolio_share_token, Shapes::ShapeRef.new(shape: Id, location_name: "PortfolioShareToken"))
@@ -1743,6 +1790,7 @@ module Aws::ServiceCatalog
1743
1790
  UpdateProductInput.add_member(:support_url, Shapes::ShapeRef.new(shape: SupportUrl, location_name: "SupportUrl"))
1744
1791
  UpdateProductInput.add_member(:add_tags, Shapes::ShapeRef.new(shape: AddTags, location_name: "AddTags"))
1745
1792
  UpdateProductInput.add_member(:remove_tags, Shapes::ShapeRef.new(shape: TagKeys, location_name: "RemoveTags"))
1793
+ UpdateProductInput.add_member(:source_connection, Shapes::ShapeRef.new(shape: SourceConnection, location_name: "SourceConnection"))
1746
1794
  UpdateProductInput.struct_class = Types::UpdateProductInput
1747
1795
 
1748
1796
  UpdateProductOutput.add_member(:product_view_detail, Shapes::ShapeRef.new(shape: ProductViewDetail, location_name: "ProductViewDetail"))
@@ -135,7 +135,7 @@ module Aws::ServiceCatalog
135
135
  # accept_language: "AcceptLanguage",
136
136
  # portfolio_id: "Id", # required
137
137
  # principal_arn: "PrincipalARN", # required
138
- # principal_type: "IAM", # required, accepts IAM
138
+ # principal_type: "IAM", # required, accepts IAM, IAM_PATTERN
139
139
  # }
140
140
  #
141
141
  # @!attribute [rw] accept_language
@@ -153,11 +153,19 @@ module Aws::ServiceCatalog
153
153
  # @return [String]
154
154
  #
155
155
  # @!attribute [rw] principal_arn
156
- # The ARN of the principal (IAM user, role, or group).
156
+ # The ARN of the principal (IAM user, role, or group). This field
157
+ # allows an ARN with no `accountID` if `PrincipalType` is
158
+ # `IAM_PATTERN`.
159
+ #
160
+ # You can associate multiple `IAM` patterns even if the account has no
161
+ # principal with that name. This is useful in Principal Name Sharing
162
+ # if you want to share a principal without creating it in the account
163
+ # that owns the portfolio.
157
164
  # @return [String]
158
165
  #
159
166
  # @!attribute [rw] principal_type
160
- # The principal type. The supported value is `IAM`.
167
+ # The principal type. The supported value is `IAM` if you use a fully
168
+ # defined ARN, or `IAM_PATTERN` if you use an ARN with no `accountID`.
161
169
  # @return [String]
162
170
  #
163
171
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/AssociatePrincipalWithPortfolioInput AWS API Documentation
@@ -430,6 +438,48 @@ module Aws::ServiceCatalog
430
438
  include Aws::Structure
431
439
  end
432
440
 
441
+ # The subtype containing details about the Codestar connection `Type`.
442
+ #
443
+ # @note When making an API call, you may pass CodeStarParameters
444
+ # data as a hash:
445
+ #
446
+ # {
447
+ # connection_arn: "CodeStarConnectionArn", # required
448
+ # repository: "Repository", # required
449
+ # branch: "RepositoryBranch", # required
450
+ # artifact_path: "RepositoryArtifactPath", # required
451
+ # }
452
+ #
453
+ # @!attribute [rw] connection_arn
454
+ # The CodeStar ARN, which is the connection between Service Catalog
455
+ # and the external repository.
456
+ # @return [String]
457
+ #
458
+ # @!attribute [rw] repository
459
+ # The specific repository where the product’s artifact-to-be-synced
460
+ # resides, formatted as "Account/Repo."
461
+ # @return [String]
462
+ #
463
+ # @!attribute [rw] branch
464
+ # The specific branch where the artifact resides.
465
+ # @return [String]
466
+ #
467
+ # @!attribute [rw] artifact_path
468
+ # The absolute path wehre the artifact resides within the repo and
469
+ # branch, formatted as "folder/file.json."
470
+ # @return [String]
471
+ #
472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CodeStarParameters AWS API Documentation
473
+ #
474
+ class CodeStarParameters < Struct.new(
475
+ :connection_arn,
476
+ :repository,
477
+ :branch,
478
+ :artifact_path)
479
+ SENSITIVE = []
480
+ include Aws::Structure
481
+ end
482
+
433
483
  # Information about a constraint.
434
484
  #
435
485
  # @!attribute [rw] constraint_id
@@ -859,6 +909,7 @@ module Aws::ServiceCatalog
859
909
  # value: "OrganizationNodeValue",
860
910
  # },
861
911
  # share_tag_options: false,
912
+ # share_principals: false,
862
913
  # }
863
914
  #
864
915
  # @!attribute [rw] accept_language
@@ -894,6 +945,19 @@ module Aws::ServiceCatalog
894
945
  # disabled.
895
946
  # @return [Boolean]
896
947
  #
948
+ # @!attribute [rw] share_principals
949
+ # Enables or disables `Principal` sharing when creating the portfolio
950
+ # share. If this flag is not provided, principal sharing is disabled.
951
+ #
952
+ # When you enable Principal Name Sharing for a portfolio share, the
953
+ # share recipient account end users with a principal that matches any
954
+ # of the associated IAM patterns can provision products from the
955
+ # portfolio. Once shared, the share recipient can view associations of
956
+ # `PrincipalType`\: `IAM_PATTERN` on their portfolio. You can create
957
+ # the principals in the recipient account before or after creating the
958
+ # share.
959
+ # @return [Boolean]
960
+ #
897
961
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreatePortfolioShareInput AWS API Documentation
898
962
  #
899
963
  class CreatePortfolioShareInput < Struct.new(
@@ -901,7 +965,8 @@ module Aws::ServiceCatalog
901
965
  :portfolio_id,
902
966
  :account_id,
903
967
  :organization_node,
904
- :share_tag_options)
968
+ :share_tag_options,
969
+ :share_principals)
905
970
  SENSITIVE = []
906
971
  include Aws::Structure
907
972
  end
@@ -938,16 +1003,27 @@ module Aws::ServiceCatalog
938
1003
  # value: "TagValue", # required
939
1004
  # },
940
1005
  # ],
941
- # provisioning_artifact_parameters: { # required
1006
+ # provisioning_artifact_parameters: {
942
1007
  # name: "ProvisioningArtifactName",
943
1008
  # description: "ProvisioningArtifactDescription",
944
- # info: { # required
1009
+ # info: {
945
1010
  # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
946
1011
  # },
947
1012
  # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE, MARKETPLACE_AMI, MARKETPLACE_CAR
948
1013
  # disable_template_validation: false,
949
1014
  # },
950
1015
  # idempotency_token: "IdempotencyToken", # required
1016
+ # source_connection: {
1017
+ # type: "CODESTAR", # accepts CODESTAR
1018
+ # connection_parameters: { # required
1019
+ # code_star: {
1020
+ # connection_arn: "CodeStarConnectionArn", # required
1021
+ # repository: "Repository", # required
1022
+ # branch: "RepositoryBranch", # required
1023
+ # artifact_path: "RepositoryArtifactPath", # required
1024
+ # },
1025
+ # },
1026
+ # },
951
1027
  # }
952
1028
  #
953
1029
  # @!attribute [rw] accept_language
@@ -1011,6 +1087,17 @@ module Aws::ServiceCatalog
1011
1087
  # not need to pass this option.
1012
1088
  # @return [String]
1013
1089
  #
1090
+ # @!attribute [rw] source_connection
1091
+ # Specifies connection details for the created product and syncs the
1092
+ # product to the connection source artifact. This automatically
1093
+ # manages the product's artifacts based on changes to the source. The
1094
+ # `SourceConnection` parameter consists of the following sub-fields.
1095
+ #
1096
+ # * `Type`
1097
+ #
1098
+ # * `ConnectionParamters`
1099
+ # @return [Types::SourceConnection]
1100
+ #
1014
1101
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProductInput AWS API Documentation
1015
1102
  #
1016
1103
  class CreateProductInput < Struct.new(
@@ -1025,7 +1112,8 @@ module Aws::ServiceCatalog
1025
1112
  :product_type,
1026
1113
  :tags,
1027
1114
  :provisioning_artifact_parameters,
1028
- :idempotency_token)
1115
+ :idempotency_token,
1116
+ :source_connection)
1029
1117
  SENSITIVE = []
1030
1118
  include Aws::Structure
1031
1119
  end
@@ -1205,7 +1293,7 @@ module Aws::ServiceCatalog
1205
1293
  # parameters: { # required
1206
1294
  # name: "ProvisioningArtifactName",
1207
1295
  # description: "ProvisioningArtifactDescription",
1208
- # info: { # required
1296
+ # info: {
1209
1297
  # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
1210
1298
  # },
1211
1299
  # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE, MARKETPLACE_AMI, MARKETPLACE_CAR
@@ -1261,13 +1349,13 @@ module Aws::ServiceCatalog
1261
1349
  # not both. Keys accepted: \[ `LoadTemplateFromURL`,
1262
1350
  # `ImportFromPhysicalId` \].
1263
1351
  #
1264
- # The URL of the CloudFormation template in Amazon S3, Amazon Web
1265
- # Services CodeCommit, or GitHub in JSON format.
1352
+ # Use the URL of the CloudFormation template in Amazon S3 or GitHub in
1353
+ # JSON format.
1266
1354
  #
1267
1355
  # `LoadTemplateFromURL`
1268
1356
  #
1269
- # Use the URL of the CloudFormation template in Amazon S3, Amazon Web
1270
- # Services CodeCommit, or GitHub in JSON format.
1357
+ # Use the URL of the CloudFormation template in Amazon S3 or GitHub in
1358
+ # JSON format.
1271
1359
  #
1272
1360
  # `ImportFromPhysicalId`
1273
1361
  #
@@ -2418,8 +2506,8 @@ module Aws::ServiceCatalog
2418
2506
  # @return [Types::ProvisioningArtifactDetail]
2419
2507
  #
2420
2508
  # @!attribute [rw] info
2421
- # The URL of the CloudFormation template in Amazon S3, Amazon Web
2422
- # Services CodeCommit, or GitHub in JSON format.
2509
+ # The URL of the CloudFormation template in Amazon S3 or GitHub in
2510
+ # JSON format.
2423
2511
  # @return [Hash<String,String>]
2424
2512
  #
2425
2513
  # @!attribute [rw] status
@@ -2791,6 +2879,7 @@ module Aws::ServiceCatalog
2791
2879
  # accept_language: "AcceptLanguage",
2792
2880
  # portfolio_id: "Id", # required
2793
2881
  # principal_arn: "PrincipalARN", # required
2882
+ # principal_type: "IAM", # accepts IAM, IAM_PATTERN
2794
2883
  # }
2795
2884
  #
2796
2885
  # @!attribute [rw] accept_language
@@ -2808,7 +2897,14 @@ module Aws::ServiceCatalog
2808
2897
  # @return [String]
2809
2898
  #
2810
2899
  # @!attribute [rw] principal_arn
2811
- # The ARN of the principal (IAM user, role, or group).
2900
+ # The ARN of the principal (IAM user, role, or group). This field
2901
+ # allows an ARN with no `accountID` if `PrincipalType` is
2902
+ # `IAM_PATTERN`.
2903
+ # @return [String]
2904
+ #
2905
+ # @!attribute [rw] principal_type
2906
+ # The supported value is `IAM` if you use a fully defined ARN, or
2907
+ # `IAM_PATTERN` if you use no `accountID`.
2812
2908
  # @return [String]
2813
2909
  #
2814
2910
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisassociatePrincipalFromPortfolioInput AWS API Documentation
@@ -2816,7 +2912,8 @@ module Aws::ServiceCatalog
2816
2912
  class DisassociatePrincipalFromPortfolioInput < Struct.new(
2817
2913
  :accept_language,
2818
2914
  :portfolio_id,
2819
- :principal_arn)
2915
+ :principal_arn,
2916
+ :principal_type)
2820
2917
  SENSITIVE = []
2821
2918
  include Aws::Structure
2822
2919
  end
@@ -3336,6 +3433,55 @@ module Aws::ServiceCatalog
3336
3433
  #
3337
3434
  class InvalidStateException < Aws::EmptyStructure; end
3338
3435
 
3436
+ # Provides details about the product's connection sync and contains the
3437
+ # following sub-fields.
3438
+ #
3439
+ # * `LastSyncTime`
3440
+ #
3441
+ # * `LastSyncStatus`
3442
+ #
3443
+ # * `LastSyncStatusMessage`
3444
+ #
3445
+ # * `LastSuccessfulSyncTime`
3446
+ #
3447
+ # * `LastSuccessfulSyncProvisioningArtifactID`
3448
+ #
3449
+ # @!attribute [rw] last_sync_time
3450
+ # The time of the last attempted sync from the repository to the
3451
+ # Service Catalog product.
3452
+ # @return [Time]
3453
+ #
3454
+ # @!attribute [rw] last_sync_status
3455
+ # The current status of the sync. Responses include `SUCCEEDED` or
3456
+ # `FAILED`.
3457
+ # @return [String]
3458
+ #
3459
+ # @!attribute [rw] last_sync_status_message
3460
+ # The sync's status message.
3461
+ # @return [String]
3462
+ #
3463
+ # @!attribute [rw] last_successful_sync_time
3464
+ # The time of the latest successful sync from the source repo artifact
3465
+ # to the Service Catalog product.
3466
+ # @return [Time]
3467
+ #
3468
+ # @!attribute [rw] last_successful_sync_provisioning_artifact_id
3469
+ # The ProvisioningArtifactID of the ProvisioningArtifact created from
3470
+ # the latest successful sync.
3471
+ # @return [String]
3472
+ #
3473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/LastSync AWS API Documentation
3474
+ #
3475
+ class LastSync < Struct.new(
3476
+ :last_sync_time,
3477
+ :last_sync_status,
3478
+ :last_sync_status_message,
3479
+ :last_successful_sync_time,
3480
+ :last_successful_sync_provisioning_artifact_id)
3481
+ SENSITIVE = []
3482
+ include Aws::Structure
3483
+ end
3484
+
3339
3485
  # A launch path object.
3340
3486
  #
3341
3487
  # @!attribute [rw] id
@@ -3966,7 +4112,8 @@ module Aws::ServiceCatalog
3966
4112
  end
3967
4113
 
3968
4114
  # @!attribute [rw] principals
3969
- # The IAM principals (users or roles) associated with the portfolio.
4115
+ # The `PrincipalARN`s and corresponding `PrincipalType`s associated
4116
+ # with the portfolio.
3970
4117
  # @return [Array<Types::Principal>]
3971
4118
  #
3972
4119
  # @!attribute [rw] next_page_token
@@ -4750,7 +4897,7 @@ module Aws::ServiceCatalog
4750
4897
  #
4751
4898
  # @!attribute [rw] principal_id
4752
4899
  # The identifier of the recipient entity that received the portfolio
4753
- # share. The recipient entities can be one of the following:
4900
+ # share. The recipient entity can be one of the following:
4754
4901
  #
4755
4902
  # 1\. An external account.
4756
4903
  #
@@ -4777,13 +4924,19 @@ module Aws::ServiceCatalog
4777
4924
  # portfolio share.
4778
4925
  # @return [Boolean]
4779
4926
  #
4927
+ # @!attribute [rw] share_principals
4928
+ # Indicates if `Principal` sharing is enabled or disabled for the
4929
+ # portfolio share.
4930
+ # @return [Boolean]
4931
+ #
4780
4932
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/PortfolioShareDetail AWS API Documentation
4781
4933
  #
4782
4934
  class PortfolioShareDetail < Struct.new(
4783
4935
  :principal_id,
4784
4936
  :type,
4785
4937
  :accepted,
4786
- :share_tag_options)
4938
+ :share_tag_options,
4939
+ :share_principals)
4787
4940
  SENSITIVE = []
4788
4941
  include Aws::Structure
4789
4942
  end
@@ -4791,11 +4944,14 @@ module Aws::ServiceCatalog
4791
4944
  # Information about a principal.
4792
4945
  #
4793
4946
  # @!attribute [rw] principal_arn
4794
- # The ARN of the principal (IAM user, role, or group).
4947
+ # The ARN of the principal (IAM user, role, or group). This field
4948
+ # allows for an ARN with no `accountID` if the `PrincipalType` is an
4949
+ # `IAM_PATTERN`.
4795
4950
  # @return [String]
4796
4951
  #
4797
4952
  # @!attribute [rw] principal_type
4798
- # The principal type. The supported value is `IAM`.
4953
+ # The principal type. The supported value is `IAM` if you use a fully
4954
+ # defined ARN, or `IAM_PATTERN` if you use an ARN with no `accountID`.
4799
4955
  # @return [String]
4800
4956
  #
4801
4957
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/Principal AWS API Documentation
@@ -4852,13 +5008,23 @@ module Aws::ServiceCatalog
4852
5008
  # The UTC time stamp of the creation time.
4853
5009
  # @return [Time]
4854
5010
  #
5011
+ # @!attribute [rw] source_connection
5012
+ # A top level `ProductViewDetail` response containing details about
5013
+ # the product’s connection. Service Catalog returns this field for the
5014
+ # `CreateProduct`, `UpdateProduct`, `DescribeProductAsAdmin`, and
5015
+ # `SearchProductAsAdmin` APIs. This response contains the same fields
5016
+ # as the `ConnectionParameters` request, with the addition of the
5017
+ # `LastSync` response.
5018
+ # @return [Types::SourceConnectionDetail]
5019
+ #
4855
5020
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProductViewDetail AWS API Documentation
4856
5021
  #
4857
5022
  class ProductViewDetail < Struct.new(
4858
5023
  :product_view_summary,
4859
5024
  :status,
4860
5025
  :product_arn,
4861
- :created_time)
5026
+ :created_time,
5027
+ :source_connection)
4862
5028
  SENSITIVE = []
4863
5029
  include Aws::Structure
4864
5030
  end
@@ -5398,7 +5564,7 @@ module Aws::ServiceCatalog
5398
5564
  # @return [String]
5399
5565
  #
5400
5566
  # @!attribute [rw] updated_time
5401
- # The time when the plan was last updated.
5567
+ # The UTC time stamp when the plan was last updated.
5402
5568
  # @return [Time]
5403
5569
  #
5404
5570
  # @!attribute [rw] notification_arns
@@ -5555,6 +5721,19 @@ module Aws::ServiceCatalog
5555
5721
  # users about which provisioning artifacts to use.
5556
5722
  # @return [String]
5557
5723
  #
5724
+ # @!attribute [rw] source_revision
5725
+ # Specifies the revision of the external artifact that was used to
5726
+ # automatically sync the Service Catalog product and create the
5727
+ # provisioning artifact. Service Catalog includes this response
5728
+ # parameter as a high level field to the existing
5729
+ # `ProvisioningArtifactDetail` type, which is returned as part of the
5730
+ # response for `CreateProduct`, `UpdateProduct`,
5731
+ # `DescribeProductAsAdmin`, `DescribeProvisioningArtifact`,
5732
+ # `ListProvisioningArtifact`, and `UpdateProvisioningArticat` APIs.
5733
+ #
5734
+ # This field only exists for Repo-Synced products.
5735
+ # @return [String]
5736
+ #
5558
5737
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisioningArtifactDetail AWS API Documentation
5559
5738
  #
5560
5739
  class ProvisioningArtifactDetail < Struct.new(
@@ -5564,7 +5743,8 @@ module Aws::ServiceCatalog
5564
5743
  :type,
5565
5744
  :created_time,
5566
5745
  :active,
5567
- :guidance)
5746
+ :guidance,
5747
+ :source_revision)
5568
5748
  SENSITIVE = []
5569
5749
  include Aws::Structure
5570
5750
  end
@@ -5677,7 +5857,7 @@ module Aws::ServiceCatalog
5677
5857
  # {
5678
5858
  # name: "ProvisioningArtifactName",
5679
5859
  # description: "ProvisioningArtifactDescription",
5680
- # info: { # required
5860
+ # info: {
5681
5861
  # "ProvisioningArtifactInfoKey" => "ProvisioningArtifactInfoValue",
5682
5862
  # },
5683
5863
  # type: "CLOUD_FORMATION_TEMPLATE", # accepts CLOUD_FORMATION_TEMPLATE, MARKETPLACE_AMI, MARKETPLACE_CAR
@@ -5699,9 +5879,8 @@ module Aws::ServiceCatalog
5699
5879
  # not both. Keys accepted: \[ `LoadTemplateFromURL`,
5700
5880
  # `ImportFromPhysicalId` \]
5701
5881
  #
5702
- # The URL of the CloudFormation template in Amazon S3, Amazon Web
5703
- # Services CodeCommit, or GitHub in JSON format. Specify the URL in
5704
- # JSON format as follows:
5882
+ # The URL of the CloudFormation template in Amazon S3 or GitHub in
5883
+ # JSON format. Specify the URL in JSON format as follows:
5705
5884
  #
5706
5885
  # `"LoadTemplateFromURL":
5707
5886
  # "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."`
@@ -5725,8 +5904,8 @@ module Aws::ServiceCatalog
5725
5904
  # @return [String]
5726
5905
  #
5727
5906
  # @!attribute [rw] disable_template_validation
5728
- # If set to true, Amazon Web Services Service Catalog stops validating
5729
- # the specified provisioning artifact even if it is invalid.
5907
+ # If set to true, Service Catalog stops validating the specified
5908
+ # provisioning artifact even if it is invalid.
5730
5909
  # @return [Boolean]
5731
5910
  #
5732
5911
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ProvisioningArtifactProperties AWS API Documentation
@@ -6797,6 +6976,106 @@ module Aws::ServiceCatalog
6797
6976
  include Aws::Structure
6798
6977
  end
6799
6978
 
6979
+ # A top level `ProductViewDetail` response containing details about the
6980
+ # product’s connection. Service Catalog returns this field for the
6981
+ # `CreateProduct`, `UpdateProduct`, `DescribeProductAsAdmin`, and
6982
+ # `SearchProductAsAdmin` APIs. This response contains the same fields as
6983
+ # the `ConnectionParameters` request, with the addition of the
6984
+ # `LastSync` response.
6985
+ #
6986
+ # @note When making an API call, you may pass SourceConnection
6987
+ # data as a hash:
6988
+ #
6989
+ # {
6990
+ # type: "CODESTAR", # accepts CODESTAR
6991
+ # connection_parameters: { # required
6992
+ # code_star: {
6993
+ # connection_arn: "CodeStarConnectionArn", # required
6994
+ # repository: "Repository", # required
6995
+ # branch: "RepositoryBranch", # required
6996
+ # artifact_path: "RepositoryArtifactPath", # required
6997
+ # },
6998
+ # },
6999
+ # }
7000
+ #
7001
+ # @!attribute [rw] type
7002
+ # The only supported `SourceConnection` type is Codestar.
7003
+ # @return [String]
7004
+ #
7005
+ # @!attribute [rw] connection_parameters
7006
+ # The connection details based on the connection `Type`.
7007
+ # @return [Types::SourceConnectionParameters]
7008
+ #
7009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SourceConnection AWS API Documentation
7010
+ #
7011
+ class SourceConnection < Struct.new(
7012
+ :type,
7013
+ :connection_parameters)
7014
+ SENSITIVE = []
7015
+ include Aws::Structure
7016
+ end
7017
+
7018
+ # Provides details about the configured `SourceConnection`.
7019
+ #
7020
+ # @!attribute [rw] type
7021
+ # The only supported `SourceConnection` type is Codestar.
7022
+ # @return [String]
7023
+ #
7024
+ # @!attribute [rw] connection_parameters
7025
+ # The connection details based on the connection `Type`.
7026
+ # @return [Types::SourceConnectionParameters]
7027
+ #
7028
+ # @!attribute [rw] last_sync
7029
+ # Provides details about the product's connection sync and contains
7030
+ # the following sub-fields.
7031
+ #
7032
+ # * `LastSyncTime`
7033
+ #
7034
+ # * `LastSyncStatus`
7035
+ #
7036
+ # * `LastSyncStatusMessage`
7037
+ #
7038
+ # * `LastSuccessfulSyncTime`
7039
+ #
7040
+ # * `LastSuccessfulSyncProvisioningArtifactID`
7041
+ # @return [Types::LastSync]
7042
+ #
7043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SourceConnectionDetail AWS API Documentation
7044
+ #
7045
+ class SourceConnectionDetail < Struct.new(
7046
+ :type,
7047
+ :connection_parameters,
7048
+ :last_sync)
7049
+ SENSITIVE = []
7050
+ include Aws::Structure
7051
+ end
7052
+
7053
+ # Provides connection details.
7054
+ #
7055
+ # @note When making an API call, you may pass SourceConnectionParameters
7056
+ # data as a hash:
7057
+ #
7058
+ # {
7059
+ # code_star: {
7060
+ # connection_arn: "CodeStarConnectionArn", # required
7061
+ # repository: "Repository", # required
7062
+ # branch: "RepositoryBranch", # required
7063
+ # artifact_path: "RepositoryArtifactPath", # required
7064
+ # },
7065
+ # }
7066
+ #
7067
+ # @!attribute [rw] code_star
7068
+ # Provides `ConnectionType` details.
7069
+ # @return [Types::CodeStarParameters]
7070
+ #
7071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/SourceConnectionParameters AWS API Documentation
7072
+ #
7073
+ class SourceConnectionParameters < Struct.new(
7074
+ :code_star)
7075
+ SENSITIVE = []
7076
+ include Aws::Structure
7077
+ end
7078
+
6800
7079
  # An CloudFormation stack, in a specific account and Region, that's
6801
7080
  # part of a stack set operation. A stack instance is a reference to an
6802
7081
  # attempted or actual stack in a given account within a given Region. A
@@ -7251,6 +7530,7 @@ module Aws::ServiceCatalog
7251
7530
  # value: "OrganizationNodeValue",
7252
7531
  # },
7253
7532
  # share_tag_options: false,
7533
+ # share_principals: false,
7254
7534
  # }
7255
7535
  #
7256
7536
  # @!attribute [rw] accept_language
@@ -7279,9 +7559,15 @@ module Aws::ServiceCatalog
7279
7559
  # @return [Types::OrganizationNode]
7280
7560
  #
7281
7561
  # @!attribute [rw] share_tag_options
7282
- # A flag to enable or disable TagOptions sharing for the portfolio
7283
- # share. If this field is not provided, the current state of
7284
- # TagOptions sharing on the portfolio share will not be modified.
7562
+ # Enables or disables `TagOptions` sharing for the portfolio share. If
7563
+ # this field is not provided, the current state of TagOptions sharing
7564
+ # on the portfolio share will not be modified.
7565
+ # @return [Boolean]
7566
+ #
7567
+ # @!attribute [rw] share_principals
7568
+ # A flag to enables or disables `Principals` sharing in the portfolio.
7569
+ # If this field is not provided, the current state of the `Principals`
7570
+ # sharing on the portfolio share will not be modified.
7285
7571
  # @return [Boolean]
7286
7572
  #
7287
7573
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdatePortfolioShareInput AWS API Documentation
@@ -7291,7 +7577,8 @@ module Aws::ServiceCatalog
7291
7577
  :portfolio_id,
7292
7578
  :account_id,
7293
7579
  :organization_node,
7294
- :share_tag_options)
7580
+ :share_tag_options,
7581
+ :share_principals)
7295
7582
  SENSITIVE = []
7296
7583
  include Aws::Structure
7297
7584
  end
@@ -7336,6 +7623,17 @@ module Aws::ServiceCatalog
7336
7623
  # },
7337
7624
  # ],
7338
7625
  # remove_tags: ["TagKey"],
7626
+ # source_connection: {
7627
+ # type: "CODESTAR", # accepts CODESTAR
7628
+ # connection_parameters: { # required
7629
+ # code_star: {
7630
+ # connection_arn: "CodeStarConnectionArn", # required
7631
+ # repository: "Repository", # required
7632
+ # branch: "RepositoryBranch", # required
7633
+ # artifact_path: "RepositoryArtifactPath", # required
7634
+ # },
7635
+ # },
7636
+ # },
7339
7637
  # }
7340
7638
  #
7341
7639
  # @!attribute [rw] accept_language
@@ -7388,6 +7686,17 @@ module Aws::ServiceCatalog
7388
7686
  # The tags to remove from the product.
7389
7687
  # @return [Array<String>]
7390
7688
  #
7689
+ # @!attribute [rw] source_connection
7690
+ # Specifies connection details for the updated product and syncs the
7691
+ # product to the connection source artifact. This automatically
7692
+ # manages the product's artifacts based on changes to the source. The
7693
+ # `SourceConnection` parameter consists of the following sub-fields.
7694
+ #
7695
+ # * `Type`
7696
+ #
7697
+ # * `ConnectionParamters`
7698
+ # @return [Types::SourceConnection]
7699
+ #
7391
7700
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProductInput AWS API Documentation
7392
7701
  #
7393
7702
  class UpdateProductInput < Struct.new(
@@ -7401,7 +7710,8 @@ module Aws::ServiceCatalog
7401
7710
  :support_email,
7402
7711
  :support_url,
7403
7712
  :add_tags,
7404
- :remove_tags)
7713
+ :remove_tags,
7714
+ :source_connection)
7405
7715
  SENSITIVE = []
7406
7716
  include Aws::Structure
7407
7717
  end
@@ -7750,8 +8060,8 @@ module Aws::ServiceCatalog
7750
8060
  # @return [Types::ProvisioningArtifactDetail]
7751
8061
  #
7752
8062
  # @!attribute [rw] info
7753
- # The URL of the CloudFormation template in Amazon S3, Amazon Web
7754
- # Services CodeCommit, or GitHub in JSON format.
8063
+ # The URL of the CloudFormation template in Amazon S3 or GitHub in
8064
+ # JSON format.
7755
8065
  # @return [Hash<String,String>]
7756
8066
  #
7757
8067
  # @!attribute [rw] status
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-servicecatalog/customizations'
52
52
  # @!group service
53
53
  module Aws::ServiceCatalog
54
54
 
55
- GEM_VERSION = '1.73.0'
55
+ GEM_VERSION = '1.74.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-servicecatalog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.73.0
4
+ version: 1.74.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-25 00:00:00.000000000 Z
11
+ date: 2022-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core