From 8b5eba40823866912cea9a827903de95c495f0fb Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 14 Apr 2023 18:15:07 +0000 Subject: [PATCH] docs(client-migration-hub-refactor-spaces): Doc only update for Refactor Spaces environments without network bridge feature. --- .../src/MigrationHubRefactorSpaces.ts | 95 ++- .../src/commands/CreateApplicationCommand.ts | 5 + .../src/commands/CreateEnvironmentCommand.ts | 8 +- .../src/commands/CreateRouteCommand.ts | 82 +- .../src/endpoint/EndpointParameters.ts | 2 +- .../src/endpoint/ruleset.ts | 39 +- .../src/models/models_0.ts | 6 +- .../migration-hub-refactor-spaces.json | 734 +++++++++++++----- 8 files changed, 671 insertions(+), 300 deletions(-) diff --git a/clients/client-migration-hub-refactor-spaces/src/MigrationHubRefactorSpaces.ts b/clients/client-migration-hub-refactor-spaces/src/MigrationHubRefactorSpaces.ts index b20c7e6a3f59..1082c933fb32 100644 --- a/clients/client-migration-hub-refactor-spaces/src/MigrationHubRefactorSpaces.ts +++ b/clients/client-migration-hub-refactor-spaces/src/MigrationHubRefactorSpaces.ts @@ -113,6 +113,11 @@ export class MigrationHubRefactorSpaces extends MigrationHubRefactorSpacesClient * applications created inside the environment, regardless of the account that creates the * application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and * Network Load Balancer for the application proxy inside your account.

+ *

In environments created with a CreateEnvironment:NetworkFabricType of NONE you need to configure + * VPC to VPC connectivity between your service VPC and the application proxy VPC to + * route traffic through the application proxy to a service with a private URL endpoint. For more + * information, see + * Create an application in the Refactor Spaces User Guide.

*/ public createApplication( args: CreateApplicationCommandInput, @@ -150,9 +155,11 @@ export class MigrationHubRefactorSpaces extends MigrationHubRefactorSpacesClient * to as the environment owner. The environment owner has cross-account * visibility and control of Refactor Spaces resources that are added to the environment by other * accounts that the environment is shared with.

- *

When creating an environment with - * a network fabric type of TRANSIT_GATEWAY, - * Refactor Spaces provisions a transit gateway in your account.

+ *

When creating an environment with a CreateEnvironment:NetworkFabricType of TRANSIT_GATEWAY, Refactor Spaces + * provisions a transit gateway to enable services in VPCs to communicate directly across + * accounts. If CreateEnvironment:NetworkFabricType is NONE, Refactor Spaces does not create + * a transit gateway and you must use your network infrastructure to route traffic to services + * with private URL endpoints.

*/ public createEnvironment( args: CreateEnvironmentCommandInput, @@ -198,45 +205,65 @@ export class MigrationHubRefactorSpaces extends MigrationHubRefactorSpacesClient * to the target service as follows:

* - *

A one-time health check is performed on the service when either the route is updated from - * inactive to active, or when it is created with an active state. If the health check fails, the - * route transitions the route state to FAILED, an error code of - * SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE is provided, and no traffic is sent to - * the service.

- *

For Lambda functions, the Lambda function state is checked. If the - * function is not active, the function configuration is updated so that Lambda - * resources are provisioned. If the Lambda state is Failed, then the - * route creation fails. For more information, see the GetFunctionConfiguration's State response parameter in the Lambda Developer Guide.

- *

For Lambda endpoints, a check is performed to determine that a Lambda function with the - * specified ARN exists. If it does not exist, the health check fails. For public URLs, a - * connection is opened to the public endpoint. If the URL is not reachable, the health check - * fails.

- *

Refactor Spaces automatically resolves the public Domain Name System (DNS) names that are set in - * CreateServiceRequest$UrlEndpoint when you create a service. The DNS names - * resolve when the DNS time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 - * seconds. This periodic DNS resolution ensures that the route configuration remains up-to-date.

- *

For private URLS, a target group is created on the Elastic Load Balancing and the target - * group health check is run. The HealthCheckProtocol, HealthCheckPort, - * and HealthCheckPath are the same protocol, port, and path specified in the URL or - * health URL, if used. All other settings use the default values, as described in Health checks - * for your target groups. The health check is considered successful if at least one - * target within the target group transitions to a healthy state.

- *

Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs, publicly-signed - * certificates are supported. Private Certificate Authorities (CAs) are permitted only if the - * CA's domain is also publicly resolvable.

+ *

+ * Environments without a network bridge + *

+ *

When you create environments without a network bridge (CreateEnvironment:NetworkFabricType is NONE) and you use your own + * networking infrastructure, you need to configure VPC to VPC connectivity between your network and the application proxy VPC. Route + * creation from the application proxy to service endpoints will fail if your network is not + * configured to connect to the application proxy VPC. For more information, see Create + * a route in the Refactor Spaces User Guide.

+ *

*/ public createRoute(args: CreateRouteCommandInput, options?: __HttpHandlerOptions): Promise; public createRoute(args: CreateRouteCommandInput, cb: (err: any, data?: CreateRouteCommandOutput) => void): void; diff --git a/clients/client-migration-hub-refactor-spaces/src/commands/CreateApplicationCommand.ts b/clients/client-migration-hub-refactor-spaces/src/commands/CreateApplicationCommand.ts index c59984349ae7..9e044a4a525b 100644 --- a/clients/client-migration-hub-refactor-spaces/src/commands/CreateApplicationCommand.ts +++ b/clients/client-migration-hub-refactor-spaces/src/commands/CreateApplicationCommand.ts @@ -45,6 +45,11 @@ export interface CreateApplicationCommandOutput extends CreateApplicationRespons * applications created inside the environment, regardless of the account that creates the * application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and * Network Load Balancer for the application proxy inside your account.

+ *

In environments created with a CreateEnvironment:NetworkFabricType of NONE you need to configure + * VPC to VPC connectivity between your service VPC and the application proxy VPC to + * route traffic through the application proxy to a service with a private URL endpoint. For more + * information, see + * Create an application in the Refactor Spaces User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-migration-hub-refactor-spaces/src/commands/CreateEnvironmentCommand.ts b/clients/client-migration-hub-refactor-spaces/src/commands/CreateEnvironmentCommand.ts index 6d32fd40594f..8ccb9f4b2c99 100644 --- a/clients/client-migration-hub-refactor-spaces/src/commands/CreateEnvironmentCommand.ts +++ b/clients/client-migration-hub-refactor-spaces/src/commands/CreateEnvironmentCommand.ts @@ -46,9 +46,11 @@ export interface CreateEnvironmentCommandOutput extends CreateEnvironmentRespons * to as the environment owner. The environment owner has cross-account * visibility and control of Refactor Spaces resources that are added to the environment by other * accounts that the environment is shared with.

- *

When creating an environment with - * a network fabric type of TRANSIT_GATEWAY, - * Refactor Spaces provisions a transit gateway in your account.

+ *

When creating an environment with a CreateEnvironment:NetworkFabricType of TRANSIT_GATEWAY, Refactor Spaces + * provisions a transit gateway to enable services in VPCs to communicate directly across + * accounts. If CreateEnvironment:NetworkFabricType is NONE, Refactor Spaces does not create + * a transit gateway and you must use your network infrastructure to route traffic to services + * with private URL endpoints.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-migration-hub-refactor-spaces/src/commands/CreateRouteCommand.ts b/clients/client-migration-hub-refactor-spaces/src/commands/CreateRouteCommand.ts index 52cae8bd0f07..7ffaf7699b52 100644 --- a/clients/client-migration-hub-refactor-spaces/src/commands/CreateRouteCommand.ts +++ b/clients/client-migration-hub-refactor-spaces/src/commands/CreateRouteCommand.ts @@ -54,45 +54,65 @@ export interface CreateRouteCommandOutput extends CreateRouteResponse, __Metadat * to the target service as follows:

* - *

A one-time health check is performed on the service when either the route is updated from - * inactive to active, or when it is created with an active state. If the health check fails, the - * route transitions the route state to FAILED, an error code of - * SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE is provided, and no traffic is sent to - * the service.

- *

For Lambda functions, the Lambda function state is checked. If the - * function is not active, the function configuration is updated so that Lambda - * resources are provisioned. If the Lambda state is Failed, then the - * route creation fails. For more information, see the GetFunctionConfiguration's State response parameter in the Lambda Developer Guide.

- *

For Lambda endpoints, a check is performed to determine that a Lambda function with the - * specified ARN exists. If it does not exist, the health check fails. For public URLs, a - * connection is opened to the public endpoint. If the URL is not reachable, the health check - * fails.

- *

Refactor Spaces automatically resolves the public Domain Name System (DNS) names that are set in - * CreateServiceRequest$UrlEndpoint when you create a service. The DNS names - * resolve when the DNS time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 - * seconds. This periodic DNS resolution ensures that the route configuration remains up-to-date.

- *

For private URLS, a target group is created on the Elastic Load Balancing and the target - * group health check is run. The HealthCheckProtocol, HealthCheckPort, - * and HealthCheckPath are the same protocol, port, and path specified in the URL or - * health URL, if used. All other settings use the default values, as described in Health checks - * for your target groups. The health check is considered successful if at least one - * target within the target group transitions to a healthy state.

- *

Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs, publicly-signed - * certificates are supported. Private Certificate Authorities (CAs) are permitted only if the - * CA's domain is also publicly resolvable.

+ *

+ * Environments without a network bridge + *

+ *

When you create environments without a network bridge (CreateEnvironment:NetworkFabricType is NONE) and you use your own + * networking infrastructure, you need to configure VPC to VPC connectivity between your network and the application proxy VPC. Route + * creation from the application proxy to service endpoints will fail if your network is not + * configured to connect to the application proxy VPC. For more information, see Create + * a route in the Refactor Spaces User Guide.

+ *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-migration-hub-refactor-spaces/src/endpoint/EndpointParameters.ts b/clients/client-migration-hub-refactor-spaces/src/endpoint/EndpointParameters.ts index d3529348b3a5..da9b791b2ab2 100644 --- a/clients/client-migration-hub-refactor-spaces/src/endpoint/EndpointParameters.ts +++ b/clients/client-migration-hub-refactor-spaces/src/endpoint/EndpointParameters.ts @@ -24,7 +24,7 @@ export const resolveClientEndpointParameters = ( }; export interface EndpointParameters extends __EndpointParameters { - Region: string; + Region?: string; UseDualStack?: boolean; UseFIPS?: boolean; Endpoint?: string; diff --git a/clients/client-migration-hub-refactor-spaces/src/endpoint/ruleset.ts b/clients/client-migration-hub-refactor-spaces/src/endpoint/ruleset.ts index 55c7085a95ca..8d5a5e10fec9 100644 --- a/clients/client-migration-hub-refactor-spaces/src/endpoint/ruleset.ts +++ b/clients/client-migration-hub-refactor-spaces/src/endpoint/ruleset.ts @@ -6,24 +6,25 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json */ -const q="fn", -r="argv", -s="ref"; -const a=true, -b=false, -c="String", -d="PartitionResult", -e="tree", -f="error", -g="endpoint", -h={"required":true,"default":false,"type":"Boolean"}, -i={[s]:"Endpoint"}, -j={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -k={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, -l={}, -m={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsFIPS"]}]}, -n={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsDualStack"]}]}, +const q="required", +r="fn", +s="argv", +t="ref"; +const a="isSet", +b="tree", +c="error", +d="endpoint", +e="PartitionResult", +f={[q]:false,"type":"String"}, +g={[q]:true,"default":false,"type":"Boolean"}, +h={[t]:"Endpoint"}, +i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]}, +j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]}, +k={}, +l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]}, +m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]}, +n=[i], o=[j], -p=[k]; -const _data={version:"1.0",parameters:{Region:{required:a,type:c},UseDualStack:h,UseFIPS:h,Endpoint:{required:b,type:c}},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:d}],type:e,rules:[{conditions:[{[q]:"isSet",[r]:[i]}],type:e,rules:[{conditions:o,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:f},{type:e,rules:[{conditions:p,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:f},{endpoint:{url:i,properties:l,headers:l},type:g}]}]},{conditions:[j,k],type:e,rules:[{conditions:[m,n],type:e,rules:[{endpoint:{url:"https://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:f}]},{conditions:o,type:e,rules:[{conditions:[m],type:e,rules:[{endpoint:{url:"https://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]},{error:"FIPS is enabled but this partition does not support FIPS",type:f}]},{conditions:p,type:e,rules:[{conditions:[n],type:e,rules:[{endpoint:{url:"https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"DualStack is enabled but this partition does not support DualStack",type:f}]},{endpoint:{url:"https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]}; +p=[{[t]:"Region"}]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-migration-hub-refactor-spaces/src/models/models_0.ts b/clients/client-migration-hub-refactor-spaces/src/models/models_0.ts index 4485f702bab5..4ef0c6a9839b 100644 --- a/clients/client-migration-hub-refactor-spaces/src/models/models_0.ts +++ b/clients/client-migration-hub-refactor-spaces/src/models/models_0.ts @@ -766,7 +766,7 @@ export interface CreateEnvironmentResponse { Tags?: Record; /** - *

A timestamp that indicates when the environment was last updated.

+ *

A timestamp that indicates when the environment was last updated.

*/ LastUpdatedTime?: Date; @@ -1475,7 +1475,7 @@ export interface EnvironmentSummary { OwnerAccountId?: string; /** - *

The ID of the transit gateway set up by the environment.

+ *

The ID of the Transit Gateway set up by the environment.

*/ TransitGatewayId?: string; @@ -1683,7 +1683,7 @@ export interface GetEnvironmentResponse { OwnerAccountId?: string; /** - *

The ID of the transit gateway set up by the environment.

+ *

The ID of the Transit Gateway set up by the environment, if applicable.

*/ TransitGatewayId?: string; diff --git a/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json b/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json index 85fb699c06c5..52595374bd47 100644 --- a/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json +++ b/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json @@ -433,7 +433,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces application. The account that owns the environment also owns the\n applications created inside the environment, regardless of the account that creates the\n application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and\n Network Load Balancer for the application proxy inside your account.

", + "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces application. The account that owns the environment also owns the\n applications created inside the environment, regardless of the account that creates the\n application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and\n Network Load Balancer for the application proxy inside your account.

\n

In environments created with a CreateEnvironment:NetworkFabricType of NONE you need to configure\n VPC to VPC connectivity between your service VPC and the application proxy VPC to\n route traffic through the application proxy to a service with a private URL endpoint. For more\n information, see \n Create an application in the Refactor Spaces User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/environments/{EnvironmentIdentifier}/applications", @@ -609,7 +609,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces environment. The caller owns the environment resource, and all\n Refactor Spaces applications, services, and routes created within the environment. They are referred\n to as the environment owner. The environment owner has cross-account\n visibility and control of Refactor Spaces resources that are added to the environment by other\n accounts that the environment is shared with.

\n

When creating an environment with \n a network fabric type of TRANSIT_GATEWAY, \n Refactor Spaces provisions a transit gateway in your account.

", + "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces environment. The caller owns the environment resource, and all\n Refactor Spaces applications, services, and routes created within the environment. They are referred\n to as the environment owner. The environment owner has cross-account\n visibility and control of Refactor Spaces resources that are added to the environment by other\n accounts that the environment is shared with.

\n

When creating an environment with a CreateEnvironment:NetworkFabricType of TRANSIT_GATEWAY, Refactor Spaces\n provisions a transit gateway to enable services in VPCs to communicate directly across\n accounts. If CreateEnvironment:NetworkFabricType is NONE, Refactor Spaces does not create\n a transit gateway and you must use your network infrastructure to route traffic to services\n with private URL endpoints.

", "smithy.api#http": { "method": "POST", "uri": "/environments", @@ -709,7 +709,7 @@ "LastUpdatedTime": { "target": "com.amazonaws.migrationhubrefactorspaces#Timestamp", "traits": { - "smithy.api#documentation": "

A timestamp that indicates when the environment was last updated.

" + "smithy.api#documentation": "

A timestamp that indicates when the environment was last updated.

" } }, "CreatedTime": { @@ -752,7 +752,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces route. The account owner of the service resource is always the\n environment owner, regardless of which account creates the route. Routes target a service in\n the application. If an application does not have any routes, then the first route must be\n created as a DEFAULT\n RouteType.

\n

When created, the default route defaults to an active state so state is not a required\n input. However, like all other state values the state of the default route can be updated\n after creation, but only when all other routes are also inactive. Conversely, no route can be\n active without the default route also being active.

\n

When you create a route, Refactor Spaces configures the Amazon API Gateway to send traffic\n to the target service as follows:

\n \n

A one-time health check is performed on the service when either the route is updated from\n inactive to active, or when it is created with an active state. If the health check fails, the\n route transitions the route state to FAILED, an error code of\n SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE is provided, and no traffic is sent to\n the service.

\n

For Lambda functions, the Lambda function state is checked. If the\n function is not active, the function configuration is updated so that Lambda\n resources are provisioned. If the Lambda state is Failed, then the\n route creation fails. For more information, see the GetFunctionConfiguration's State response parameter in the Lambda Developer Guide.

\n

For Lambda endpoints, a check is performed to determine that a Lambda function with the\n specified ARN exists. If it does not exist, the health check fails. For public URLs, a\n connection is opened to the public endpoint. If the URL is not reachable, the health check\n fails.

\n

Refactor Spaces automatically resolves the public Domain Name System (DNS) names that are set in\n CreateServiceRequest$UrlEndpoint when you create a service. The DNS names\n resolve when the DNS time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60\n seconds. This periodic DNS resolution ensures that the route configuration remains up-to-date.

\n

For private URLS, a target group is created on the Elastic Load Balancing and the target\n group health check is run. The HealthCheckProtocol, HealthCheckPort,\n and HealthCheckPath are the same protocol, port, and path specified in the URL or\n health URL, if used. All other settings use the default values, as described in Health checks\n for your target groups. The health check is considered successful if at least one\n target within the target group transitions to a healthy state.

\n

Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs, publicly-signed\n certificates are supported. Private Certificate Authorities (CAs) are permitted only if the\n CA's domain is also publicly resolvable.

", + "smithy.api#documentation": "

Creates an Amazon Web Services Migration Hub Refactor Spaces route. The account owner of the service resource is always the\n environment owner, regardless of which account creates the route. Routes target a service in\n the application. If an application does not have any routes, then the first route must be\n created as a DEFAULT\n RouteType.

\n

When created, the default route defaults to an active state so state is not a required\n input. However, like all other state values the state of the default route can be updated\n after creation, but only when all other routes are also inactive. Conversely, no route can be\n active without the default route also being active.

\n

When you create a route, Refactor Spaces configures the Amazon API Gateway to send traffic\n to the target service as follows:

\n \n

\n Environments without a network bridge\n

\n

When you create environments without a network bridge (CreateEnvironment:NetworkFabricType is NONE) and you use your own\n networking infrastructure, you need to configure VPC to VPC connectivity between your network and the application proxy VPC. Route\n creation from the application proxy to service endpoints will fail if your network is not\n configured to connect to the application proxy VPC. For more information, see Create\n a route in the Refactor Spaces User Guide.

\n

", "smithy.api#http": { "method": "POST", "uri": "/environments/{EnvironmentIdentifier}/applications/{ApplicationIdentifier}/routes", @@ -1695,7 +1695,7 @@ "TransitGatewayId": { "target": "com.amazonaws.migrationhubrefactorspaces#TransitGatewayId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway set up by the environment.

" + "smithy.api#documentation": "

The ID of the Transit Gateway set up by the environment.

" } }, "State": { @@ -2216,7 +2216,7 @@ "TransitGatewayId": { "target": "com.amazonaws.migrationhubrefactorspaces#TransitGatewayId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway set up by the environment.

" + "smithy.api#documentation": "

The ID of the Transit Gateway set up by the environment, if applicable.

" } }, "State": { @@ -2819,8 +2819,8 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ApplicationSummaryList", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "ApplicationSummaryList" }, "smithy.api#readonly": {} } @@ -2904,8 +2904,8 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "EnvironmentVpcList", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "EnvironmentVpcList" }, "smithy.api#readonly": {} } @@ -2989,8 +2989,8 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "EnvironmentSummaryList", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "EnvironmentSummaryList" }, "smithy.api#readonly": {} } @@ -3072,8 +3072,8 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "RouteSummaryList", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "RouteSummaryList" }, "smithy.api#readonly": {} } @@ -3171,8 +3171,8 @@ "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "ServiceSummaryList", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "ServiceSummaryList" }, "smithy.api#readonly": {} } @@ -3252,8 +3252,7 @@ "smithy.api#documentation": "

Lists the tags of a resource. The caller account must be the same as the resource’s\n OwnerAccountId. Listing tags in other accounts is not supported.

", "smithy.api#http": { "method": "GET", - "uri": "/tags/{ResourceArn}", - "code": 200 + "uri": "/tags/{ResourceArn}" }, "smithy.api#readonly": {} } @@ -3526,25 +3525,23 @@ "traits": { "aws.api#service": { "sdkId": "Migration Hub Refactor Spaces", - "arnNamespace": "refactor-spaces", - "cloudFormationName": "RefactorSpaces", - "cloudTrailEventSource": "refactor-spaces.amazonaws.com", - "endpointPrefix": "refactor-spaces" + "arnNamespace": "refactor-spaces" }, "aws.auth#sigv4": { "name": "refactor-spaces" }, "aws.protocols#restJson1": {}, "smithy.api#cors": { - "additionalAllowedHeaders": ["content-type"], "additionalExposedHeaders": [ - "date", - "x-amz-apigw-id", - "x-amzn-trace-id", "x-amzn-errortype", "x-amzn-requestid", - "x-amzn-errormessage" - ] + "x-amzn-errormessage", + "x-amzn-trace-id", + "x-amz-apigw-id", + "date" + ], + "additionalAllowedHeaders": ["content-type"], + "origin": "*" }, "smithy.api#documentation": "Amazon Web Services Migration Hub Refactor Spaces\n

This API reference provides descriptions, syntax, and other details about each of the\n actions and data types for Amazon Web Services Migration Hub Refactor Spaces (Refactor Spaces). The topic for each action shows the API\n request parameters and the response. Alternatively, you can use one of the Amazon Web Services SDKs to\n access an API that is tailored to the programming language or platform that you're using. For\n more information, see Amazon Web Services SDKs.

\n

To share Refactor Spaces environments with other Amazon Web Services accounts or with Organizations\n and their OUs, use Resource Access Manager's CreateResourceShare API. See CreateResourceShare in the Amazon Web Services RAM API Reference.

", "smithy.api#title": "AWS Migration Hub Refactor Spaces", @@ -3553,7 +3550,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -3582,13 +3579,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -3596,14 +3592,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -3612,67 +3614,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -3681,168 +3658,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsDualStack" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -3851,7 +3898,259 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://refactor-spaces.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -3859,8 +4158,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -3871,8 +4183,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -3883,10 +4195,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -4436,8 +4754,7 @@ "smithy.api#documentation": "

Removes the tags of a given resource. Tags are metadata which can be used to manage a\n resource. To tag a resource, the caller account must be the same as the resource’s\n OwnerAccountId. Tagging resources in other accounts is not supported.

\n \n

Amazon Web Services Migration Hub Refactor Spaces does not propagate tags to orchestrated resources, such as an\n environment’s transit gateway.

\n
", "smithy.api#http": { "method": "POST", - "uri": "/tags/{ResourceArn}", - "code": 200 + "uri": "/tags/{ResourceArn}" } } }, @@ -4537,8 +4854,7 @@ "smithy.api#documentation": "

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to\n manage a resource. To untag a resource, the caller account must be the same as the resource’s\n OwnerAccountId. Untagging resources across accounts is not supported.

", "smithy.api#http": { "method": "DELETE", - "uri": "/tags/{ResourceArn}", - "code": 200 + "uri": "/tags/{ResourceArn}" }, "smithy.api#idempotent": {} }